You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2015/03/22 13:11:16 UTC

[20/51] [partial] clerezza git commit: CLEREZZA-966: started hierarchical project structure, moved platform bundles to platform, only moved RDF artifacts ported to use commons to the rdf folder.

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageDescription.java
----------------------------------------------------------------------
diff --git a/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageDescription.java b/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageDescription.java
deleted file mode 100644
index 498dbbb..0000000
--- a/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageDescription.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.clerezza.platform.language;
-
-import java.util.Iterator;
-import java.util.concurrent.locks.Lock;
-import org.apache.clerezza.rdf.core.Language;
-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.TripleCollection;
-import org.apache.clerezza.rdf.core.access.LockableMGraph;
-import org.apache.clerezza.rdf.ontologies.LINGVOJ;
-import org.apache.clerezza.rdf.ontologies.RDFS;
-import org.apache.clerezza.rdf.utils.GraphNode;
-
-/**
- * An object of this class keeps information about a language.
- *
- * @author mir
- */
-public class LanguageDescription {
-
-    private GraphNode resource;
-    private Language language;
-
-    LanguageDescription(GraphNode resource) {
-        this.resource = resource;
-        Literal iso1Literal = null;
-        TripleCollection configGraph = resource.getGraph();
-        if (configGraph instanceof LockableMGraph) {
-            LockableMGraph lockableConfigGraph = (LockableMGraph)configGraph;
-            Lock readLock = lockableConfigGraph.getLock().readLock();
-            readLock.lock();
-            try {
-                iso1Literal = (Literal) resource.getObjects(LINGVOJ.iso1).next();
-            } finally {
-                readLock.unlock();
-            }
-        } else {
-            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);
-    }
-
-    /**
-     * Returns a <code>Language</code> object which represents the language
-     * described by this object.
-     * @return the described language
-     */
-    public Language getLanguage() {
-        return language;
-    }
-
-    /**
-     * Returns a graph node in the content graph which leads to further
-     * information about the language described by this object.
-     * The information are those provided by http://www.lingvoj.org/lingvoj.rdf.
-     * @return the graph node leading to further information about the described
-     *        language
-     */
-    public GraphNode getResource() {
-        return resource;
-    }
-
-    /**
-     * Returns the label of the language described by this object in the
-     * specified language, or null if no lable is available in that language
-     * @param lang the language in which the label should be.
-     * @return
-     */
-    public String getLabel(Language lang) {
-        Lock readLock = null;
-        TripleCollection configGraph = resource.getGraph();
-        if (configGraph instanceof LockableMGraph) {
-            LockableMGraph lockableConfigGraph = (LockableMGraph)configGraph;
-            readLock = lockableConfigGraph.getLock().readLock();
-            readLock.lock();
-        }
-        try {
-            Iterator<Resource> labels = resource.getObjects(RDFS.label);
-            while (labels.hasNext()) {
-                PlainLiteral label = (PlainLiteral) labels.next();
-                if (label.getLanguage().equals(lang)) {
-                    return label.getLexicalForm();
-                }
-            }
-            return null;
-        } finally {
-            if (readLock != null) {
-                readLock.unlock();
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java
----------------------------------------------------------------------
diff --git a/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java b/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java
deleted file mode 100644
index 883a9c9..0000000
--- a/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.clerezza.platform.language;
-
-import java.io.IOException;
-import java.lang.ref.SoftReference;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.locks.Lock;
-import org.apache.clerezza.platform.config.PlatformConfig;
-import org.apache.clerezza.platform.config.SystemConfig;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.clerezza.rdf.core.BNode;
-import org.apache.clerezza.rdf.core.Graph;
-import org.apache.clerezza.rdf.core.Language;
-import org.apache.clerezza.rdf.core.MGraph;
-import org.osgi.service.component.ComponentContext;
-import org.apache.clerezza.rdf.core.NonLiteral;
-import org.apache.clerezza.rdf.core.PlainLiteral;
-import org.apache.clerezza.rdf.core.Resource;
-import org.apache.clerezza.rdf.core.Triple;
-import org.apache.clerezza.rdf.core.UriRef;
-import org.apache.clerezza.rdf.core.access.LockableMGraph;
-import org.apache.clerezza.rdf.core.access.SecuredMGraph;
-import org.apache.clerezza.rdf.core.access.TcManager;
-import org.apache.clerezza.rdf.core.impl.SimpleMGraph;
-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;
-import org.apache.clerezza.rdf.utils.GraphNode;
-import org.apache.clerezza.rdf.utils.RdfList;
-
-/**
- * This class provides a OSGi service for managing languages in the Clerezza
- * platform.
- * 
- * @author mir
- */
-@Component(immediate=true, enabled= true)
-@Service(LanguageService.class)
-public class LanguageService {    
-
-    @Reference
-    private TcManager tcManager;
-
-    /**
-     * this is linked to the system-graph, accessing requires respective
-     * permission
-     */
-    private List<Resource> languageList;
-    /**
-     * no permission on the system graph required to access this
-     */
-    private List<Resource> languageListCache;
-
-    private static final String PARSER_FILTER =
-            "(supportedFormat=" + SupportedFormat.RDF_XML +")";
-
-    @Reference(target=PARSER_FILTER)
-    private ParsingProvider parser;
-
-    @Reference(target = SystemConfig.SYSTEM_GRAPH_FILTER)
-    private MGraph securedSystemGraph;
-
-    @Reference(target = PlatformConfig.CONFIG_GRAPH_FILTER)
-    private MGraph securedConfigGraph;
-    
-    private SoftReference<Graph> softLingvojGraph = new SoftReference<Graph>(null);
-
-
-    private LockableMGraph getSystemGraph() {
-        return ((SecuredMGraph) securedSystemGraph).getUnsecuredMGraph();
-    }
-
-    private LockableMGraph getConfigGraph() {
-        return ((SecuredMGraph) securedConfigGraph).getUnsecuredMGraph();
-    }
-
-    /**
-     * Returns a <code>List</code> of <code>LanguageDescription</code>s which
-     * describe the languages which are supported by the platform. The first
-     * entry describes the default language of the platform.
-     * @return a list containing all language descriptions.
-     */
-    public List<LanguageDescription> getLanguages() {
-        List<LanguageDescription> langList = new ArrayList<LanguageDescription>();
-        Iterator<Resource> languages = languageListCache.iterator();
-        while (languages.hasNext()) {
-            UriRef language = (UriRef) languages.next();
-            langList.add(new LanguageDescription(new GraphNode(language, getConfigGraph())));
-        }
-        return langList;
-    }
-
-    /**
-     * Returns the <code>LanguageDescription</code> of the default language
-     * of the platform.
-     * @return the language description of the default language.
-     */
-    public LanguageDescription getDefaultLanguage() {
-        return new LanguageDescription(
-                new GraphNode(languageListCache.get(0), getConfigGraph()));
-    }
-
-    /**
-     * Returns a set containg all language uris which are in the
-     * <http://www.lingvoj.org/lingvoj> graph which is included in this bundle.
-     * @return a set containing all language uris. This uris can be used to 
-     * add the language to Clerezza over the addLanguage()-method in this class.
-     */
-    public Set<UriRef> getAllLanguages() {
-        Set<UriRef> result = new HashSet<UriRef>();
-        Graph lingvojGraph = getLingvojGraph();
-        Iterator<Triple> languages = lingvojGraph.filter(null, RDFS.isDefinedBy,
-                null);
-        while (languages.hasNext()) {
-            UriRef languageUri = (UriRef) languages.next().getSubject();
-            result.add(languageUri);
-        }
-        return result;
-    }
-
-    /**
-     * Returns a language uri of a language which has a label containing the
-     * specified languageName. The label itself is in the language specified through
-     * inLanguage. If inLanguage is null, then all labels of a language of searched.
-     * If no language was found in the <http://www.lingvoj.org/lingvoj>
-     * graph, then null is returned. The returned uri can be used to
-     * add the language to Clerezza over the addLanguage()-method in this class.
-     * @return a language uris
-     */
-    public UriRef getLanguage(String languageName, Language inLanguage) {
-        Graph lingvojGraph = getLingvojGraph();
-        Iterator<Triple> languages = lingvojGraph.filter(null, RDFS.isDefinedBy, null);
-        while (languages.hasNext()) {
-            GraphNode languageNode = new GraphNode((UriRef) languages.next().getSubject(), lingvojGraph);
-            Iterator<Resource> labels = languageNode.getObjects(RDFS.label);
-            while (labels.hasNext()) {
-                PlainLiteral label = (PlainLiteral) labels.next();
-                if (label.getLanguage().equals(inLanguage) || inLanguage == null) {
-                    if (label.getLexicalForm().contains(languageName)) {
-                        return (UriRef) languageNode.getNode();
-                    }
-                }
-            }
-        }
-        return null;
-    }
-    
-    /**
-     * Get the language as <code>GraphNode</code> specified through languageUri. 
-     * The languageUri has to be a <http://www.lingvoj.org/ontology#Lingvo>
-     * according to the graph <http://www.lingvoj.org/lingvoj> included in this
-     * bundle., e.g. "http://www.lingvoj.org/lang/de".
-     *
-     * @param languageUri The language uri which specifies the language 
-     */
-    public GraphNode getLanguageNode(NonLiteral langUri) {
-        Graph lingvojRdf = getLingvojGraph();
-        return new GraphNode(langUri, lingvojRdf);
-    }
-
-    /**
-     * Adds the language specified through languageUri to the Clerezza
-     * platform. The languageUri has to be a <http://www.lingvoj.org/ontology#Lingvo>
-     * according to the graph <http://www.lingvoj.org/lingvoj> included in this
-     * bundle., e.g. "http://www.lingvoj.org/lang/de" adds German.
-     * The uri is added to the system graph and its context to the config graph.
-     * The context added is the context provided by lingvoj.rdf.
-     * @param languageUri The language uri which specifies the language to be
-     *        added to the platform.
-     */
-    public void addLanguage(UriRef languageUri) {
-        if (!languageListCache.contains(languageUri)) {
-            LockableMGraph systemGraph = getSystemGraph();
-            Lock writeLock = systemGraph.getLock().writeLock();
-            writeLock.lock();
-            try {
-                if (languageList.add(languageUri)) {
-                    addToLanguageConfigGraph(languageUri);
-                }
-            } finally {
-                writeLock.unlock();
-            }
-            languageListCache.add(languageUri);
-        }
-    }
-
-    private void synchronizeContentGraph() {
-        for (Resource resource : languageListCache) {
-            addToLanguageConfigGraph((UriRef)resource);
-        }
-    }
-    /**
-     * Adds the language information of the language specified through
-     * languageUri to the config graph. The languageUri has to be of type 
-     * <http://www.lingvoj.org/ontology#Lingvo> according to the graph 
-     * <http://www.lingvoj.org/lingvoj> included in this
-     * bundle., e.g. "http://www.lingvoj.org/lang/de" adds German.
-     * 
-     * The added language will not be a platform language.
-     *
-     * @param languageUri
-     */
-    public void addToLanguageConfigGraph(NonLiteral languageUri) {
-        LockableMGraph configGraph = getConfigGraph();
-        Lock writeLock = configGraph.getLock().writeLock();
-        writeLock.lock();
-        try {
-            if (!configGraph.filter(languageUri, LINGVOJ.iso1, null).hasNext()) {
-                configGraph.addAll(getLanguageContext(languageUri));
-            }
-        } finally {
-            writeLock.unlock();
-        }
-    }
-
-    private Graph getLanguageContext(NonLiteral langUri) {
-        Graph lingvojRdf = getLingvojGraph();
-        GraphNode languageNode = new GraphNode(langUri, lingvojRdf);
-        return languageNode.getNodeContext();
-    }
-    
-    private Graph getLingvojGraph() {
-        Graph lingvojGraph = softLingvojGraph.get();
-        if (lingvojGraph != null) {
-            return lingvojGraph;
-        }
-        URL config = getClass().getResource("lingvoj.rdf");
-        if (config == null) {
-            throw new RuntimeException("no file found");
-        }
-        try {
-            MGraph lingvojMGraph = new SimpleMGraph();
-            parser.parse(lingvojMGraph, config.openStream(), SupportedFormat.RDF_XML, null);
-            lingvojGraph = lingvojMGraph.getGraph();
-            softLingvojGraph = new SoftReference<Graph>(lingvojGraph);
-            return lingvojGraph;
-        } catch (IOException ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-
-    /**
-     * The activate method is called when SCR activates the component configuration.
-     * 
-     * @param componentContext
-     */
-    protected void activate(ComponentContext componentContext) {
-        LockableMGraph systemGraph = getSystemGraph();
-        NonLiteral listNode = getListNode(systemGraph);
-
-        Lock writeLock = systemGraph.getLock().writeLock();
-        writeLock.lock();
-        try {
-            // the constructor of RdfList might write to the graph! => requires a write lock
-            final RdfList rdfList = new RdfList(listNode, systemGraph);
-            languageList = Collections.synchronizedList(rdfList);
-            //access to languages should not require access to system graph,
-            //so copying the resources to an ArrayList
-            languageListCache = Collections.synchronizedList(
-                    new ArrayList<Resource>(rdfList));
-            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();
-        } finally {
-            writeLock.unlock();
-        }
-    }
-
-    private NonLiteral getListNode(LockableMGraph systemGraph) {
-        NonLiteral instance = null;
-        Lock readLock = systemGraph.getLock().readLock();
-        readLock.lock();
-        try {
-            Iterator<Triple> instances = systemGraph.filter(null, RDF.type, PLATFORM.Instance);
-            if (!instances.hasNext()) {
-                throw new RuntimeException("No Platform:Instance in system graph.");
-            }
-            instance = instances.next().getSubject();
-            Iterator<Triple> langListIter = systemGraph.filter(instance,
-                    PLATFORM.languages, null);
-            if (langListIter.hasNext()) {
-                return (NonLiteral) langListIter.next().getObject();
-            }
-        } finally {
-            readLock.unlock();
-        }
-        BNode listNode = new BNode();
-        Lock writeLock = systemGraph.getLock().writeLock();
-        writeLock.lock();
-        try {
-            systemGraph.add(new TripleImpl(instance, PLATFORM.languages, listNode));
-        } finally {
-            writeLock.unlock();
-        }
-        return listNode;
-    }
-}

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageWidget.java
----------------------------------------------------------------------
diff --git a/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageWidget.java b/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageWidget.java
deleted file mode 100644
index a403a08..0000000
--- a/platform.language/platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageWidget.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.clerezza.platform.language;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.security.AccessControlException;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.List;
-import java.util.concurrent.locks.Lock;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.MediaType;
-import org.apache.clerezza.platform.Constants;
-import org.apache.clerezza.platform.config.PlatformConfig;
-
-import org.apache.clerezza.rdf.utils.GraphNode;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
-import org.osgi.service.component.ComponentContext;
-import org.apache.clerezza.platform.language.ontologies.LANGUAGE;
-import org.apache.clerezza.platform.typerendering.RenderletManager;
-import org.apache.clerezza.platform.typerendering.UserContextProvider;
-import org.apache.clerezza.platform.typerendering.scalaserverpages.ScalaServerPagesRenderlet;
-import org.apache.clerezza.rdf.core.BNode;
-import org.apache.clerezza.rdf.core.NonLiteral;
-import org.apache.clerezza.rdf.core.TripleCollection;
-import org.apache.clerezza.rdf.core.UriRef;
-import org.apache.clerezza.rdf.core.access.LockableMGraph;
-import org.apache.clerezza.rdf.core.access.TcManager;
-import org.apache.clerezza.rdf.core.impl.TripleImpl;
-import org.apache.clerezza.rdf.ontologies.PLATFORM;
-import org.apache.clerezza.rdf.ontologies.RDF;
-import org.apache.clerezza.rdf.utils.RdfList;
-import org.apache.clerezza.rdf.utils.UnionMGraph;
-import org.apache.clerezza.web.fileserver.BundlePathNode;
-import org.apache.clerezza.web.fileserver.FileServer;
-import org.apache.felix.scr.annotations.Services;
-import org.osgi.framework.Bundle;
-import org.wymiwyg.commons.util.dirbrowser.PathNode;
-
-/**
- * Use the LanguageWidget service to store an RDF list of
- * languages in a triple collection and retrieve the root node of the list. The widget
- * can be rendered by using the render method. Via javascript function
- * LanguageList.getLanguage() the currently selected language can be retrieved.
- *
- * @author tio
- */
-@Component(enabled=true, immediate=true)
-@Services({
-    @Service(Object.class),
-    @Service(UserContextProvider.class)
-})
-@Property(name = "javax.ws.rs", boolValue = true)
-
-@Path("/language-widget")
-public class LanguageWidget implements UserContextProvider {
-
-    private FileServer fileServer;
-
-    @Reference
-    private TcManager tcManager;
-
-    @Reference
-    private PlatformConfig platformConfig;
-
-    @Reference
-    private RenderletManager renderletManager;
-
-    @Reference
-    private LanguageService languageService;
-    
-    protected void activate(ComponentContext context) throws IOException, URISyntaxException {
-        Bundle bundle = context.getBundleContext().getBundle();
-        URL resourceDir = getClass().getResource("staticweb");
-        PathNode pathNode = new BundlePathNode(bundle, resourceDir.getPath());
-
-        fileServer = new FileServer(pathNode);
-
-        URL template = getClass().getResource("language-list.ssp");
-        renderletManager.registerRenderlet(ScalaServerPagesRenderlet.class.getName(),
-                new UriRef(template.toURI().toString()),
-                LANGUAGE.LanguageList, "naked",
-                MediaType.APPLICATION_XHTML_XML_TYPE, true);
-
-    }
-
-    private LockableMGraph getConfigGraph() {
-        return tcManager.getMGraph(Constants.CONFIG_GRAPH_URI);
-    }
-
-    /**
-     *
-     * @param node  The graph of the specified GraphNode will not be locked, neither for reading nor writing.
-     *        It is the responsibility of the calling function to set the write lock, if necessary.
-     * @return
-     */
-    @Override
-    public GraphNode addUserContext(final GraphNode node) {    
-        final NonLiteral platformInstance = AccessController.doPrivileged(
-            new PrivilegedAction<NonLiteral>() {
-                @Override
-                public NonLiteral run() {
-                    return (NonLiteral) platformConfig.getPlatformInstance().getNode();
-                }
-            });
-        try {
-            return addLanguages(node, platformInstance, languageService.getLanguages(), false);
-             
-        } catch (AccessControlException ex) {
-            return AccessController.doPrivileged(
-                new PrivilegedAction<GraphNode>() {
-                    @Override
-                    public GraphNode run() {
-                        return addLanguages(node, platformInstance, languageService.getLanguages(), true);
-                    }
-                });
-        }        
-    }
-
-    private GraphNode addLanguages(GraphNode node, NonLiteral platformInstance, List<LanguageDescription> languages,
-            boolean copyToNode) {
-        TripleCollection graph = node.getGraph();
-        BNode listNode = new BNode();        
-        RdfList list = new RdfList(listNode, graph);
-        LockableMGraph configGraph = getConfigGraph();
-        Lock readLock = configGraph.getLock().readLock();
-        for (LanguageDescription languageDescription : languages) {
-            NonLiteral languageUri = (NonLiteral) languageDescription.getResource().getNode();
-            list.add(languageUri);
-            if (copyToNode) {
-                readLock.lock();
-                try {
-                    graph.addAll(new GraphNode(languageUri, configGraph).getNodeContext());
-                } finally {
-                    readLock.unlock();
-                }
-            }
-        }
-        node.addProperty(PLATFORM.instance, platformInstance);
-        graph.add(new TripleImpl(platformInstance, RDF.type, PLATFORM.Instance));
-        graph.add(new TripleImpl(platformInstance, PLATFORM.languages, listNode));
-        graph.add(new TripleImpl(listNode, RDF.type, LANGUAGE.LanguageList));
-        if (!copyToNode) {
-            node = new GraphNode(node.getNode(), new UnionMGraph(graph, configGraph));
-        }
-        return node;
-    }
-
-    /**
-     * Returns a PathNode of a static file from the staticweb folder.
-     *
-     * @param path specifies the path param of a URI
-     *
-     * @return {@link PathNode}
-     */
-    @GET
-    @Path("{path:.+}")
-    public PathNode getStaticFile(@PathParam("path") String path) {
-        return fileServer.getNode(path);
-    }
-}

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.language/platform.language.core/src/main/resources/org/apache/clerezza/platform/language/language-list.ssp
----------------------------------------------------------------------
diff --git a/platform.language/platform.language.core/src/main/resources/org/apache/clerezza/platform/language/language-list.ssp b/platform.language/platform.language.core/src/main/resources/org/apache/clerezza/platform/language/language-list.ssp
deleted file mode 100644
index 362009b..0000000
--- a/platform.language/platform.language.core/src/main/resources/org/apache/clerezza/platform/language/language-list.ssp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-import org.apache.clerezza.rdf.scala.utils.RichGraphNode
-def lingvoj(s: Any) = new UriRef("http://www.lingvoj.org/ontology#"+s)
-def rdfs(s: Any) = new UriRef("http://www.w3.org/2000/01/rdf-schema#"+s)
-def getLabel(language:Language, node:RichGraphNode) : String = {
-	val matchingLabels = for (label <- node/rdfs("label");
-		val labelLiteral = label.getNode.asInstanceOf[PlainLiteral];
-		if (labelLiteral.getLanguage.equals(language))
-	) yield {
-		label*
-	}
-	if (matchingLabels.length == 0) {
-		"no label"
-	} else {
-		matchingLabels.apply(0)
-	}
-}
-resultDocModifier.addScriptReference("/language-widget/scripts/language-list.js")
-val defaultLanguage:Language = new Language(res%!!(0)/lingvoj("iso1")*)
-
-<select name="availablelanguages" id="availablelanguages">
-	<option value={defaultLanguage.toString} selected="selected">{getLabel(defaultLanguage, res%!!(0))}</option>
-	{
-		for(language <- res!!;
-			val iso1 = language/lingvoj("iso1")*;
-			if (!iso1.equals(defaultLanguage.toString))) yield {
-			<option value={iso1}>{getLabel(defaultLanguage,language)}</option>
-		}
-	}
-</select>