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 | |
|---|---|
| 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