Difference between revisions of "Concept:PID/Java"
Jump to navigation
Jump to search
(created by WikiTask 2017-04-18T09:37:37Z) |
m (created by WikiTask 2017-04-18T10:15:37Z) |
||
Line 103: | Line 103: | ||
public String id; | public String id; | ||
public String name; | public String name; | ||
+ | public String links; | ||
+ | public String examples; | ||
public String getId() { return id; } | public String getId() { return id; } | ||
Line 108: | Line 110: | ||
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 getLinks() { return links; } | ||
+ | public void setLinks(String pLinks) { links=pLinks; } | ||
+ | public String getExamples() { return examples; } | ||
+ | public void setExamples(String pExamples) { examples=pExamples; } | ||
/** | /** | ||
* convert this PID to a JSON string | * convert this PID to a JSON string | ||
Line 120: | Line 126: | ||
wikison+=toWikiSon("id",id); | wikison+=toWikiSon("id",id); | ||
wikison+=toWikiSon("name",name); | wikison+=toWikiSon("name",name); | ||
+ | wikison+=toWikiSon("links",links); | ||
+ | wikison+=toWikiSon("examples",examples); | ||
wikison+="}}\n"; | wikison+="}}\n"; | ||
return wikison; | return wikison; | ||
Line 160: | Line 168: | ||
if (nameTriple!=null) | if (nameTriple!=null) | ||
name=nameTriple.getObject().toString(); | name=nameTriple.getObject().toString(); | ||
+ | Triple linksTriple=query.selectSingle(pageid,"links",null); | ||
+ | if (linksTriple==null) | ||
+ | linksTriple=query.selectSingle(pageid,"Property:PID_links",null); | ||
+ | if (linksTriple!=null) | ||
+ | links=linksTriple.getObject().toString(); | ||
+ | Triple examplesTriple=query.selectSingle(pageid,"examples",null); | ||
+ | if (examplesTriple==null) | ||
+ | examplesTriple=query.selectSingle(pageid,"Property:PID_examples",null); | ||
+ | if (examplesTriple!=null) | ||
+ | examples=examplesTriple.getObject().toString(); | ||
init(query); | init(query); | ||
} // constructor for PID | } // constructor for PID | ||
Line 245: | Line 263: | ||
// <<<{user defined topicmanager code}{PID}{PID} | // <<<{user defined topicmanager code}{PID}{PID} | ||
} // class PID Manager | } // class PID Manager | ||
+ | /** | ||
+ | * CANInfo | ||
+ | * OBD-II Diagnostic CAN Bus Information item | ||
+ | */ | ||
+ | public static class CANInfo extends TopicBase { | ||
+ | |||
+ | public String name; | ||
+ | |||
+ | public String getName() { return name; } | ||
+ | public void setName(String pName) { name=pName; } | ||
+ | /** | ||
+ | * convert this CANInfo to a JSON string | ||
+ | */ | ||
+ | public String toJson() { return JSON.toJSONString(this); } | ||
+ | |||
+ | /** | ||
+ | * convert this CANInfo to a WikiSon string | ||
+ | */ | ||
+ | public String toWikiSon() { | ||
+ | String wikison= "{{CANInfo\n"; | ||
+ | wikison+=toWikiSon("name",name); | ||
+ | wikison+="}}\n"; | ||
+ | return wikison; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * get the pageid for this topic | ||
+ | */ | ||
+ | public String getPageid() { return pageid; }; | ||
+ | |||
+ | /** | ||
+ | * default constructor for CANInfo | ||
+ | */ | ||
+ | public CANInfo() {} | ||
+ | |||
+ | /** | ||
+ | * construct a CANInfo from the given Triple | ||
+ | * @param query - the TripleQuery to get the triples from | ||
+ | * @param pCANInfoTriple - the triple to construct me from | ||
+ | */ | ||
+ | public CANInfo(TripleQuery query,Triple pCANInfoTriple) { | ||
+ | this(query,pCANInfoTriple.getSubject().toString()); | ||
+ | } // constructor | ||
+ | |||
+ | /** | ||
+ | * construct a CANInfo from the given pageId | ||
+ | * @param query - the TripleQuery to get the triples from | ||
+ | * @param pageid - pageid | ||
+ | */ | ||
+ | public CANInfo(TripleQuery query,String pageid) { | ||
+ | this.pageid=pageid; | ||
+ | Triple nameTriple=query.selectSingle(pageid,"name",null); | ||
+ | if (nameTriple==null) | ||
+ | nameTriple=query.selectSingle(pageid,"Property:CANInfo_name",null); | ||
+ | if (nameTriple!=null) | ||
+ | name=nameTriple.getObject().toString(); | ||
+ | init(query); | ||
+ | } // constructor for CANInfo | ||
+ | |||
+ | // >>>{user defined topic code}{CANInfo}{CANInfo} | ||
+ | // <<<{user defined topic code}{CANInfo}{CANInfo} | ||
+ | } // class CANInfo | ||
+ | /** | ||
+ | * Manager for CANInfo | ||
+ | */ | ||
+ | public static class CANInfoManager extends TopicBase { | ||
+ | |||
+ | public String topicName="CANInfo"; | ||
+ | public transient List<CANInfo> mCANInfos=new ArrayList<CANInfo>(); | ||
+ | public transient Map<String,CANInfo> mCANInfoMap=new LinkedHashMap<String,CANInfo>(); | ||
+ | |||
+ | /** | ||
+ | * get my CANInfos | ||
+ | */ | ||
+ | public List<CANInfo> getCANInfos() { | ||
+ | List<CANInfo> result=this.mCANInfos; | ||
+ | return result; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * add a new CANInfo | ||
+ | */ | ||
+ | public CANInfo add(CANInfo pCANInfo) { | ||
+ | mCANInfos.add(pCANInfo); | ||
+ | mCANInfoMap.put(pCANInfo.getPageid(),pCANInfo); | ||
+ | return pCANInfo; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * add a new CANInfo from the given triple | ||
+ | */ | ||
+ | public CANInfo add(TripleQuery query,Triple pCANInfoTriple) { | ||
+ | CANInfo lCANInfo=new CANInfo(query,pCANInfoTriple); | ||
+ | add(lCANInfo); | ||
+ | return lCANInfo; | ||
+ | } | ||
+ | |||
+ | // reinitialize my mCANInfo map | ||
+ | public void reinit() { | ||
+ | mCANInfoMap.clear(); | ||
+ | for (CANInfo lCANInfo:mCANInfos) { | ||
+ | mCANInfoMap.put(lCANInfo.getPageid(),lCANInfo); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // convert this manager to json format | ||
+ | public String toJson() { return JSON.toJSONString(this); } | ||
+ | |||
+ | // get a new manager from the given json string | ||
+ | public static CANInfoManager fromJson(String json) { | ||
+ | CANInfoManager result=JSON.parseObject(json, CANInfoManager.class); | ||
+ | result.reinit(); | ||
+ | return result; | ||
+ | } | ||
+ | |||
+ | // default constructor for CANInfo Manager | ||
+ | public CANInfoManager() {} | ||
+ | |||
+ | // add CANInfos from the given query | ||
+ | public void addCANInfos(TripleQuery pCANInfoQuery,TripleQuery query) { | ||
+ | if (pCANInfoQuery!=null) { | ||
+ | for (Triple lCANInfoTriple:pCANInfoQuery.getTriples()) { | ||
+ | add(query,lCANInfoTriple); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // construct me from the given triple Query query | ||
+ | public CANInfoManager(TripleQuery query) { | ||
+ | // first query the SiDIF bases triplestore | ||
+ | TripleQuery lCANInfoQuery=query.query(null,"isA","CANInfo"); | ||
+ | addCANInfos(lCANInfoQuery,query); | ||
+ | // then the SMW triplestore | ||
+ | lCANInfoQuery=query.query(null,"Property:IsA","CANInfo"); | ||
+ | addCANInfos(lCANInfoQuery,query); | ||
+ | init(query); | ||
+ | } // constructor for CANInfo Manager | ||
+ | |||
+ | // >>>{user defined topicmanager code}{CANInfo}{CANInfo} | ||
+ | // <<<{user defined topicmanager code}{CANInfo}{CANInfo} | ||
+ | } // class CANInfo Manager | ||
} | } |
Revision as of 11:15, 18 April 2017
java code
<source lang='java' id='javacode'>@// 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 = "\n"; if (value != null) result = "|" + name + "=" + value + "\n"; return result; }
/** * get the propertySidif of the given property * * @param name * @param value * @return */ public static String propertySiDIF(String name, String value, String type) { // default is an empty string - no property line for emtpy values String result = ""; // 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 result += quote + value + quote + " is " + name + " of it\n"; } // 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 /** * PID * OBD-II Diagnostic Parameter */ public static class PID extends TopicBase { public String id; public String name; public String links; public String examples;
public String getId() { return id; } public void setId(String pId) { id=pId; } public String getName() { return name; } public void setName(String pName) { name=pName; } public String getLinks() { return links; } public void setLinks(String pLinks) { links=pLinks; } public String getExamples() { return examples; } public void setExamples(String pExamples) { examples=pExamples; } /** * convert this PID to a JSON string */ public String toJson() { return JSON.toJSONString(this); }
/** * convert this PID to a WikiSon string */ public String toWikiSon() { String wikison= "{{PID\n"; wikison+=toWikiSon("id",id); wikison+=toWikiSon("name",name); wikison+=toWikiSon("links",links); wikison+=toWikiSon("examples",examples); wikison+="}}\n"; return wikison; } /** * get the pageid for this topic */ public String getPageid() { return pageid; };
/** * default constructor for PID */ public PID() {}
/** * construct a PID from the given Triple * @param query - the TripleQuery to get the triples from * @param pPIDTriple - the triple to construct me from */ public PID(TripleQuery query,Triple pPIDTriple) { this(query,pPIDTriple.getSubject().toString()); } // constructor
/** * construct a PID from the given pageId * @param query - the TripleQuery to get the triples from * @param pageid - pageid */ public PID(TripleQuery query,String pageid) { this.pageid=pageid; Triple idTriple=query.selectSingle(pageid,"id",null); if (idTriple==null) idTriple=query.selectSingle(pageid,"Property:PID_id",null); if (idTriple!=null) id=idTriple.getObject().toString(); Triple nameTriple=query.selectSingle(pageid,"name",null); if (nameTriple==null) nameTriple=query.selectSingle(pageid,"Property:PID_name",null); if (nameTriple!=null) name=nameTriple.getObject().toString(); Triple linksTriple=query.selectSingle(pageid,"links",null); if (linksTriple==null) linksTriple=query.selectSingle(pageid,"Property:PID_links",null); if (linksTriple!=null) links=linksTriple.getObject().toString(); Triple examplesTriple=query.selectSingle(pageid,"examples",null); if (examplesTriple==null) examplesTriple=query.selectSingle(pageid,"Property:PID_examples",null); if (examplesTriple!=null) examples=examplesTriple.getObject().toString(); init(query); } // constructor for PID // >>>{user defined topic code}{PID}{PID} // <<<{user defined topic code}{PID}{PID} } // class PID /** * Manager for PID */ public static class PIDManager extends TopicBase { public String topicName="PID"; public transient List<PID> mPIDs=new ArrayList<PID>(); public transient Map<String,PID> mPIDMap=new LinkedHashMap<String,PID>();
/** * get my PIDs */ public List<PID> getPIDs() { List<PID> result=this.mPIDs; return result; }
/** * add a new PID */ public PID add(PID pPID) { mPIDs.add(pPID); mPIDMap.put(pPID.getPageid(),pPID); return pPID; }
/** * add a new PID from the given triple */ public PID add(TripleQuery query,Triple pPIDTriple) { PID lPID=new PID(query,pPIDTriple); add(lPID); return lPID; }
// reinitialize my mPID map public void reinit() { mPIDMap.clear(); for (PID lPID:mPIDs) { mPIDMap.put(lPID.getPageid(),lPID); } }
// convert this manager to json format public String toJson() { return JSON.toJSONString(this); } // get a new manager from the given json string public static PIDManager fromJson(String json) { PIDManager result=JSON.parseObject(json, PIDManager.class); result.reinit(); return result; }
// default constructor for PID Manager public PIDManager() {}
// add PIDs from the given query public void addPIDs(TripleQuery pPIDQuery,TripleQuery query) { if (pPIDQuery!=null) { for (Triple lPIDTriple:pPIDQuery.getTriples()) { add(query,lPIDTriple); } } }
// construct me from the given triple Query query public PIDManager(TripleQuery query) { // first query the SiDIF bases triplestore TripleQuery lPIDQuery=query.query(null,"isA","PID"); addPIDs(lPIDQuery,query); // then the SMW triplestore lPIDQuery=query.query(null,"Property:IsA","PID"); addPIDs(lPIDQuery,query); init(query); } // constructor for PID Manager // >>>{user defined topicmanager code}{PID}{PID} // <<<{user defined topicmanager code}{PID}{PID} } // class PID Manager /** * CANInfo * OBD-II Diagnostic CAN Bus Information item */ public static class CANInfo extends TopicBase { public String name;
public String getName() { return name; } public void setName(String pName) { name=pName; } /** * convert this CANInfo to a JSON string */ public String toJson() { return JSON.toJSONString(this); }
/** * convert this CANInfo to a WikiSon string */ public String toWikiSon() { String wikison= "{{CANInfo\n"; wikison+=toWikiSon("name",name); wikison+="}}\n"; return wikison; } /** * get the pageid for this topic */ public String getPageid() { return pageid; };
/** * default constructor for CANInfo */ public CANInfo() {}
/** * construct a CANInfo from the given Triple * @param query - the TripleQuery to get the triples from * @param pCANInfoTriple - the triple to construct me from */ public CANInfo(TripleQuery query,Triple pCANInfoTriple) { this(query,pCANInfoTriple.getSubject().toString()); } // constructor
/** * construct a CANInfo from the given pageId * @param query - the TripleQuery to get the triples from * @param pageid - pageid */ public CANInfo(TripleQuery query,String pageid) { this.pageid=pageid; Triple nameTriple=query.selectSingle(pageid,"name",null); if (nameTriple==null) nameTriple=query.selectSingle(pageid,"Property:CANInfo_name",null); if (nameTriple!=null) name=nameTriple.getObject().toString(); init(query); } // constructor for CANInfo // >>>{user defined topic code}{CANInfo}{CANInfo} // <<<{user defined topic code}{CANInfo}{CANInfo} } // class CANInfo /** * Manager for CANInfo */ public static class CANInfoManager extends TopicBase { public String topicName="CANInfo"; public transient List<CANInfo> mCANInfos=new ArrayList<CANInfo>(); public transient Map<String,CANInfo> mCANInfoMap=new LinkedHashMap<String,CANInfo>();
/** * get my CANInfos */ public List<CANInfo> getCANInfos() { List<CANInfo> result=this.mCANInfos; return result; }
/** * add a new CANInfo */ public CANInfo add(CANInfo pCANInfo) { mCANInfos.add(pCANInfo); mCANInfoMap.put(pCANInfo.getPageid(),pCANInfo); return pCANInfo; }
/** * add a new CANInfo from the given triple */ public CANInfo add(TripleQuery query,Triple pCANInfoTriple) { CANInfo lCANInfo=new CANInfo(query,pCANInfoTriple); add(lCANInfo); return lCANInfo; }
// reinitialize my mCANInfo map public void reinit() { mCANInfoMap.clear(); for (CANInfo lCANInfo:mCANInfos) { mCANInfoMap.put(lCANInfo.getPageid(),lCANInfo); } }
// convert this manager to json format public String toJson() { return JSON.toJSONString(this); } // get a new manager from the given json string public static CANInfoManager fromJson(String json) { CANInfoManager result=JSON.parseObject(json, CANInfoManager.class); result.reinit(); return result; }
// default constructor for CANInfo Manager public CANInfoManager() {}
// add CANInfos from the given query public void addCANInfos(TripleQuery pCANInfoQuery,TripleQuery query) { if (pCANInfoQuery!=null) { for (Triple lCANInfoTriple:pCANInfoQuery.getTriples()) { add(query,lCANInfoTriple); } } }
// construct me from the given triple Query query public CANInfoManager(TripleQuery query) { // first query the SiDIF bases triplestore TripleQuery lCANInfoQuery=query.query(null,"isA","CANInfo"); addCANInfos(lCANInfoQuery,query); // then the SMW triplestore lCANInfoQuery=query.query(null,"Property:IsA","CANInfo"); addCANInfos(lCANInfoQuery,query); init(query); } // constructor for CANInfo Manager // >>>{user defined topicmanager code}{CANInfo}{CANInfo} // <<<{user defined topicmanager code}{CANInfo}{CANInfo} } // class CANInfo Manager
}