Difference between revisions of "GenerateRoyalPages"
Jump to navigation
Jump to search
(Created page with "{{Action |name=GenerateRoyalPages |servicetype=WikiTask |inputtype=Page |input=Royal92#sidif |actionpage={{FULLPAGENAME}}#template |output=Royal92/pages |engine=rythm |author=...") |
|||
(25 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{Action | + | __NOCACHE__{{Action |
|name=GenerateRoyalPages | |name=GenerateRoyalPages | ||
|servicetype=WikiTask | |servicetype=WikiTask | ||
Line 12: | Line 12: | ||
|storemode=property | |storemode=property | ||
}} | }} | ||
− | + | = template = | |
+ | <source lang='java' id='dialog'> | ||
+ | @// This is a rythm template | ||
+ | @import org.sidif.triple.TripleQuery | ||
+ | @import org.sidif.triple.Triple | ||
+ | @import org.sidif.wiki.SSLWiki | ||
+ | @import com.bitplan.topic.ContextSetting.TripleStoreMode | ||
+ | @import com.alibaba.fastjson.JSON | ||
+ | @import com.bitplan.mediawiki.japi.MediawikiApi | ||
+ | @import com.bitplan.mediawiki.japi.Mediawiki | ||
+ | @import com.bitplan.mediawiki.japi.api.Api | ||
+ | @include(wiki.PersonJava.Code) | ||
+ | @args() { | ||
+ | String title | ||
+ | String logo | ||
+ | org.sidif.wiki.WikiTask wikiTask | ||
+ | org.sidif.triple.TripleStore tripleStore | ||
+ | } | ||
+ | @// get the Stacktrace | ||
+ | @def getStackTrace(Throwable th) { | ||
+ | @{ | ||
+ | StringWriter sw = new StringWriter(); | ||
+ | PrintWriter pw = new PrintWriter(sw); | ||
+ | th.printStackTrace(pw); | ||
+ | String sStackTrace = sw.toString(); | ||
+ | } | ||
+ | @(sStackTrace) | ||
+ | } | ||
+ | @// handle error | ||
+ | @def handleError(Throwable th) { | ||
+ | <span style='color:red'>Error: @(th.getClass().getName()): @(th.getMessage())</span> | ||
+ | === stacktrace === | ||
+ | <pre> | ||
+ | @getStackTrace(th) | ||
+ | </pre> | ||
+ | } | ||
+ | @// create the given person | ||
+ | @def createPerson(Person p) { | ||
+ | # [[@(p.getName())]] | ||
+ | @{ | ||
+ | Throwable error=null; | ||
+ | try { | ||
+ | String pageTitle=p.getName(); | ||
+ | SSLWiki wiki=(SSLWiki)wikiTask.getWiki(); | ||
+ | String pageContent=p.toWikiSon(); | ||
+ | String summary="generated by GenerateRoyalPages at "+wiki.getIsoTimeStamp(); | ||
+ | wiki.edit(pageTitle,pageContent,summary); | ||
+ | } catch (Throwable th) { | ||
+ | error=th; | ||
+ | } | ||
+ | } | ||
+ | @if (error) { | ||
+ | @handleError(error) | ||
+ | } | ||
+ | } | ||
+ | @{ | ||
+ | TripleQuery query=tripleStore.query(); | ||
+ | PersonManager pm=new PersonManager(query); | ||
+ | FamilyManager fm=new FamilyManager(query); | ||
+ | int pCount=0; | ||
+ | int pMax=3; | ||
+ | //Triple contextTriple=query.selectSingle(null,"isA","Context"); | ||
+ | //String contextName=contextTriple.getSubject().toString(); | ||
+ | //Triple sidifTriple=query.selectSingle(contextName,"sidif", null); | ||
+ | //String contextSidif=sidifTriple.getObject().toString(); | ||
+ | } | ||
+ | @(wikiTask.getWiki().getIsoTimeStamp()) | ||
+ | *@(query.size()) triples found | ||
+ | *@(pm.getPersons().size()) persons found | ||
+ | *@(fm.getFamilies().size()) families found | ||
+ | @for (Person p:pm.getPersons()) { | ||
+ | @createPerson(p) | ||
+ | @{ | ||
+ | pCount++; | ||
+ | if (pCount>=pMax) { | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | {{#default_form:Action}} | ||
+ | = Links = | ||
+ | * {{Link|target=Royal92#sidif}} | ||
+ | * {{Link|target=PersonJava}} | ||
* {{Link|target=Concept:Action}} | * {{Link|target=Concept:Action}} | ||
* {{Link|target=Template:Action}} | * {{Link|target=Template:Action}} | ||
* {{Link|target=Template:Wikitask}} | * {{Link|target=Template:Wikitask}} | ||
+ | <headertabs/> |
Latest revision as of 08:57, 6 October 2017
Action | |
---|---|
edit | |
name | GenerateRoyalPages |
servicetype | WikiTask |
service | |
inputtype | Page |
input | Royal92#sidif |
actionpage | GenerateRoyalPages#template |
output | Royal92/pages |
engine | rythm |
author | Wf |
since | 2017/10/06 |
comment | Create wiki pages for Royal-Family |
login reset runtemplate -> Royal92/pages