Difference between revisions of "GenerateRoyalPages"
Jump to navigation
Jump to search
(23 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 = | = template = | ||
<source lang='java' id='dialog'> | <source lang='java' id='dialog'> | ||
Line 24: | Line 23: | ||
@import com.bitplan.mediawiki.japi.Mediawiki | @import com.bitplan.mediawiki.japi.Mediawiki | ||
@import com.bitplan.mediawiki.japi.api.Api | @import com.bitplan.mediawiki.japi.api.Api | ||
− | @include(wiki. | + | @include(wiki.PersonJava.Code) |
@args() { | @args() { | ||
String title | String title | ||
Line 31: | Line 30: | ||
org.sidif.triple.TripleStore tripleStore | 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; | Throwable error=null; | ||
− | try { | + | try { |
− | + | String pageTitle=p.getName(); | |
− | |||
− | String | ||
− | |||
SSLWiki wiki=(SSLWiki)wikiTask.getWiki(); | SSLWiki wiki=(SSLWiki)wikiTask.getWiki(); | ||
− | String | + | String pageContent=p.toWikiSon(); |
− | + | String summary="generated by GenerateRoyalPages at "+wiki.getIsoTimeStamp(); | |
− | + | wiki.edit(pageTitle,pageContent,summary); | |
− | |||
− | |||
} catch (Throwable th) { | } catch (Throwable th) { | ||
error=th; | error=th; | ||
Line 64: | Line 64: | ||
} | } | ||
@if (error) { | @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> | </source> | ||
{{#default_form:Action}} | {{#default_form:Action}} | ||
+ | |||
= Links = | = 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/> | <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