Author: reto
Date: Mon Mar 8 10:59:01 2010
New Revision: 920266
URL: http://svn.apache.org/viewvc?rev=920266&view=rev
Log:
object-iterator to return null if iterator doesn't have a next element
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageDescription.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageDescription.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageDescription.java?rev=920266&r1=920265&r2=920266&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageDescription.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageDescription.java
Mon Mar 8 10:59:01 2010
@@ -23,6 +23,7 @@
import org.apache.clerezza.rdf.core.Literal;
import org.apache.clerezza.rdf.core.PlainLiteral;
import org.apache.clerezza.rdf.core.Resource;
+import org.apache.clerezza.rdf.core.UriRef;
import org.apache.clerezza.rdf.ontologies.LINGVOJ;
import org.apache.clerezza.rdf.ontologies.RDFS;
import org.apache.clerezza.rdf.utils.GraphNode;
@@ -39,8 +40,12 @@
LanguageDescription(GraphNode resource) {
this.resource = resource;
- String iso1 =
((Literal)resource.getObjects(LINGVOJ.iso1).next()).
- getLexicalForm();
+ Literal iso1Literal = (Literal)
resource.getObjects(LINGVOJ.iso1).next();
+ if (iso1Literal == null) {
+ throw new RuntimeException("No iso1 code for "
+ +resource.getNode());
+ }
+ String iso1 = iso1Literal.getLexicalForm();
this.language = new Language(iso1);
}
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java?rev=920266&r1=920265&r2=920266&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java
Mon Mar 8 10:59:01 2010
@@ -43,6 +43,7 @@
import org.apache.clerezza.rdf.core.impl.TripleImpl;
import org.apache.clerezza.rdf.core.serializedform.ParsingProvider;
import org.apache.clerezza.rdf.core.serializedform.SupportedFormat;
+import org.apache.clerezza.rdf.ontologies.LINGVOJ;
import org.apache.clerezza.rdf.ontologies.PLATFORM;
import org.apache.clerezza.rdf.ontologies.RDF;
import org.apache.clerezza.rdf.ontologies.RDFS;
@@ -140,14 +141,31 @@
public void addLanguage(UriRef languageUri) {
if (!languageListCache.contains(languageUri)) {
if(languageList.add(languageUri)) {
- cgProvider.getContentGraph().
-
addAll(getLanguageContext(languageUri));
+ addToContentGraph(languageUri);
}
languageListCache.add(languageUri);
}
}
- private Graph getLanguageContext(UriRef langUri) {
+ private void synchronizeContentGraph() {
+ for (Resource resource : languageListCache) {
+ addToContentGraph((UriRef)resource);
+ }
+ }
+ /**
+ * Adds the langugae information for the specified language to the
content
+ * graph, if the content-graph contains no LINGVOJ.iso1 property for
that suject.
+ *
+ * @param languageUri
+ */
+ private void addToContentGraph(NonLiteral languageUri) {
+ final MGraph contentGraph = cgProvider.getContentGraph();
+ if (!contentGraph.filter(languageUri, LINGVOJ.iso1,
null).hasNext()) {
+ contentGraph.addAll(getLanguageContext(languageUri));
+ }
+ }
+
+ private Graph getLanguageContext(NonLiteral langUri) {
Graph lingvojRdf = getLingvojGraph();
GraphNode languageNode = new GraphNode(langUri, lingvojRdf);
return languageNode.getNodeContext();
@@ -187,6 +205,8 @@
if (languageListCache.size() == 0) {
addLanguage(new
UriRef("http://www.lingvoj.org/lang/en"));
}
+ //this is to make sure the content graph contains the relevant
data
+ synchronizeContentGraph();
}
private NonLiteral getListNode() {