Difference between revisions of "Concept:Seminar/Java"
Jump to navigation
Jump to search
(created by WikiTask 2017-09-14T13:05:45Z) |
m (created by WikiTask 2017-12-09T14:23:48Z) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 37: | Line 37: | ||
/** | /** | ||
− | * get the | + | * get the SiDIF representation of the given property |
* | * | ||
− | * @param name | + | * @param name - the name of the property |
− | * @param value | + | * @param value - the value of the property |
− | * @return | + | * @param type - the type of the property |
+ | * @return - the SiDIF Sting representation of the property | ||
*/ | */ | ||
public static String propertySiDIF(String name, String value, String type) { | public static String propertySiDIF(String name, String value, String type) { | ||
− | // default is | + | // default is a comment line which can be filled by uncommenting |
− | String result = ""; | + | String result = String.format("# is is %s of it\n",name);; |
// if the value is not empty | // if the value is not empty | ||
if ((value != null) && (!("".equals(value.trim())))) { | if ((value != null) && (!("".equals(value.trim())))) { | ||
Line 56: | Line 57: | ||
// create a SIDIF Property line like | // create a SIDIF Property line like | ||
// "John" is lastname of it | // "John" is lastname of it | ||
− | + | // convert double quotes to single quotes - FIXME - should we escape instead? | |
+ | value=value.replace("\"","'"); | ||
+ | result = String.format("%s%s%s is %s of it\n",quote,value,quote,name); | ||
} | } | ||
// return the SiDIF property line | // return the SiDIF property line | ||
Line 96: | Line 99: | ||
} // TopicBase | } // TopicBase | ||
/** | /** | ||
− | * | + | * Seminar |
− | * | + | * Ein Seminar ist die Durchfuehrung einer Ausbildungsveranstaltung an einem bestimmten Ort in einem bestimmten Zeitraum zu einem bestimmten Thema |
*/ | */ | ||
− | public static class | + | public static class Seminar extends TopicBase { |
− | public String | + | public String kind; |
− | public String | + | public String lang; |
− | public String | + | public String year; |
+ | public String month; | ||
+ | public String price; | ||
+ | public String inHouse; | ||
+ | public String exam_fee; | ||
+ | public String from; | ||
+ | public String modeldayprice; | ||
+ | public String to; | ||
+ | public String title; | ||
+ | public String contact; | ||
+ | public String customer; | ||
+ | public String documentation; | ||
+ | public String trainer; | ||
+ | public String city; | ||
+ | public String thema; | ||
− | public String | + | public String getKind() { return kind; } |
− | public void | + | public void setKind(String pKind) { kind=pKind; } |
− | public String | + | public String getLang() { return lang; } |
− | public void | + | public void setLang(String pLang) { lang=pLang; } |
− | public String | + | public String getYear() { return year; } |
− | public void | + | public void setYear(String pYear) { year=pYear; } |
+ | public String getMonth() { return month; } | ||
+ | public void setMonth(String pMonth) { month=pMonth; } | ||
+ | public String getPrice() { return price; } | ||
+ | public void setPrice(String pPrice) { price=pPrice; } | ||
+ | public String getInHouse() { return inHouse; } | ||
+ | public void setInHouse(String pInHouse) { inHouse=pInHouse; } | ||
+ | public String getExam_fee() { return exam_fee; } | ||
+ | public void setExam_fee(String pExam_fee) { exam_fee=pExam_fee; } | ||
+ | public String getFrom() { return from; } | ||
+ | public void setFrom(String pFrom) { from=pFrom; } | ||
+ | public String getModeldayprice() { return modeldayprice; } | ||
+ | public void setModeldayprice(String pModeldayprice) { modeldayprice=pModeldayprice; } | ||
+ | public String getTo() { return to; } | ||
+ | public void setTo(String pTo) { to=pTo; } | ||
+ | public String getTitle() { return title; } | ||
+ | public void setTitle(String pTitle) { title=pTitle; } | ||
+ | public String getContact() { return contact; } | ||
+ | public void setContact(String pContact) { contact=pContact; } | ||
+ | public String getCustomer() { return customer; } | ||
+ | public void setCustomer(String pCustomer) { customer=pCustomer; } | ||
+ | public String getDocumentation() { return documentation; } | ||
+ | public void setDocumentation(String pDocumentation) { documentation=pDocumentation; } | ||
+ | public String getTrainer() { return trainer; } | ||
+ | public void setTrainer(String pTrainer) { trainer=pTrainer; } | ||
+ | public String getCity() { return city; } | ||
+ | public void setCity(String pCity) { city=pCity; } | ||
+ | public String getThema() { return thema; } | ||
+ | public void setThema(String pThema) { thema=pThema; } | ||
/** | /** | ||
− | * convert this | + | * convert this Seminar to a JSON string |
*/ | */ | ||
public String toJson() { return JSON.toJSONString(this); } | public String toJson() { return JSON.toJSONString(this); } | ||
/** | /** | ||
− | * convert this | + | * convert this Seminar to a WikiSon string |
+ | * @return the WikiSon representation of this Seminar | ||
*/ | */ | ||
public String toWikiSon() { | public String toWikiSon() { | ||
− | String wikison= "{{ | + | String wikison= "{{Seminar\n"; |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("kind",kind); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("lang",lang); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("year",year); |
+ | wikison+=toWikiSon("month",month); | ||
+ | wikison+=toWikiSon("price",price); | ||
+ | wikison+=toWikiSon("inHouse",inHouse); | ||
+ | wikison+=toWikiSon("exam_fee",exam_fee); | ||
+ | wikison+=toWikiSon("from",from); | ||
+ | wikison+=toWikiSon("modeldayprice",modeldayprice); | ||
+ | wikison+=toWikiSon("to",to); | ||
+ | wikison+=toWikiSon("title",title); | ||
+ | wikison+=toWikiSon("contact",contact); | ||
+ | wikison+=toWikiSon("customer",customer); | ||
+ | wikison+=toWikiSon("documentation",documentation); | ||
+ | wikison+=toWikiSon("trainer",trainer); | ||
+ | wikison+=toWikiSon("city",city); | ||
+ | wikison+=toWikiSon("thema",thema); | ||
wikison+="}}\n"; | wikison+="}}\n"; | ||
return wikison; | return wikison; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * convert this Seminar to a SiDIF string | ||
+ | * @return the SiDIF representation of this Seminar | ||
+ | */ | ||
+ | public String toSiDIF() { | ||
+ | String siDIF = String.format("%s isA Seminar\n",this.pageid); | ||
+ | siDIF+=propertySiDIF("kind",kind,"Page"); | ||
+ | siDIF+=propertySiDIF("lang",lang,"Text"); | ||
+ | siDIF+=propertySiDIF("year",year,"Text"); | ||
+ | siDIF+=propertySiDIF("month",month,"Text"); | ||
+ | siDIF+=propertySiDIF("price",price,"Number"); | ||
+ | siDIF+=propertySiDIF("inHouse",inHouse,"Boolean"); | ||
+ | siDIF+=propertySiDIF("exam_fee",exam_fee,"Number"); | ||
+ | siDIF+=propertySiDIF("from",from,"Date"); | ||
+ | siDIF+=propertySiDIF("modeldayprice",modeldayprice,"Number"); | ||
+ | siDIF+=propertySiDIF("to",to,"Date"); | ||
+ | siDIF+=propertySiDIF("title",title,"Text"); | ||
+ | siDIF+=propertySiDIF("contact",contact,"Text"); | ||
+ | siDIF+=propertySiDIF("customer",customer,"Text"); | ||
+ | siDIF+=propertySiDIF("documentation",documentation,"Text"); | ||
+ | siDIF+=propertySiDIF("trainer",trainer,"Page"); | ||
+ | siDIF+=propertySiDIF("city",city,"Page"); | ||
+ | siDIF+=propertySiDIF("thema",thema,"Page"); | ||
+ | return siDIF; | ||
} | } | ||
Line 134: | Line 220: | ||
/** | /** | ||
− | * default constructor for | + | * default constructor for Seminar |
*/ | */ | ||
− | public | + | public Seminar() {} |
/** | /** | ||
− | * construct a | + | * construct a Seminar from the given Triple |
* @param query - the TripleQuery to get the triples from | * @param query - the TripleQuery to get the triples from | ||
− | * @param | + | * @param pSeminarTriple - the triple to construct me from |
*/ | */ | ||
− | public | + | public Seminar(TripleQuery query,Triple pSeminarTriple) { |
− | this(query, | + | this(query,pSeminarTriple.getSubject().toString()); |
} // constructor | } // constructor | ||
/** | /** | ||
− | * construct a | + | * construct a Seminar from the given pageId |
* @param query - the TripleQuery to get the triples from | * @param query - the TripleQuery to get the triples from | ||
* @param pageid - pageid | * @param pageid - pageid | ||
*/ | */ | ||
− | public | + | public Seminar(TripleQuery query,String pageid) { |
this.pageid=pageid; | this.pageid=pageid; | ||
− | Triple | + | Triple kindTriple=query.selectSingle(pageid,"kind",null); |
− | if ( | + | if (kindTriple==null) |
− | + | kindTriple=query.selectSingle(pageid,"Property:Seminar_kind",null); | |
− | if ( | + | if (kindTriple!=null) |
− | + | kind=kindTriple.getObject().toString(); | |
− | Triple | + | Triple langTriple=query.selectSingle(pageid,"lang",null); |
− | if ( | + | if (langTriple==null) |
− | + | langTriple=query.selectSingle(pageid,"Property:Seminar_lang",null); | |
− | if ( | + | if (langTriple!=null) |
− | + | lang=langTriple.getObject().toString(); | |
− | Triple | + | Triple yearTriple=query.selectSingle(pageid,"year",null); |
− | if ( | + | if (yearTriple==null) |
− | + | yearTriple=query.selectSingle(pageid,"Property:Seminar_year",null); | |
− | if ( | + | if (yearTriple!=null) |
− | + | year=yearTriple.getObject().toString(); | |
+ | Triple monthTriple=query.selectSingle(pageid,"month",null); | ||
+ | if (monthTriple==null) | ||
+ | monthTriple=query.selectSingle(pageid,"Property:Seminar_month",null); | ||
+ | if (monthTriple!=null) | ||
+ | month=monthTriple.getObject().toString(); | ||
+ | Triple priceTriple=query.selectSingle(pageid,"price",null); | ||
+ | if (priceTriple==null) | ||
+ | priceTriple=query.selectSingle(pageid,"Property:Seminar_price",null); | ||
+ | if (priceTriple!=null) | ||
+ | price=priceTriple.getObject().toString(); | ||
+ | Triple inHouseTriple=query.selectSingle(pageid,"inHouse",null); | ||
+ | if (inHouseTriple==null) | ||
+ | inHouseTriple=query.selectSingle(pageid,"Property:Seminar_inHouse",null); | ||
+ | if (inHouseTriple!=null) | ||
+ | inHouse=inHouseTriple.getObject().toString(); | ||
+ | Triple exam_feeTriple=query.selectSingle(pageid,"exam_fee",null); | ||
+ | if (exam_feeTriple==null) | ||
+ | exam_feeTriple=query.selectSingle(pageid,"Property:Seminar_exam_fee",null); | ||
+ | if (exam_feeTriple!=null) | ||
+ | exam_fee=exam_feeTriple.getObject().toString(); | ||
+ | Triple fromTriple=query.selectSingle(pageid,"from",null); | ||
+ | if (fromTriple==null) | ||
+ | fromTriple=query.selectSingle(pageid,"Property:Seminar_from",null); | ||
+ | if (fromTriple!=null) | ||
+ | from=fromTriple.getObject().toString(); | ||
+ | Triple modeldaypriceTriple=query.selectSingle(pageid,"modeldayprice",null); | ||
+ | if (modeldaypriceTriple==null) | ||
+ | modeldaypriceTriple=query.selectSingle(pageid,"Property:Seminar_modeldayprice",null); | ||
+ | if (modeldaypriceTriple!=null) | ||
+ | modeldayprice=modeldaypriceTriple.getObject().toString(); | ||
+ | Triple toTriple=query.selectSingle(pageid,"to",null); | ||
+ | if (toTriple==null) | ||
+ | toTriple=query.selectSingle(pageid,"Property:Seminar_to",null); | ||
+ | if (toTriple!=null) | ||
+ | to=toTriple.getObject().toString(); | ||
+ | Triple titleTriple=query.selectSingle(pageid,"title",null); | ||
+ | if (titleTriple==null) | ||
+ | titleTriple=query.selectSingle(pageid,"Property:Seminar_title",null); | ||
+ | if (titleTriple!=null) | ||
+ | title=titleTriple.getObject().toString(); | ||
+ | Triple contactTriple=query.selectSingle(pageid,"contact",null); | ||
+ | if (contactTriple==null) | ||
+ | contactTriple=query.selectSingle(pageid,"Property:Seminar_contact",null); | ||
+ | if (contactTriple!=null) | ||
+ | contact=contactTriple.getObject().toString(); | ||
+ | Triple customerTriple=query.selectSingle(pageid,"customer",null); | ||
+ | if (customerTriple==null) | ||
+ | customerTriple=query.selectSingle(pageid,"Property:Seminar_customer",null); | ||
+ | if (customerTriple!=null) | ||
+ | customer=customerTriple.getObject().toString(); | ||
+ | Triple documentationTriple=query.selectSingle(pageid,"documentation",null); | ||
+ | if (documentationTriple==null) | ||
+ | documentationTriple=query.selectSingle(pageid,"Property:Seminar_documentation",null); | ||
+ | if (documentationTriple!=null) | ||
+ | documentation=documentationTriple.getObject().toString(); | ||
+ | Triple trainerTriple=query.selectSingle(pageid,"trainer",null); | ||
+ | if (trainerTriple==null) | ||
+ | trainerTriple=query.selectSingle(pageid,"Property:Seminar_trainer",null); | ||
+ | if (trainerTriple!=null) | ||
+ | trainer=trainerTriple.getObject().toString(); | ||
+ | Triple cityTriple=query.selectSingle(pageid,"city",null); | ||
+ | if (cityTriple==null) | ||
+ | cityTriple=query.selectSingle(pageid,"Property:Seminar_city",null); | ||
+ | if (cityTriple!=null) | ||
+ | city=cityTriple.getObject().toString(); | ||
+ | Triple themaTriple=query.selectSingle(pageid,"thema",null); | ||
+ | if (themaTriple==null) | ||
+ | themaTriple=query.selectSingle(pageid,"Property:Seminar_thema",null); | ||
+ | if (themaTriple!=null) | ||
+ | thema=themaTriple.getObject().toString(); | ||
init(query); | init(query); | ||
− | } // constructor for | + | } // constructor for Seminar |
− | // >>>{user defined topic code}{ | + | // >>>{user defined topic code}{Seminar}{Seminar} |
− | // <<<{user defined topic code}{ | + | // <<<{user defined topic code}{Seminar}{Seminar} |
− | } // class | + | } // class Seminar |
/** | /** | ||
− | * Manager for | + | * Manager for Seminar |
*/ | */ | ||
− | public static class | + | public static class SeminarManager extends TopicBase { |
− | public String topicName=" | + | public String topicName="Seminar"; |
− | public transient List< | + | public transient List<Seminar> mSeminars=new ArrayList<Seminar>(); |
− | public transient Map<String, | + | public transient Map<String,Seminar> mSeminarMap=new LinkedHashMap<String,Seminar>(); |
/** | /** | ||
− | * get my | + | * get my Seminars |
*/ | */ | ||
− | public List< | + | public List<Seminar> getSeminars() { |
− | List< | + | List<Seminar> result=this.mSeminars; |
return result; | return result; | ||
} | } | ||
/** | /** | ||
− | * add a new | + | * add a new Seminar |
*/ | */ | ||
− | public | + | public Seminar add(Seminar pSeminar) { |
− | + | mSeminars.add(pSeminar); | |
− | + | mSeminarMap.put(pSeminar.getPageid(),pSeminar); | |
− | return | + | return pSeminar; |
} | } | ||
/** | /** | ||
− | * add a new | + | * add a new Seminar from the given triple |
*/ | */ | ||
− | public | + | public Seminar add(TripleQuery query,Triple pSeminarTriple) { |
− | + | Seminar lSeminar=new Seminar(query,pSeminarTriple); | |
− | add( | + | add(lSeminar); |
− | return | + | return lSeminar; |
} | } | ||
− | // reinitialize my | + | // reinitialize my mSeminar map |
public void reinit() { | public void reinit() { | ||
− | + | mSeminarMap.clear(); | |
− | for ( | + | for (Seminar lSeminar:mSeminars) { |
− | + | mSeminarMap.put(lSeminar.getPageid(),lSeminar); | |
} | } | ||
} | } | ||
Line 222: | Line 378: | ||
// get a new manager from the given json string | // get a new manager from the given json string | ||
− | public static | + | public static SeminarManager fromJson(String json) { |
− | + | SeminarManager result=JSON.parseObject(json, SeminarManager.class); | |
result.reinit(); | result.reinit(); | ||
return result; | return result; | ||
} | } | ||
− | // default constructor for | + | // default constructor for Seminar Manager |
− | public | + | public SeminarManager() {} |
− | // add | + | // add Seminars from the given query |
− | public void | + | public void addSeminars(TripleQuery pSeminarQuery,TripleQuery query) { |
− | if ( | + | if (pSeminarQuery!=null) { |
− | for (Triple | + | for (Triple lSeminarTriple:pSeminarQuery.getTriples()) { |
− | add(query, | + | add(query,lSeminarTriple); |
} | } | ||
} | } | ||
Line 241: | Line 397: | ||
// construct me from the given triple Query query | // construct me from the given triple Query query | ||
− | public | + | public SeminarManager(TripleQuery query) { |
// first query the SiDIF bases triplestore | // first query the SiDIF bases triplestore | ||
− | TripleQuery | + | TripleQuery lSeminarQuery=query.query(null,"isA","Seminar"); |
− | + | addSeminars(lSeminarQuery,query); | |
// then the SMW triplestore | // then the SMW triplestore | ||
− | + | lSeminarQuery=query.query(null,"Property:IsA","Seminar"); | |
− | + | addSeminars(lSeminarQuery,query); | |
init(query); | init(query); | ||
− | } // constructor for | + | } // constructor for Seminar Manager |
− | // >>>{user defined topicmanager code}{ | + | // >>>{user defined topicmanager code}{Seminar}{Seminar} |
− | // <<<{user defined topicmanager code}{ | + | // <<<{user defined topicmanager code}{Seminar}{Seminar} |
− | } // class | + | } // class Seminar Manager |
/** | /** | ||
− | * | + | * Traininglocation |
− | * | + | * A location for a training |
*/ | */ | ||
− | public static class | + | public static class Traininglocation extends TopicBase { |
public String name; | public String name; | ||
− | public String | + | public String url; |
− | public String | + | public String coordinate; |
+ | public String address; | ||
+ | public String city; | ||
+ | public String country; | ||
public String getName() { return name; } | public String getName() { return name; } | ||
public void setName(String pName) { name=pName; } | public void setName(String pName) { name=pName; } | ||
− | public String | + | public String getUrl() { return url; } |
− | public void | + | public void setUrl(String pUrl) { url=pUrl; } |
− | public String | + | public String getCoordinate() { return coordinate; } |
− | public void | + | public void setCoordinate(String pCoordinate) { coordinate=pCoordinate; } |
+ | public String getAddress() { return address; } | ||
+ | public void setAddress(String pAddress) { address=pAddress; } | ||
+ | public String getCity() { return city; } | ||
+ | public void setCity(String pCity) { city=pCity; } | ||
+ | public String getCountry() { return country; } | ||
+ | public void setCountry(String pCountry) { country=pCountry; } | ||
/** | /** | ||
− | * convert this | + | * convert this Traininglocation to a JSON string |
*/ | */ | ||
public String toJson() { return JSON.toJSONString(this); } | public String toJson() { return JSON.toJSONString(this); } | ||
/** | /** | ||
− | * convert this | + | * convert this Traininglocation to a WikiSon string |
+ | * @return the WikiSon representation of this Traininglocation | ||
*/ | */ | ||
public String toWikiSon() { | public String toWikiSon() { | ||
− | String wikison= "{{ | + | String wikison= "{{Traininglocation\n"; |
wikison+=toWikiSon("name",name); | wikison+=toWikiSon("name",name); | ||
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("url",url); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("coordinate",coordinate); |
+ | wikison+=toWikiSon("address",address); | ||
+ | wikison+=toWikiSon("city",city); | ||
+ | wikison+=toWikiSon("country",country); | ||
wikison+="}}\n"; | wikison+="}}\n"; | ||
return wikison; | return wikison; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * convert this Traininglocation to a SiDIF string | ||
+ | * @return the SiDIF representation of this Traininglocation | ||
+ | */ | ||
+ | public String toSiDIF() { | ||
+ | String siDIF = String.format("%s isA Traininglocation\n",this.pageid); | ||
+ | siDIF+=propertySiDIF("name",name,"Text"); | ||
+ | siDIF+=propertySiDIF("url",url,"URL"); | ||
+ | siDIF+=propertySiDIF("coordinate",coordinate,"Geographic_coordinate"); | ||
+ | siDIF+=propertySiDIF("address",address,"Text"); | ||
+ | siDIF+=propertySiDIF("city",city,"Text"); | ||
+ | siDIF+=propertySiDIF("country",country,"Text"); | ||
+ | return siDIF; | ||
} | } | ||
Line 293: | Line 477: | ||
/** | /** | ||
− | * default constructor for | + | * default constructor for Traininglocation |
*/ | */ | ||
− | public | + | public Traininglocation() {} |
/** | /** | ||
− | * construct a | + | * construct a Traininglocation from the given Triple |
* @param query - the TripleQuery to get the triples from | * @param query - the TripleQuery to get the triples from | ||
− | * @param | + | * @param pTraininglocationTriple - the triple to construct me from |
*/ | */ | ||
− | public | + | public Traininglocation(TripleQuery query,Triple pTraininglocationTriple) { |
− | this(query, | + | this(query,pTraininglocationTriple.getSubject().toString()); |
} // constructor | } // constructor | ||
/** | /** | ||
− | * construct a | + | * construct a Traininglocation from the given pageId |
* @param query - the TripleQuery to get the triples from | * @param query - the TripleQuery to get the triples from | ||
* @param pageid - pageid | * @param pageid - pageid | ||
*/ | */ | ||
− | public | + | public Traininglocation(TripleQuery query,String pageid) { |
this.pageid=pageid; | this.pageid=pageid; | ||
Triple nameTriple=query.selectSingle(pageid,"name",null); | Triple nameTriple=query.selectSingle(pageid,"name",null); | ||
if (nameTriple==null) | if (nameTriple==null) | ||
− | nameTriple=query.selectSingle(pageid,"Property: | + | nameTriple=query.selectSingle(pageid,"Property:Traininglocation_name",null); |
if (nameTriple!=null) | if (nameTriple!=null) | ||
name=nameTriple.getObject().toString(); | name=nameTriple.getObject().toString(); | ||
− | Triple | + | Triple urlTriple=query.selectSingle(pageid,"url",null); |
− | if ( | + | if (urlTriple==null) |
− | + | urlTriple=query.selectSingle(pageid,"Property:Traininglocation_url",null); | |
− | if ( | + | if (urlTriple!=null) |
− | + | url=urlTriple.getObject().toString(); | |
− | Triple | + | Triple coordinateTriple=query.selectSingle(pageid,"coordinate",null); |
− | if ( | + | if (coordinateTriple==null) |
− | + | coordinateTriple=query.selectSingle(pageid,"Property:Traininglocation_coordinate",null); | |
− | if ( | + | if (coordinateTriple!=null) |
− | + | coordinate=coordinateTriple.getObject().toString(); | |
+ | Triple addressTriple=query.selectSingle(pageid,"address",null); | ||
+ | if (addressTriple==null) | ||
+ | addressTriple=query.selectSingle(pageid,"Property:Traininglocation_address",null); | ||
+ | if (addressTriple!=null) | ||
+ | address=addressTriple.getObject().toString(); | ||
+ | Triple cityTriple=query.selectSingle(pageid,"city",null); | ||
+ | if (cityTriple==null) | ||
+ | cityTriple=query.selectSingle(pageid,"Property:Traininglocation_city",null); | ||
+ | if (cityTriple!=null) | ||
+ | city=cityTriple.getObject().toString(); | ||
+ | Triple countryTriple=query.selectSingle(pageid,"country",null); | ||
+ | if (countryTriple==null) | ||
+ | countryTriple=query.selectSingle(pageid,"Property:Traininglocation_country",null); | ||
+ | if (countryTriple!=null) | ||
+ | country=countryTriple.getObject().toString(); | ||
init(query); | init(query); | ||
− | } // constructor for | + | } // constructor for Traininglocation |
− | // >>>{user defined topic code}{ | + | // >>>{user defined topic code}{Traininglocation}{Traininglocation} |
− | // <<<{user defined topic code}{ | + | // <<<{user defined topic code}{Traininglocation}{Traininglocation} |
− | } // class | + | } // class Traininglocation |
/** | /** | ||
− | * Manager for | + | * Manager for Traininglocation |
*/ | */ | ||
− | public static class | + | public static class TraininglocationManager extends TopicBase { |
− | public String topicName=" | + | public String topicName="Traininglocation"; |
− | public transient List< | + | public transient List<Traininglocation> mTraininglocations=new ArrayList<Traininglocation>(); |
− | public transient Map<String, | + | public transient Map<String,Traininglocation> mTraininglocationMap=new LinkedHashMap<String,Traininglocation>(); |
/** | /** | ||
− | * get my | + | * get my Traininglocations |
*/ | */ | ||
− | public List< | + | public List<Traininglocation> getTraininglocations() { |
− | List< | + | List<Traininglocation> result=this.mTraininglocations; |
return result; | return result; | ||
} | } | ||
/** | /** | ||
− | * add a new | + | * add a new Traininglocation |
*/ | */ | ||
− | public | + | public Traininglocation add(Traininglocation pTraininglocation) { |
− | + | mTraininglocations.add(pTraininglocation); | |
− | + | mTraininglocationMap.put(pTraininglocation.getPageid(),pTraininglocation); | |
− | return | + | return pTraininglocation; |
} | } | ||
/** | /** | ||
− | * add a new | + | * add a new Traininglocation from the given triple |
*/ | */ | ||
− | public | + | public Traininglocation add(TripleQuery query,Triple pTraininglocationTriple) { |
− | + | Traininglocation lTraininglocation=new Traininglocation(query,pTraininglocationTriple); | |
− | add( | + | add(lTraininglocation); |
− | return | + | return lTraininglocation; |
} | } | ||
− | // reinitialize my | + | // reinitialize my mTraininglocation map |
public void reinit() { | public void reinit() { | ||
− | + | mTraininglocationMap.clear(); | |
− | for ( | + | for (Traininglocation lTraininglocation:mTraininglocations) { |
− | + | mTraininglocationMap.put(lTraininglocation.getPageid(),lTraininglocation); | |
} | } | ||
} | } | ||
Line 381: | Line 580: | ||
// get a new manager from the given json string | // get a new manager from the given json string | ||
− | public static | + | public static TraininglocationManager fromJson(String json) { |
− | + | TraininglocationManager result=JSON.parseObject(json, TraininglocationManager.class); | |
result.reinit(); | result.reinit(); | ||
return result; | return result; | ||
} | } | ||
− | // default constructor for | + | // default constructor for Traininglocation Manager |
− | public | + | public TraininglocationManager() {} |
− | // add | + | // add Traininglocations from the given query |
− | public void | + | public void addTraininglocations(TripleQuery pTraininglocationQuery,TripleQuery query) { |
− | if ( | + | if (pTraininglocationQuery!=null) { |
− | for (Triple | + | for (Triple lTraininglocationTriple:pTraininglocationQuery.getTriples()) { |
− | add(query, | + | add(query,lTraininglocationTriple); |
} | } | ||
} | } | ||
Line 400: | Line 599: | ||
// construct me from the given triple Query query | // construct me from the given triple Query query | ||
− | public | + | public TraininglocationManager(TripleQuery query) { |
// first query the SiDIF bases triplestore | // first query the SiDIF bases triplestore | ||
− | TripleQuery | + | TripleQuery lTraininglocationQuery=query.query(null,"isA","Traininglocation"); |
− | + | addTraininglocations(lTraininglocationQuery,query); | |
// then the SMW triplestore | // then the SMW triplestore | ||
− | + | lTraininglocationQuery=query.query(null,"Property:IsA","Traininglocation"); | |
− | + | addTraininglocations(lTraininglocationQuery,query); | |
init(query); | init(query); | ||
− | } // constructor for | + | } // constructor for Traininglocation Manager |
− | // >>>{user defined topicmanager code}{ | + | // >>>{user defined topicmanager code}{Traininglocation}{Traininglocation} |
− | // <<<{user defined topicmanager code}{ | + | // <<<{user defined topicmanager code}{Traininglocation}{Traininglocation} |
− | } // class | + | } // class Traininglocation Manager |
/** | /** | ||
− | * | + | * Trainer |
− | * | + | * A trainer is a teacher |
*/ | */ | ||
− | public static class | + | public static class Trainer extends TopicBase { |
− | public String | + | public String name; |
− | public String | + | public String picture; |
− | public String | + | public String description; |
− | public String | + | public String description_de; |
− | public String | + | public String rank; |
− | |||
− | public String | + | public String getName() { return name; } |
− | public void | + | public void setName(String pName) { name=pName; } |
− | public String | + | public String getPicture() { return picture; } |
− | public void | + | public void setPicture(String pPicture) { picture=pPicture; } |
− | public String | + | public String getDescription() { return description; } |
− | public void | + | public void setDescription(String pDescription) { description=pDescription; } |
− | public String | + | public String getDescription_de() { return description_de; } |
− | public void | + | public void setDescription_de(String pDescription_de) { description_de=pDescription_de; } |
− | public String | + | public String getRank() { return rank; } |
− | public void | + | public void setRank(String pRank) { rank=pRank; } |
− | |||
− | |||
/** | /** | ||
− | * convert this | + | * convert this Trainer to a JSON string |
*/ | */ | ||
public String toJson() { return JSON.toJSONString(this); } | public String toJson() { return JSON.toJSONString(this); } | ||
/** | /** | ||
− | * convert this | + | * convert this Trainer to a WikiSon string |
+ | * @return the WikiSon representation of this Trainer | ||
*/ | */ | ||
public String toWikiSon() { | public String toWikiSon() { | ||
− | String wikison= "{{ | + | String wikison= "{{Trainer\n"; |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("name",name); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("picture",picture); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("description",description); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("description_de",description_de); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("rank",rank); |
− | |||
wikison+="}}\n"; | wikison+="}}\n"; | ||
return wikison; | return wikison; | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
/** | /** | ||
− | * convert this | + | * convert this Trainer to a SiDIF string |
+ | * @return the SiDIF representation of this Trainer | ||
*/ | */ | ||
− | public String | + | public String toSiDIF() { |
− | + | String siDIF = String.format("%s isA Trainer\n",this.pageid); | |
− | + | siDIF+=propertySiDIF("name",name,"Text"); | |
− | + | siDIF+=propertySiDIF("picture",picture,"Page"); | |
− | + | siDIF+=propertySiDIF("description",description,"Text"); | |
− | + | siDIF+=propertySiDIF("description_de",description_de,"Text"); | |
− | String | + | siDIF+=propertySiDIF("rank",rank,"number"); |
− | + | return siDIF; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | return | ||
} | } | ||
Line 766: | Line 674: | ||
/** | /** | ||
− | * default constructor for | + | * default constructor for Trainer |
*/ | */ | ||
− | public | + | public Trainer() {} |
/** | /** | ||
− | * construct a | + | * construct a Trainer from the given Triple |
* @param query - the TripleQuery to get the triples from | * @param query - the TripleQuery to get the triples from | ||
− | * @param | + | * @param pTrainerTriple - the triple to construct me from |
*/ | */ | ||
− | public | + | public Trainer(TripleQuery query,Triple pTrainerTriple) { |
− | this(query, | + | this(query,pTrainerTriple.getSubject().toString()); |
} // constructor | } // constructor | ||
/** | /** | ||
− | * construct a | + | * construct a Trainer from the given pageId |
* @param query - the TripleQuery to get the triples from | * @param query - the TripleQuery to get the triples from | ||
* @param pageid - pageid | * @param pageid - pageid | ||
*/ | */ | ||
− | public | + | public Trainer(TripleQuery query,String pageid) { |
this.pageid=pageid; | this.pageid=pageid; | ||
− | Triple | + | Triple nameTriple=query.selectSingle(pageid,"name",null); |
− | if ( | + | if (nameTriple==null) |
− | + | nameTriple=query.selectSingle(pageid,"Property:Trainer_name",null); | |
− | if ( | + | if (nameTriple!=null) |
− | + | name=nameTriple.getObject().toString(); | |
− | Triple | + | Triple pictureTriple=query.selectSingle(pageid,"picture",null); |
− | if ( | + | if (pictureTriple==null) |
− | + | pictureTriple=query.selectSingle(pageid,"Property:Trainer_picture",null); | |
− | if ( | + | if (pictureTriple!=null) |
− | + | picture=pictureTriple.getObject().toString(); | |
− | Triple | + | Triple descriptionTriple=query.selectSingle(pageid,"description",null); |
− | if ( | + | if (descriptionTriple==null) |
− | + | descriptionTriple=query.selectSingle(pageid,"Property:Trainer_description",null); | |
− | if ( | + | if (descriptionTriple!=null) |
− | + | description=descriptionTriple.getObject().toString(); | |
− | Triple | + | Triple description_deTriple=query.selectSingle(pageid,"description_de",null); |
− | if ( | + | if (description_deTriple==null) |
− | + | description_deTriple=query.selectSingle(pageid,"Property:Trainer_description_de",null); | |
− | if ( | + | if (description_deTriple!=null) |
− | + | description_de=description_deTriple.getObject().toString(); | |
− | Triple | + | Triple rankTriple=query.selectSingle(pageid,"rank",null); |
− | if ( | + | if (rankTriple==null) |
− | + | rankTriple=query.selectSingle(pageid,"Property:Trainer_rank",null); | |
− | if ( | + | if (rankTriple!=null) |
− | + | rank=rankTriple.getObject().toString(); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
init(query); | init(query); | ||
− | } // constructor for | + | } // constructor for Trainer |
− | // >>>{user defined topic code}{ | + | // >>>{user defined topic code}{Trainer}{Trainer} |
− | // <<<{user defined topic code}{ | + | // <<<{user defined topic code}{Trainer}{Trainer} |
− | } // class | + | } // class Trainer |
/** | /** | ||
− | * Manager for | + | * Manager for Trainer |
*/ | */ | ||
− | public static class | + | public static class TrainerManager extends TopicBase { |
− | public String topicName=" | + | public String topicName="Trainer"; |
− | public transient List< | + | public transient List<Trainer> mTrainers=new ArrayList<Trainer>(); |
− | public transient Map<String, | + | public transient Map<String,Trainer> mTrainerMap=new LinkedHashMap<String,Trainer>(); |
/** | /** | ||
− | * get my | + | * get my Trainers |
*/ | */ | ||
− | public List< | + | public List<Trainer> getTrainers() { |
− | List< | + | List<Trainer> result=this.mTrainers; |
return result; | return result; | ||
} | } | ||
/** | /** | ||
− | * add a new | + | * add a new Trainer |
*/ | */ | ||
− | public | + | public Trainer add(Trainer pTrainer) { |
− | + | mTrainers.add(pTrainer); | |
− | + | mTrainerMap.put(pTrainer.getPageid(),pTrainer); | |
− | return | + | return pTrainer; |
} | } | ||
/** | /** | ||
− | * add a new | + | * add a new Trainer from the given triple |
*/ | */ | ||
− | public | + | public Trainer add(TripleQuery query,Triple pTrainerTriple) { |
− | + | Trainer lTrainer=new Trainer(query,pTrainerTriple); | |
− | add( | + | add(lTrainer); |
− | return | + | return lTrainer; |
} | } | ||
− | // reinitialize my | + | // reinitialize my mTrainer map |
public void reinit() { | public void reinit() { | ||
− | + | mTrainerMap.clear(); | |
− | for ( | + | for (Trainer lTrainer:mTrainers) { |
− | + | mTrainerMap.put(lTrainer.getPageid(),lTrainer); | |
} | } | ||
} | } | ||
Line 1,014: | Line 772: | ||
// get a new manager from the given json string | // get a new manager from the given json string | ||
− | public static | + | public static TrainerManager fromJson(String json) { |
− | + | TrainerManager result=JSON.parseObject(json, TrainerManager.class); | |
result.reinit(); | result.reinit(); | ||
return result; | return result; | ||
} | } | ||
− | // default constructor for | + | // default constructor for Trainer Manager |
− | public | + | public TrainerManager() {} |
− | // add | + | // add Trainers from the given query |
− | public void | + | public void addTrainers(TripleQuery pTrainerQuery,TripleQuery query) { |
− | if ( | + | if (pTrainerQuery!=null) { |
− | for (Triple | + | for (Triple lTrainerTriple:pTrainerQuery.getTriples()) { |
− | add(query, | + | add(query,lTrainerTriple); |
} | } | ||
} | } | ||
Line 1,033: | Line 791: | ||
// construct me from the given triple Query query | // construct me from the given triple Query query | ||
− | public | + | public TrainerManager(TripleQuery query) { |
// first query the SiDIF bases triplestore | // first query the SiDIF bases triplestore | ||
− | TripleQuery | + | TripleQuery lTrainerQuery=query.query(null,"isA","Trainer"); |
− | + | addTrainers(lTrainerQuery,query); | |
// then the SMW triplestore | // then the SMW triplestore | ||
− | + | lTrainerQuery=query.query(null,"Property:IsA","Trainer"); | |
− | + | addTrainers(lTrainerQuery,query); | |
init(query); | init(query); | ||
− | } // constructor for | + | } // constructor for Trainer Manager |
− | // >>>{user defined topicmanager code}{ | + | // >>>{user defined topicmanager code}{Trainer}{Trainer} |
− | // <<<{user defined topicmanager code}{ | + | // <<<{user defined topicmanager code}{Trainer}{Trainer} |
− | } // class | + | } // class Trainer Manager |
/** | /** | ||
− | * | + | * SeminarTopic |
− | * A | + | * A SeminarTopic is the topic of one or more Seminars |
*/ | */ | ||
− | public static class | + | public static class SeminarTopic extends TopicBase { |
− | public String | + | public String name; |
− | public String | + | public String logo; |
− | public String | + | public String level; |
− | public String | + | public String licensee; |
− | public String | + | public String licenseeUrl; |
− | public String | + | public String overview; |
+ | public String page; | ||
+ | public String syllabus; | ||
+ | public String overview_en; | ||
+ | public String page_en; | ||
+ | public String syllabus_en; | ||
+ | public String syllabusPdf; | ||
+ | public String syllabusPdf_en; | ||
− | public String | + | public String getName() { return name; } |
− | public void | + | public void setName(String pName) { name=pName; } |
− | public String | + | public String getLogo() { return logo; } |
− | public void | + | public void setLogo(String pLogo) { logo=pLogo; } |
− | public String | + | public String getLevel() { return level; } |
− | public void | + | public void setLevel(String pLevel) { level=pLevel; } |
− | public String | + | public String getLicensee() { return licensee; } |
− | public void | + | public void setLicensee(String pLicensee) { licensee=pLicensee; } |
− | public String | + | public String getLicenseeUrl() { return licenseeUrl; } |
− | public void | + | public void setLicenseeUrl(String pLicenseeUrl) { licenseeUrl=pLicenseeUrl; } |
− | public String | + | public String getOverview() { return overview; } |
− | public void | + | public void setOverview(String pOverview) { overview=pOverview; } |
+ | public String getPage() { return page; } | ||
+ | public void setPage(String pPage) { page=pPage; } | ||
+ | public String getSyllabus() { return syllabus; } | ||
+ | public void setSyllabus(String pSyllabus) { syllabus=pSyllabus; } | ||
+ | public String getOverview_en() { return overview_en; } | ||
+ | public void setOverview_en(String pOverview_en) { overview_en=pOverview_en; } | ||
+ | public String getPage_en() { return page_en; } | ||
+ | public void setPage_en(String pPage_en) { page_en=pPage_en; } | ||
+ | public String getSyllabus_en() { return syllabus_en; } | ||
+ | public void setSyllabus_en(String pSyllabus_en) { syllabus_en=pSyllabus_en; } | ||
+ | public String getSyllabusPdf() { return syllabusPdf; } | ||
+ | public void setSyllabusPdf(String pSyllabusPdf) { syllabusPdf=pSyllabusPdf; } | ||
+ | public String getSyllabusPdf_en() { return syllabusPdf_en; } | ||
+ | public void setSyllabusPdf_en(String pSyllabusPdf_en) { syllabusPdf_en=pSyllabusPdf_en; } | ||
/** | /** | ||
− | * convert this | + | * convert this SeminarTopic to a JSON string |
*/ | */ | ||
public String toJson() { return JSON.toJSONString(this); } | public String toJson() { return JSON.toJSONString(this); } | ||
/** | /** | ||
− | * convert this | + | * convert this SeminarTopic to a WikiSon string |
+ | * @return the WikiSon representation of this SeminarTopic | ||
*/ | */ | ||
public String toWikiSon() { | public String toWikiSon() { | ||
− | String wikison= "{{ | + | String wikison= "{{SeminarTopic\n"; |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("name",name); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("logo",logo); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("level",level); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("licensee",licensee); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("licenseeUrl",licenseeUrl); |
− | wikison+=toWikiSon(" | + | wikison+=toWikiSon("overview",overview); |
+ | wikison+=toWikiSon("page",page); | ||
+ | wikison+=toWikiSon("syllabus",syllabus); | ||
+ | wikison+=toWikiSon("overview_en",overview_en); | ||
+ | wikison+=toWikiSon("page_en",page_en); | ||
+ | wikison+=toWikiSon("syllabus_en",syllabus_en); | ||
+ | wikison+=toWikiSon("syllabusPdf",syllabusPdf); | ||
+ | wikison+=toWikiSon("syllabusPdf_en",syllabusPdf_en); | ||
wikison+="}}\n"; | wikison+="}}\n"; | ||
return wikison; | return wikison; | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
/** | /** | ||
− | * | + | * convert this SeminarTopic to a SiDIF string |
+ | * @return the SiDIF representation of this SeminarTopic | ||
*/ | */ | ||
− | public | + | public String toSiDIF() { |
− | + | String siDIF = String.format("%s isA SeminarTopic\n",this.pageid); | |
− | + | siDIF+=propertySiDIF("name",name,"Text"); | |
− | + | siDIF+=propertySiDIF("logo",logo,"Page"); | |
− | + | siDIF+=propertySiDIF("level",level,"Text"); | |
− | + | siDIF+=propertySiDIF("licensee",licensee,"Text"); | |
− | + | siDIF+=propertySiDIF("licenseeUrl",licenseeUrl,"Text"); | |
− | + | siDIF+=propertySiDIF("overview",overview,"Text"); | |
− | + | siDIF+=propertySiDIF("page",page,"Page"); | |
− | + | siDIF+=propertySiDIF("syllabus",syllabus,"Page"); | |
− | + | siDIF+=propertySiDIF("overview_en",overview_en,"Text"); | |
− | + | siDIF+=propertySiDIF("page_en",page_en,"Page"); | |
− | + | siDIF+=propertySiDIF("syllabus_en",syllabus_en,"Page"); | |
− | + | siDIF+=propertySiDIF("syllabusPdf",syllabusPdf,"text"); | |
− | + | siDIF+=propertySiDIF("syllabusPdf_en",syllabusPdf_en,"text"); | |
− | + | return siDIF; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | return | ||
} | } | ||
Line 1,283: | Line 906: | ||
/** | /** | ||
− | * default constructor for | + | * default constructor for SeminarTopic |
*/ | */ | ||
− | public | + | public SeminarTopic() {} |
/** | /** | ||
− | * construct a | + | * construct a SeminarTopic from the given Triple |
* @param query - the TripleQuery to get the triples from | * @param query - the TripleQuery to get the triples from | ||
− | * @param | + | * @param pSeminarTopicTriple - the triple to construct me from |
*/ | */ | ||
− | public | + | public SeminarTopic(TripleQuery query,Triple pSeminarTopicTriple) { |
− | this(query, | + | this(query,pSeminarTopicTriple.getSubject().toString()); |
} // constructor | } // constructor | ||
/** | /** | ||
− | * construct a | + | * construct a SeminarTopic from the given pageId |
* @param query - the TripleQuery to get the triples from | * @param query - the TripleQuery to get the triples from | ||
* @param pageid - pageid | * @param pageid - pageid | ||
*/ | */ | ||
− | public | + | public SeminarTopic(TripleQuery query,String pageid) { |
this.pageid=pageid; | this.pageid=pageid; | ||
− | Triple | + | Triple nameTriple=query.selectSingle(pageid,"name",null); |
− | if ( | + | if (nameTriple==null) |
− | + | nameTriple=query.selectSingle(pageid,"Property:SeminarTopic_name",null); | |
− | if ( | + | if (nameTriple!=null) |
− | + | name=nameTriple.getObject().toString(); | |
− | Triple | + | Triple logoTriple=query.selectSingle(pageid,"logo",null); |
− | if ( | + | if (logoTriple==null) |
− | + | logoTriple=query.selectSingle(pageid,"Property:SeminarTopic_logo",null); | |
− | if ( | + | if (logoTriple!=null) |
− | + | logo=logoTriple.getObject().toString(); | |
− | Triple | + | Triple levelTriple=query.selectSingle(pageid,"level",null); |
− | if ( | + | if (levelTriple==null) |
− | + | levelTriple=query.selectSingle(pageid,"Property:SeminarTopic_level",null); | |
− | if ( | + | if (levelTriple!=null) |
− | + | level=levelTriple.getObject().toString(); | |
− | Triple | + | Triple licenseeTriple=query.selectSingle(pageid,"licensee",null); |
− | if ( | + | if (licenseeTriple==null) |
− | + | licenseeTriple=query.selectSingle(pageid,"Property:SeminarTopic_licensee",null); | |
− | if ( | + | if (licenseeTriple!=null) |
− | + | licensee=licenseeTriple.getObject().toString(); | |
− | Triple | + | Triple licenseeUrlTriple=query.selectSingle(pageid,"licenseeUrl",null); |
− | if ( | + | if (licenseeUrlTriple==null) |
− | + | licenseeUrlTriple=query.selectSingle(pageid,"Property:SeminarTopic_licenseeUrl",null); | |
− | if ( | + | if (licenseeUrlTriple!=null) |
− | + | licenseeUrl=licenseeUrlTriple.getObject().toString(); | |
− | Triple | + | Triple overviewTriple=query.selectSingle(pageid,"overview",null); |
− | if ( | + | if (overviewTriple==null) |
− | + | overviewTriple=query.selectSingle(pageid,"Property:SeminarTopic_overview",null); | |
− | if ( | + | if (overviewTriple!=null) |
− | + | overview=overviewTriple.getObject().toString(); | |
− | + | Triple pageTriple=query.selectSingle(pageid,"page",null); | |
− | + | if (pageTriple==null) | |
− | + | pageTriple=query.selectSingle(pageid,"Property:SeminarTopic_page",null); | |
− | + | if (pageTriple!=null) | |
− | + | page=pageTriple.getObject().toString(); | |
− | + | Triple syllabusTriple=query.selectSingle(pageid,"syllabus",null); | |
− | + | if (syllabusTriple==null) | |
− | + | syllabusTriple=query.selectSingle(pageid,"Property:SeminarTopic_syllabus",null); | |
− | + | if (syllabusTriple!=null) | |
− | + | syllabus=syllabusTriple.getObject().toString(); | |
− | + | Triple overview_enTriple=query.selectSingle(pageid,"overview_en",null); | |
− | + | if (overview_enTriple==null) | |
− | + | overview_enTriple=query.selectSingle(pageid,"Property:SeminarTopic_overview_en",null); | |
− | + | if (overview_enTriple!=null) | |
− | + | overview_en=overview_enTriple.getObject().toString(); | |
− | + | Triple page_enTriple=query.selectSingle(pageid,"page_en",null); | |
− | + | if (page_enTriple==null) | |
− | + | page_enTriple=query.selectSingle(pageid,"Property:SeminarTopic_page_en",null); | |
− | + | if (page_enTriple!=null) | |
− | + | page_en=page_enTriple.getObject().toString(); | |
− | + | Triple syllabus_enTriple=query.selectSingle(pageid,"syllabus_en",null); | |
− | + | if (syllabus_enTriple==null) | |
− | + | syllabus_enTriple=query.selectSingle(pageid,"Property:SeminarTopic_syllabus_en",null); | |
− | + | if (syllabus_enTriple!=null) | |
− | + | syllabus_en=syllabus_enTriple.getObject().toString(); | |
− | + | Triple syllabusPdfTriple=query.selectSingle(pageid,"syllabusPdf",null); | |
− | + | if (syllabusPdfTriple==null) | |
− | + | syllabusPdfTriple=query.selectSingle(pageid,"Property:SeminarTopic_syllabusPdf",null); | |
− | + | if (syllabusPdfTriple!=null) | |
− | + | syllabusPdf=syllabusPdfTriple.getObject().toString(); | |
− | + | Triple syllabusPdf_enTriple=query.selectSingle(pageid,"syllabusPdf_en",null); | |
− | + | if (syllabusPdf_enTriple==null) | |
− | + | syllabusPdf_enTriple=query.selectSingle(pageid,"Property:SeminarTopic_syllabusPdf_en",null); | |
− | + | if (syllabusPdf_enTriple!=null) | |
− | + | syllabusPdf_en=syllabusPdf_enTriple.getObject().toString(); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Triple | ||
− | if ( | ||
− | |||
− | if ( | ||
− | |||
− | Triple | ||
− | if ( | ||
− | |||
− | if ( | ||
− | |||
− | Triple | ||
− | if ( | ||
− | |||
− | if ( | ||
− | |||
− | Triple | ||
− | if ( | ||
− | |||
− | if ( | ||
− | |||
− | Triple | ||
− | if ( | ||
− | |||
− | if ( | ||
− | |||
− | Triple | ||
− | if ( | ||
− | |||
− | if ( | ||
− | |||
− | Triple | ||
− | if ( | ||
− | |||
− | if ( | ||
− | |||
init(query); | init(query); | ||
− | } // constructor for | + | } // constructor for SeminarTopic |
− | // >>>{user defined topic code}{ | + | // >>>{user defined topic code}{SeminarTopic}{SeminarTopic} |
− | // <<<{user defined topic code}{ | + | // <<<{user defined topic code}{SeminarTopic}{SeminarTopic} |
− | } // class | + | } // class SeminarTopic |
/** | /** | ||
− | * Manager for | + | * Manager for SeminarTopic |
*/ | */ | ||
− | public static class | + | public static class SeminarTopicManager extends TopicBase { |
− | public String topicName=" | + | public String topicName="SeminarTopic"; |
− | public transient List< | + | public transient List<SeminarTopic> mSeminarTopics=new ArrayList<SeminarTopic>(); |
− | public transient Map<String, | + | public transient Map<String,SeminarTopic> mSeminarTopicMap=new LinkedHashMap<String,SeminarTopic>(); |
/** | /** | ||
− | * get my | + | * get my SeminarTopics |
*/ | */ | ||
− | public List< | + | public List<SeminarTopic> getSeminarTopics() { |
− | List< | + | List<SeminarTopic> result=this.mSeminarTopics; |
return result; | return result; | ||
} | } | ||
/** | /** | ||
− | * add a new | + | * add a new SeminarTopic |
*/ | */ | ||
− | public | + | public SeminarTopic add(SeminarTopic pSeminarTopic) { |
− | + | mSeminarTopics.add(pSeminarTopic); | |
− | + | mSeminarTopicMap.put(pSeminarTopic.getPageid(),pSeminarTopic); | |
− | return | + | return pSeminarTopic; |
} | } | ||
/** | /** | ||
− | * add a new | + | * add a new SeminarTopic from the given triple |
*/ | */ | ||
− | public | + | public SeminarTopic add(TripleQuery query,Triple pSeminarTopicTriple) { |
− | + | SeminarTopic lSeminarTopic=new SeminarTopic(query,pSeminarTopicTriple); | |
− | add( | + | add(lSeminarTopic); |
− | return | + | return lSeminarTopic; |
} | } | ||
− | // reinitialize my | + | // reinitialize my mSeminarTopic map |
public void reinit() { | public void reinit() { | ||
− | + | mSeminarTopicMap.clear(); | |
− | for ( | + | for (SeminarTopic lSeminarTopic:mSeminarTopics) { |
− | + | mSeminarTopicMap.put(lSeminarTopic.getPageid(),lSeminarTopic); | |
} | } | ||
} | } | ||
Line 1,866: | Line 1,044: | ||
// get a new manager from the given json string | // get a new manager from the given json string | ||
− | public static | + | public static SeminarTopicManager fromJson(String json) { |
− | + | SeminarTopicManager result=JSON.parseObject(json, SeminarTopicManager.class); | |
result.reinit(); | result.reinit(); | ||
return result; | return result; | ||
} | } | ||
− | // default constructor for | + | // default constructor for SeminarTopic Manager |
− | public | + | public SeminarTopicManager() {} |
− | // add | + | // add SeminarTopics from the given query |
− | public void | + | public void addSeminarTopics(TripleQuery pSeminarTopicQuery,TripleQuery query) { |
− | if ( | + | if (pSeminarTopicQuery!=null) { |
− | for (Triple | + | for (Triple lSeminarTopicTriple:pSeminarTopicQuery.getTriples()) { |
− | add(query, | + | add(query,lSeminarTopicTriple); |
} | } | ||
} | } | ||
Line 1,885: | Line 1,063: | ||
// construct me from the given triple Query query | // construct me from the given triple Query query | ||
− | public | + | public SeminarTopicManager(TripleQuery query) { |
// first query the SiDIF bases triplestore | // first query the SiDIF bases triplestore | ||
− | TripleQuery | + | TripleQuery lSeminarTopicQuery=query.query(null,"isA","SeminarTopic"); |
− | + | addSeminarTopics(lSeminarTopicQuery,query); | |
// then the SMW triplestore | // then the SMW triplestore | ||
− | + | lSeminarTopicQuery=query.query(null,"Property:IsA","SeminarTopic"); | |
− | + | addSeminarTopics(lSeminarTopicQuery,query); | |
init(query); | init(query); | ||
− | } // constructor for | + | } // constructor for SeminarTopic Manager |
− | // >>>{user defined topicmanager code}{ | + | // >>>{user defined topicmanager code}{SeminarTopic}{SeminarTopic} |
− | // <<<{user defined topicmanager code}{ | + | // <<<{user defined topicmanager code}{SeminarTopic}{SeminarTopic} |
− | } // class | + | } // class SeminarTopic Manager |
} | } | ||
+ | </source> |
Latest revision as of 15:23, 9 December 2017
java code
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@def static {
/**
* Base class
*/
static abstract class TopicBase {
// each Topic has a pageid - for non subobject thats the pagename
public String pageid;
/**
* get a WikiSon version of the given name value
*
* @param name
* @param value
* @return - the string representation
*/
public String toWikiSon(String name, String value) {
String result = "<!-- " + name + " is null-->\n";
if (value != null)
result = "|" + name + "=" + value + "\n";
return result;
}
/**
* get the SiDIF representation of the given property
*
* @param name - the name of the property
* @param value - the value of the property
* @param type - the type of the property
* @return - the SiDIF Sting representation of the property
*/
public static String propertySiDIF(String name, String value, String type) {
// default is a comment line which can be filled by uncommenting
String result = String.format("# is is %s of it\n",name);;
// if the value is not empty
if ((value != null) && (!("".equals(value.trim())))) {
// do we need to quote the result?
String quote = "";
// this depends on the Type
if ("Text".equals(type)) {
quote = "\"";
}
// create a SIDIF Property line like
// "John" is lastname of it
// convert double quotes to single quotes - FIXME - should we escape instead?
value=value.replace("\"","'");
result = String.format("%s%s%s is %s of it\n",quote,value,quote,name);
}
// return the SiDIF property line
return result;
}
/**
* get me as a String
*
* @param name
* @param value
* @return
*/
public static String propertySiDIF(String name, String value) {
String result = propertySiDIF(name, value, "Text");
return result;
}
/**
* check if the given boolean String value is true
*
* @param value
* @return true if the value is not null and has true/TRUE as it's string
* content
*/
public boolean isTrue(String value) {
boolean result = false;
if (value != null && value.toLowerCase().equals("true")) {
result = true;
}
return result;
}
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
/**
* Seminar
* Ein Seminar ist die Durchfuehrung einer Ausbildungsveranstaltung an einem bestimmten Ort in einem bestimmten Zeitraum zu einem bestimmten Thema
*/
public static class Seminar extends TopicBase {
public String kind;
public String lang;
public String year;
public String month;
public String price;
public String inHouse;
public String exam_fee;
public String from;
public String modeldayprice;
public String to;
public String title;
public String contact;
public String customer;
public String documentation;
public String trainer;
public String city;
public String thema;
public String getKind() { return kind; }
public void setKind(String pKind) { kind=pKind; }
public String getLang() { return lang; }
public void setLang(String pLang) { lang=pLang; }
public String getYear() { return year; }
public void setYear(String pYear) { year=pYear; }
public String getMonth() { return month; }
public void setMonth(String pMonth) { month=pMonth; }
public String getPrice() { return price; }
public void setPrice(String pPrice) { price=pPrice; }
public String getInHouse() { return inHouse; }
public void setInHouse(String pInHouse) { inHouse=pInHouse; }
public String getExam_fee() { return exam_fee; }
public void setExam_fee(String pExam_fee) { exam_fee=pExam_fee; }
public String getFrom() { return from; }
public void setFrom(String pFrom) { from=pFrom; }
public String getModeldayprice() { return modeldayprice; }
public void setModeldayprice(String pModeldayprice) { modeldayprice=pModeldayprice; }
public String getTo() { return to; }
public void setTo(String pTo) { to=pTo; }
public String getTitle() { return title; }
public void setTitle(String pTitle) { title=pTitle; }
public String getContact() { return contact; }
public void setContact(String pContact) { contact=pContact; }
public String getCustomer() { return customer; }
public void setCustomer(String pCustomer) { customer=pCustomer; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getTrainer() { return trainer; }
public void setTrainer(String pTrainer) { trainer=pTrainer; }
public String getCity() { return city; }
public void setCity(String pCity) { city=pCity; }
public String getThema() { return thema; }
public void setThema(String pThema) { thema=pThema; }
/**
* convert this Seminar to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* convert this Seminar to a WikiSon string
* @return the WikiSon representation of this Seminar
*/
public String toWikiSon() {
String wikison= "{{Seminar\n";
wikison+=toWikiSon("kind",kind);
wikison+=toWikiSon("lang",lang);
wikison+=toWikiSon("year",year);
wikison+=toWikiSon("month",month);
wikison+=toWikiSon("price",price);
wikison+=toWikiSon("inHouse",inHouse);
wikison+=toWikiSon("exam_fee",exam_fee);
wikison+=toWikiSon("from",from);
wikison+=toWikiSon("modeldayprice",modeldayprice);
wikison+=toWikiSon("to",to);
wikison+=toWikiSon("title",title);
wikison+=toWikiSon("contact",contact);
wikison+=toWikiSon("customer",customer);
wikison+=toWikiSon("documentation",documentation);
wikison+=toWikiSon("trainer",trainer);
wikison+=toWikiSon("city",city);
wikison+=toWikiSon("thema",thema);
wikison+="}}\n";
return wikison;
}
/**
* convert this Seminar to a SiDIF string
* @return the SiDIF representation of this Seminar
*/
public String toSiDIF() {
String siDIF = String.format("%s isA Seminar\n",this.pageid);
siDIF+=propertySiDIF("kind",kind,"Page");
siDIF+=propertySiDIF("lang",lang,"Text");
siDIF+=propertySiDIF("year",year,"Text");
siDIF+=propertySiDIF("month",month,"Text");
siDIF+=propertySiDIF("price",price,"Number");
siDIF+=propertySiDIF("inHouse",inHouse,"Boolean");
siDIF+=propertySiDIF("exam_fee",exam_fee,"Number");
siDIF+=propertySiDIF("from",from,"Date");
siDIF+=propertySiDIF("modeldayprice",modeldayprice,"Number");
siDIF+=propertySiDIF("to",to,"Date");
siDIF+=propertySiDIF("title",title,"Text");
siDIF+=propertySiDIF("contact",contact,"Text");
siDIF+=propertySiDIF("customer",customer,"Text");
siDIF+=propertySiDIF("documentation",documentation,"Text");
siDIF+=propertySiDIF("trainer",trainer,"Page");
siDIF+=propertySiDIF("city",city,"Page");
siDIF+=propertySiDIF("thema",thema,"Page");
return siDIF;
}
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Seminar
*/
public Seminar() {}
/**
* construct a Seminar from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pSeminarTriple - the triple to construct me from
*/
public Seminar(TripleQuery query,Triple pSeminarTriple) {
this(query,pSeminarTriple.getSubject().toString());
} // constructor
/**
* construct a Seminar from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Seminar(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple kindTriple=query.selectSingle(pageid,"kind",null);
if (kindTriple==null)
kindTriple=query.selectSingle(pageid,"Property:Seminar_kind",null);
if (kindTriple!=null)
kind=kindTriple.getObject().toString();
Triple langTriple=query.selectSingle(pageid,"lang",null);
if (langTriple==null)
langTriple=query.selectSingle(pageid,"Property:Seminar_lang",null);
if (langTriple!=null)
lang=langTriple.getObject().toString();
Triple yearTriple=query.selectSingle(pageid,"year",null);
if (yearTriple==null)
yearTriple=query.selectSingle(pageid,"Property:Seminar_year",null);
if (yearTriple!=null)
year=yearTriple.getObject().toString();
Triple monthTriple=query.selectSingle(pageid,"month",null);
if (monthTriple==null)
monthTriple=query.selectSingle(pageid,"Property:Seminar_month",null);
if (monthTriple!=null)
month=monthTriple.getObject().toString();
Triple priceTriple=query.selectSingle(pageid,"price",null);
if (priceTriple==null)
priceTriple=query.selectSingle(pageid,"Property:Seminar_price",null);
if (priceTriple!=null)
price=priceTriple.getObject().toString();
Triple inHouseTriple=query.selectSingle(pageid,"inHouse",null);
if (inHouseTriple==null)
inHouseTriple=query.selectSingle(pageid,"Property:Seminar_inHouse",null);
if (inHouseTriple!=null)
inHouse=inHouseTriple.getObject().toString();
Triple exam_feeTriple=query.selectSingle(pageid,"exam_fee",null);
if (exam_feeTriple==null)
exam_feeTriple=query.selectSingle(pageid,"Property:Seminar_exam_fee",null);
if (exam_feeTriple!=null)
exam_fee=exam_feeTriple.getObject().toString();
Triple fromTriple=query.selectSingle(pageid,"from",null);
if (fromTriple==null)
fromTriple=query.selectSingle(pageid,"Property:Seminar_from",null);
if (fromTriple!=null)
from=fromTriple.getObject().toString();
Triple modeldaypriceTriple=query.selectSingle(pageid,"modeldayprice",null);
if (modeldaypriceTriple==null)
modeldaypriceTriple=query.selectSingle(pageid,"Property:Seminar_modeldayprice",null);
if (modeldaypriceTriple!=null)
modeldayprice=modeldaypriceTriple.getObject().toString();
Triple toTriple=query.selectSingle(pageid,"to",null);
if (toTriple==null)
toTriple=query.selectSingle(pageid,"Property:Seminar_to",null);
if (toTriple!=null)
to=toTriple.getObject().toString();
Triple titleTriple=query.selectSingle(pageid,"title",null);
if (titleTriple==null)
titleTriple=query.selectSingle(pageid,"Property:Seminar_title",null);
if (titleTriple!=null)
title=titleTriple.getObject().toString();
Triple contactTriple=query.selectSingle(pageid,"contact",null);
if (contactTriple==null)
contactTriple=query.selectSingle(pageid,"Property:Seminar_contact",null);
if (contactTriple!=null)
contact=contactTriple.getObject().toString();
Triple customerTriple=query.selectSingle(pageid,"customer",null);
if (customerTriple==null)
customerTriple=query.selectSingle(pageid,"Property:Seminar_customer",null);
if (customerTriple!=null)
customer=customerTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Seminar_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple trainerTriple=query.selectSingle(pageid,"trainer",null);
if (trainerTriple==null)
trainerTriple=query.selectSingle(pageid,"Property:Seminar_trainer",null);
if (trainerTriple!=null)
trainer=trainerTriple.getObject().toString();
Triple cityTriple=query.selectSingle(pageid,"city",null);
if (cityTriple==null)
cityTriple=query.selectSingle(pageid,"Property:Seminar_city",null);
if (cityTriple!=null)
city=cityTriple.getObject().toString();
Triple themaTriple=query.selectSingle(pageid,"thema",null);
if (themaTriple==null)
themaTriple=query.selectSingle(pageid,"Property:Seminar_thema",null);
if (themaTriple!=null)
thema=themaTriple.getObject().toString();
init(query);
} // constructor for Seminar
// >>>{user defined topic code}{Seminar}{Seminar}
// <<<{user defined topic code}{Seminar}{Seminar}
} // class Seminar
/**
* Manager for Seminar
*/
public static class SeminarManager extends TopicBase {
public String topicName="Seminar";
public transient List<Seminar> mSeminars=new ArrayList<Seminar>();
public transient Map<String,Seminar> mSeminarMap=new LinkedHashMap<String,Seminar>();
/**
* get my Seminars
*/
public List<Seminar> getSeminars() {
List<Seminar> result=this.mSeminars;
return result;
}
/**
* add a new Seminar
*/
public Seminar add(Seminar pSeminar) {
mSeminars.add(pSeminar);
mSeminarMap.put(pSeminar.getPageid(),pSeminar);
return pSeminar;
}
/**
* add a new Seminar from the given triple
*/
public Seminar add(TripleQuery query,Triple pSeminarTriple) {
Seminar lSeminar=new Seminar(query,pSeminarTriple);
add(lSeminar);
return lSeminar;
}
// reinitialize my mSeminar map
public void reinit() {
mSeminarMap.clear();
for (Seminar lSeminar:mSeminars) {
mSeminarMap.put(lSeminar.getPageid(),lSeminar);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static SeminarManager fromJson(String json) {
SeminarManager result=JSON.parseObject(json, SeminarManager.class);
result.reinit();
return result;
}
// default constructor for Seminar Manager
public SeminarManager() {}
// add Seminars from the given query
public void addSeminars(TripleQuery pSeminarQuery,TripleQuery query) {
if (pSeminarQuery!=null) {
for (Triple lSeminarTriple:pSeminarQuery.getTriples()) {
add(query,lSeminarTriple);
}
}
}
// construct me from the given triple Query query
public SeminarManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSeminarQuery=query.query(null,"isA","Seminar");
addSeminars(lSeminarQuery,query);
// then the SMW triplestore
lSeminarQuery=query.query(null,"Property:IsA","Seminar");
addSeminars(lSeminarQuery,query);
init(query);
} // constructor for Seminar Manager
// >>>{user defined topicmanager code}{Seminar}{Seminar}
// <<<{user defined topicmanager code}{Seminar}{Seminar}
} // class Seminar Manager
/**
* Traininglocation
* A location for a training
*/
public static class Traininglocation extends TopicBase {
public String name;
public String url;
public String coordinate;
public String address;
public String city;
public String country;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getUrl() { return url; }
public void setUrl(String pUrl) { url=pUrl; }
public String getCoordinate() { return coordinate; }
public void setCoordinate(String pCoordinate) { coordinate=pCoordinate; }
public String getAddress() { return address; }
public void setAddress(String pAddress) { address=pAddress; }
public String getCity() { return city; }
public void setCity(String pCity) { city=pCity; }
public String getCountry() { return country; }
public void setCountry(String pCountry) { country=pCountry; }
/**
* convert this Traininglocation to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* convert this Traininglocation to a WikiSon string
* @return the WikiSon representation of this Traininglocation
*/
public String toWikiSon() {
String wikison= "{{Traininglocation\n";
wikison+=toWikiSon("name",name);
wikison+=toWikiSon("url",url);
wikison+=toWikiSon("coordinate",coordinate);
wikison+=toWikiSon("address",address);
wikison+=toWikiSon("city",city);
wikison+=toWikiSon("country",country);
wikison+="}}\n";
return wikison;
}
/**
* convert this Traininglocation to a SiDIF string
* @return the SiDIF representation of this Traininglocation
*/
public String toSiDIF() {
String siDIF = String.format("%s isA Traininglocation\n",this.pageid);
siDIF+=propertySiDIF("name",name,"Text");
siDIF+=propertySiDIF("url",url,"URL");
siDIF+=propertySiDIF("coordinate",coordinate,"Geographic_coordinate");
siDIF+=propertySiDIF("address",address,"Text");
siDIF+=propertySiDIF("city",city,"Text");
siDIF+=propertySiDIF("country",country,"Text");
return siDIF;
}
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Traininglocation
*/
public Traininglocation() {}
/**
* construct a Traininglocation from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTraininglocationTriple - the triple to construct me from
*/
public Traininglocation(TripleQuery query,Triple pTraininglocationTriple) {
this(query,pTraininglocationTriple.getSubject().toString());
} // constructor
/**
* construct a Traininglocation from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Traininglocation(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Traininglocation_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple urlTriple=query.selectSingle(pageid,"url",null);
if (urlTriple==null)
urlTriple=query.selectSingle(pageid,"Property:Traininglocation_url",null);
if (urlTriple!=null)
url=urlTriple.getObject().toString();
Triple coordinateTriple=query.selectSingle(pageid,"coordinate",null);
if (coordinateTriple==null)
coordinateTriple=query.selectSingle(pageid,"Property:Traininglocation_coordinate",null);
if (coordinateTriple!=null)
coordinate=coordinateTriple.getObject().toString();
Triple addressTriple=query.selectSingle(pageid,"address",null);
if (addressTriple==null)
addressTriple=query.selectSingle(pageid,"Property:Traininglocation_address",null);
if (addressTriple!=null)
address=addressTriple.getObject().toString();
Triple cityTriple=query.selectSingle(pageid,"city",null);
if (cityTriple==null)
cityTriple=query.selectSingle(pageid,"Property:Traininglocation_city",null);
if (cityTriple!=null)
city=cityTriple.getObject().toString();
Triple countryTriple=query.selectSingle(pageid,"country",null);
if (countryTriple==null)
countryTriple=query.selectSingle(pageid,"Property:Traininglocation_country",null);
if (countryTriple!=null)
country=countryTriple.getObject().toString();
init(query);
} // constructor for Traininglocation
// >>>{user defined topic code}{Traininglocation}{Traininglocation}
// <<<{user defined topic code}{Traininglocation}{Traininglocation}
} // class Traininglocation
/**
* Manager for Traininglocation
*/
public static class TraininglocationManager extends TopicBase {
public String topicName="Traininglocation";
public transient List<Traininglocation> mTraininglocations=new ArrayList<Traininglocation>();
public transient Map<String,Traininglocation> mTraininglocationMap=new LinkedHashMap<String,Traininglocation>();
/**
* get my Traininglocations
*/
public List<Traininglocation> getTraininglocations() {
List<Traininglocation> result=this.mTraininglocations;
return result;
}
/**
* add a new Traininglocation
*/
public Traininglocation add(Traininglocation pTraininglocation) {
mTraininglocations.add(pTraininglocation);
mTraininglocationMap.put(pTraininglocation.getPageid(),pTraininglocation);
return pTraininglocation;
}
/**
* add a new Traininglocation from the given triple
*/
public Traininglocation add(TripleQuery query,Triple pTraininglocationTriple) {
Traininglocation lTraininglocation=new Traininglocation(query,pTraininglocationTriple);
add(lTraininglocation);
return lTraininglocation;
}
// reinitialize my mTraininglocation map
public void reinit() {
mTraininglocationMap.clear();
for (Traininglocation lTraininglocation:mTraininglocations) {
mTraininglocationMap.put(lTraininglocation.getPageid(),lTraininglocation);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TraininglocationManager fromJson(String json) {
TraininglocationManager result=JSON.parseObject(json, TraininglocationManager.class);
result.reinit();
return result;
}
// default constructor for Traininglocation Manager
public TraininglocationManager() {}
// add Traininglocations from the given query
public void addTraininglocations(TripleQuery pTraininglocationQuery,TripleQuery query) {
if (pTraininglocationQuery!=null) {
for (Triple lTraininglocationTriple:pTraininglocationQuery.getTriples()) {
add(query,lTraininglocationTriple);
}
}
}
// construct me from the given triple Query query
public TraininglocationManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTraininglocationQuery=query.query(null,"isA","Traininglocation");
addTraininglocations(lTraininglocationQuery,query);
// then the SMW triplestore
lTraininglocationQuery=query.query(null,"Property:IsA","Traininglocation");
addTraininglocations(lTraininglocationQuery,query);
init(query);
} // constructor for Traininglocation Manager
// >>>{user defined topicmanager code}{Traininglocation}{Traininglocation}
// <<<{user defined topicmanager code}{Traininglocation}{Traininglocation}
} // class Traininglocation Manager
/**
* Trainer
* A trainer is a teacher
*/
public static class Trainer extends TopicBase {
public String name;
public String picture;
public String description;
public String description_de;
public String rank;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getPicture() { return picture; }
public void setPicture(String pPicture) { picture=pPicture; }
public String getDescription() { return description; }
public void setDescription(String pDescription) { description=pDescription; }
public String getDescription_de() { return description_de; }
public void setDescription_de(String pDescription_de) { description_de=pDescription_de; }
public String getRank() { return rank; }
public void setRank(String pRank) { rank=pRank; }
/**
* convert this Trainer to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* convert this Trainer to a WikiSon string
* @return the WikiSon representation of this Trainer
*/
public String toWikiSon() {
String wikison= "{{Trainer\n";
wikison+=toWikiSon("name",name);
wikison+=toWikiSon("picture",picture);
wikison+=toWikiSon("description",description);
wikison+=toWikiSon("description_de",description_de);
wikison+=toWikiSon("rank",rank);
wikison+="}}\n";
return wikison;
}
/**
* convert this Trainer to a SiDIF string
* @return the SiDIF representation of this Trainer
*/
public String toSiDIF() {
String siDIF = String.format("%s isA Trainer\n",this.pageid);
siDIF+=propertySiDIF("name",name,"Text");
siDIF+=propertySiDIF("picture",picture,"Page");
siDIF+=propertySiDIF("description",description,"Text");
siDIF+=propertySiDIF("description_de",description_de,"Text");
siDIF+=propertySiDIF("rank",rank,"number");
return siDIF;
}
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Trainer
*/
public Trainer() {}
/**
* construct a Trainer from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTrainerTriple - the triple to construct me from
*/
public Trainer(TripleQuery query,Triple pTrainerTriple) {
this(query,pTrainerTriple.getSubject().toString());
} // constructor
/**
* construct a Trainer from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Trainer(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Trainer_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple pictureTriple=query.selectSingle(pageid,"picture",null);
if (pictureTriple==null)
pictureTriple=query.selectSingle(pageid,"Property:Trainer_picture",null);
if (pictureTriple!=null)
picture=pictureTriple.getObject().toString();
Triple descriptionTriple=query.selectSingle(pageid,"description",null);
if (descriptionTriple==null)
descriptionTriple=query.selectSingle(pageid,"Property:Trainer_description",null);
if (descriptionTriple!=null)
description=descriptionTriple.getObject().toString();
Triple description_deTriple=query.selectSingle(pageid,"description_de",null);
if (description_deTriple==null)
description_deTriple=query.selectSingle(pageid,"Property:Trainer_description_de",null);
if (description_deTriple!=null)
description_de=description_deTriple.getObject().toString();
Triple rankTriple=query.selectSingle(pageid,"rank",null);
if (rankTriple==null)
rankTriple=query.selectSingle(pageid,"Property:Trainer_rank",null);
if (rankTriple!=null)
rank=rankTriple.getObject().toString();
init(query);
} // constructor for Trainer
// >>>{user defined topic code}{Trainer}{Trainer}
// <<<{user defined topic code}{Trainer}{Trainer}
} // class Trainer
/**
* Manager for Trainer
*/
public static class TrainerManager extends TopicBase {
public String topicName="Trainer";
public transient List<Trainer> mTrainers=new ArrayList<Trainer>();
public transient Map<String,Trainer> mTrainerMap=new LinkedHashMap<String,Trainer>();
/**
* get my Trainers
*/
public List<Trainer> getTrainers() {
List<Trainer> result=this.mTrainers;
return result;
}
/**
* add a new Trainer
*/
public Trainer add(Trainer pTrainer) {
mTrainers.add(pTrainer);
mTrainerMap.put(pTrainer.getPageid(),pTrainer);
return pTrainer;
}
/**
* add a new Trainer from the given triple
*/
public Trainer add(TripleQuery query,Triple pTrainerTriple) {
Trainer lTrainer=new Trainer(query,pTrainerTriple);
add(lTrainer);
return lTrainer;
}
// reinitialize my mTrainer map
public void reinit() {
mTrainerMap.clear();
for (Trainer lTrainer:mTrainers) {
mTrainerMap.put(lTrainer.getPageid(),lTrainer);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TrainerManager fromJson(String json) {
TrainerManager result=JSON.parseObject(json, TrainerManager.class);
result.reinit();
return result;
}
// default constructor for Trainer Manager
public TrainerManager() {}
// add Trainers from the given query
public void addTrainers(TripleQuery pTrainerQuery,TripleQuery query) {
if (pTrainerQuery!=null) {
for (Triple lTrainerTriple:pTrainerQuery.getTriples()) {
add(query,lTrainerTriple);
}
}
}
// construct me from the given triple Query query
public TrainerManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTrainerQuery=query.query(null,"isA","Trainer");
addTrainers(lTrainerQuery,query);
// then the SMW triplestore
lTrainerQuery=query.query(null,"Property:IsA","Trainer");
addTrainers(lTrainerQuery,query);
init(query);
} // constructor for Trainer Manager
// >>>{user defined topicmanager code}{Trainer}{Trainer}
// <<<{user defined topicmanager code}{Trainer}{Trainer}
} // class Trainer Manager
/**
* SeminarTopic
* A SeminarTopic is the topic of one or more Seminars
*/
public static class SeminarTopic extends TopicBase {
public String name;
public String logo;
public String level;
public String licensee;
public String licenseeUrl;
public String overview;
public String page;
public String syllabus;
public String overview_en;
public String page_en;
public String syllabus_en;
public String syllabusPdf;
public String syllabusPdf_en;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getLogo() { return logo; }
public void setLogo(String pLogo) { logo=pLogo; }
public String getLevel() { return level; }
public void setLevel(String pLevel) { level=pLevel; }
public String getLicensee() { return licensee; }
public void setLicensee(String pLicensee) { licensee=pLicensee; }
public String getLicenseeUrl() { return licenseeUrl; }
public void setLicenseeUrl(String pLicenseeUrl) { licenseeUrl=pLicenseeUrl; }
public String getOverview() { return overview; }
public void setOverview(String pOverview) { overview=pOverview; }
public String getPage() { return page; }
public void setPage(String pPage) { page=pPage; }
public String getSyllabus() { return syllabus; }
public void setSyllabus(String pSyllabus) { syllabus=pSyllabus; }
public String getOverview_en() { return overview_en; }
public void setOverview_en(String pOverview_en) { overview_en=pOverview_en; }
public String getPage_en() { return page_en; }
public void setPage_en(String pPage_en) { page_en=pPage_en; }
public String getSyllabus_en() { return syllabus_en; }
public void setSyllabus_en(String pSyllabus_en) { syllabus_en=pSyllabus_en; }
public String getSyllabusPdf() { return syllabusPdf; }
public void setSyllabusPdf(String pSyllabusPdf) { syllabusPdf=pSyllabusPdf; }
public String getSyllabusPdf_en() { return syllabusPdf_en; }
public void setSyllabusPdf_en(String pSyllabusPdf_en) { syllabusPdf_en=pSyllabusPdf_en; }
/**
* convert this SeminarTopic to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* convert this SeminarTopic to a WikiSon string
* @return the WikiSon representation of this SeminarTopic
*/
public String toWikiSon() {
String wikison= "{{SeminarTopic\n";
wikison+=toWikiSon("name",name);
wikison+=toWikiSon("logo",logo);
wikison+=toWikiSon("level",level);
wikison+=toWikiSon("licensee",licensee);
wikison+=toWikiSon("licenseeUrl",licenseeUrl);
wikison+=toWikiSon("overview",overview);
wikison+=toWikiSon("page",page);
wikison+=toWikiSon("syllabus",syllabus);
wikison+=toWikiSon("overview_en",overview_en);
wikison+=toWikiSon("page_en",page_en);
wikison+=toWikiSon("syllabus_en",syllabus_en);
wikison+=toWikiSon("syllabusPdf",syllabusPdf);
wikison+=toWikiSon("syllabusPdf_en",syllabusPdf_en);
wikison+="}}\n";
return wikison;
}
/**
* convert this SeminarTopic to a SiDIF string
* @return the SiDIF representation of this SeminarTopic
*/
public String toSiDIF() {
String siDIF = String.format("%s isA SeminarTopic\n",this.pageid);
siDIF+=propertySiDIF("name",name,"Text");
siDIF+=propertySiDIF("logo",logo,"Page");
siDIF+=propertySiDIF("level",level,"Text");
siDIF+=propertySiDIF("licensee",licensee,"Text");
siDIF+=propertySiDIF("licenseeUrl",licenseeUrl,"Text");
siDIF+=propertySiDIF("overview",overview,"Text");
siDIF+=propertySiDIF("page",page,"Page");
siDIF+=propertySiDIF("syllabus",syllabus,"Page");
siDIF+=propertySiDIF("overview_en",overview_en,"Text");
siDIF+=propertySiDIF("page_en",page_en,"Page");
siDIF+=propertySiDIF("syllabus_en",syllabus_en,"Page");
siDIF+=propertySiDIF("syllabusPdf",syllabusPdf,"text");
siDIF+=propertySiDIF("syllabusPdf_en",syllabusPdf_en,"text");
return siDIF;
}
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for SeminarTopic
*/
public SeminarTopic() {}
/**
* construct a SeminarTopic from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pSeminarTopicTriple - the triple to construct me from
*/
public SeminarTopic(TripleQuery query,Triple pSeminarTopicTriple) {
this(query,pSeminarTopicTriple.getSubject().toString());
} // constructor
/**
* construct a SeminarTopic from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public SeminarTopic(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:SeminarTopic_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple logoTriple=query.selectSingle(pageid,"logo",null);
if (logoTriple==null)
logoTriple=query.selectSingle(pageid,"Property:SeminarTopic_logo",null);
if (logoTriple!=null)
logo=logoTriple.getObject().toString();
Triple levelTriple=query.selectSingle(pageid,"level",null);
if (levelTriple==null)
levelTriple=query.selectSingle(pageid,"Property:SeminarTopic_level",null);
if (levelTriple!=null)
level=levelTriple.getObject().toString();
Triple licenseeTriple=query.selectSingle(pageid,"licensee",null);
if (licenseeTriple==null)
licenseeTriple=query.selectSingle(pageid,"Property:SeminarTopic_licensee",null);
if (licenseeTriple!=null)
licensee=licenseeTriple.getObject().toString();
Triple licenseeUrlTriple=query.selectSingle(pageid,"licenseeUrl",null);
if (licenseeUrlTriple==null)
licenseeUrlTriple=query.selectSingle(pageid,"Property:SeminarTopic_licenseeUrl",null);
if (licenseeUrlTriple!=null)
licenseeUrl=licenseeUrlTriple.getObject().toString();
Triple overviewTriple=query.selectSingle(pageid,"overview",null);
if (overviewTriple==null)
overviewTriple=query.selectSingle(pageid,"Property:SeminarTopic_overview",null);
if (overviewTriple!=null)
overview=overviewTriple.getObject().toString();
Triple pageTriple=query.selectSingle(pageid,"page",null);
if (pageTriple==null)
pageTriple=query.selectSingle(pageid,"Property:SeminarTopic_page",null);
if (pageTriple!=null)
page=pageTriple.getObject().toString();
Triple syllabusTriple=query.selectSingle(pageid,"syllabus",null);
if (syllabusTriple==null)
syllabusTriple=query.selectSingle(pageid,"Property:SeminarTopic_syllabus",null);
if (syllabusTriple!=null)
syllabus=syllabusTriple.getObject().toString();
Triple overview_enTriple=query.selectSingle(pageid,"overview_en",null);
if (overview_enTriple==null)
overview_enTriple=query.selectSingle(pageid,"Property:SeminarTopic_overview_en",null);
if (overview_enTriple!=null)
overview_en=overview_enTriple.getObject().toString();
Triple page_enTriple=query.selectSingle(pageid,"page_en",null);
if (page_enTriple==null)
page_enTriple=query.selectSingle(pageid,"Property:SeminarTopic_page_en",null);
if (page_enTriple!=null)
page_en=page_enTriple.getObject().toString();
Triple syllabus_enTriple=query.selectSingle(pageid,"syllabus_en",null);
if (syllabus_enTriple==null)
syllabus_enTriple=query.selectSingle(pageid,"Property:SeminarTopic_syllabus_en",null);
if (syllabus_enTriple!=null)
syllabus_en=syllabus_enTriple.getObject().toString();
Triple syllabusPdfTriple=query.selectSingle(pageid,"syllabusPdf",null);
if (syllabusPdfTriple==null)
syllabusPdfTriple=query.selectSingle(pageid,"Property:SeminarTopic_syllabusPdf",null);
if (syllabusPdfTriple!=null)
syllabusPdf=syllabusPdfTriple.getObject().toString();
Triple syllabusPdf_enTriple=query.selectSingle(pageid,"syllabusPdf_en",null);
if (syllabusPdf_enTriple==null)
syllabusPdf_enTriple=query.selectSingle(pageid,"Property:SeminarTopic_syllabusPdf_en",null);
if (syllabusPdf_enTriple!=null)
syllabusPdf_en=syllabusPdf_enTriple.getObject().toString();
init(query);
} // constructor for SeminarTopic
// >>>{user defined topic code}{SeminarTopic}{SeminarTopic}
// <<<{user defined topic code}{SeminarTopic}{SeminarTopic}
} // class SeminarTopic
/**
* Manager for SeminarTopic
*/
public static class SeminarTopicManager extends TopicBase {
public String topicName="SeminarTopic";
public transient List<SeminarTopic> mSeminarTopics=new ArrayList<SeminarTopic>();
public transient Map<String,SeminarTopic> mSeminarTopicMap=new LinkedHashMap<String,SeminarTopic>();
/**
* get my SeminarTopics
*/
public List<SeminarTopic> getSeminarTopics() {
List<SeminarTopic> result=this.mSeminarTopics;
return result;
}
/**
* add a new SeminarTopic
*/
public SeminarTopic add(SeminarTopic pSeminarTopic) {
mSeminarTopics.add(pSeminarTopic);
mSeminarTopicMap.put(pSeminarTopic.getPageid(),pSeminarTopic);
return pSeminarTopic;
}
/**
* add a new SeminarTopic from the given triple
*/
public SeminarTopic add(TripleQuery query,Triple pSeminarTopicTriple) {
SeminarTopic lSeminarTopic=new SeminarTopic(query,pSeminarTopicTriple);
add(lSeminarTopic);
return lSeminarTopic;
}
// reinitialize my mSeminarTopic map
public void reinit() {
mSeminarTopicMap.clear();
for (SeminarTopic lSeminarTopic:mSeminarTopics) {
mSeminarTopicMap.put(lSeminarTopic.getPageid(),lSeminarTopic);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static SeminarTopicManager fromJson(String json) {
SeminarTopicManager result=JSON.parseObject(json, SeminarTopicManager.class);
result.reinit();
return result;
}
// default constructor for SeminarTopic Manager
public SeminarTopicManager() {}
// add SeminarTopics from the given query
public void addSeminarTopics(TripleQuery pSeminarTopicQuery,TripleQuery query) {
if (pSeminarTopicQuery!=null) {
for (Triple lSeminarTopicTriple:pSeminarTopicQuery.getTriples()) {
add(query,lSeminarTopicTriple);
}
}
}
// construct me from the given triple Query query
public SeminarTopicManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSeminarTopicQuery=query.query(null,"isA","SeminarTopic");
addSeminarTopics(lSeminarTopicQuery,query);
// then the SMW triplestore
lSeminarTopicQuery=query.query(null,"Property:IsA","SeminarTopic");
addSeminarTopics(lSeminarTopicQuery,query);
init(query);
} // constructor for SeminarTopic Manager
// >>>{user defined topicmanager code}{SeminarTopic}{SeminarTopic}
// <<<{user defined topicmanager code}{SeminarTopic}{SeminarTopic}
} // class SeminarTopic Manager
}