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:03 UTC

[07/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.security.foafssl/test/LICENSE
----------------------------------------------------------------------
diff --git a/platform.security.foafssl/test/LICENSE b/platform.security.foafssl/test/LICENSE
deleted file mode 100644
index 261eeb9..0000000
--- a/platform.security.foafssl/test/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.security.foafssl/test/pom.xml
----------------------------------------------------------------------
diff --git a/platform.security.foafssl/test/pom.xml b/platform.security.foafssl/test/pom.xml
deleted file mode 100644
index bea64bd..0000000
--- a/platform.security.foafssl/test/pom.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-<!--
-
- 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.
-
--->
-
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.clerezza</groupId>
-        <artifactId>platform.security.foafssl</artifactId>
-        <version>0.2-SNAPSHOT</version>
-    </parent>
-    <groupId>org.apache.clerezza</groupId>
-    <artifactId>platform.security.foafssl.test</artifactId>
-    <version>0.2-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-    <name>Clerezza - Platform Security foaf+ssl Test Pages</name>
-    <description>
-        Foaf + Ssl test "servlets" to run WebID tests on.  (need to add link to WebID wiki)
-    </description>
-
-    <dependencies>
-        <!--dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.scr.annotations</artifactId>
-        </dependency-->
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>web.fileserver</artifactId>
-            <version>0.10-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>platform.usermanager</artifactId>
-            <version>0.14-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-             <groupId>org.apache.clerezza</groupId>
-             <artifactId>platform.security.foafssl.ontologies</artifactId>
-             <version>0.2-SNAPSHOT</version>
-         </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>rdf.core</artifactId>
-            <version>0.13-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>platform</artifactId>
-            <version>0.2-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>platform.typerendering.core</artifactId>
-            <version>0.3-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>platform.typerendering.scalaserverpages</artifactId>
-            <version>0.4-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>rdf.scala.utils</artifactId>
-            <version>0.4-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>platform.security</artifactId>
-            <version>0.8-incubating</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>platform.typerendering.scala</artifactId>
-            <version>0.2-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>platform.security.foafssl.core</artifactId>
-            <version>0.1-incubating</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>platform.users.core</artifactId>
-            <version>0.2-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.ws.rs</groupId>
-            <artifactId>jsr311-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.scala-lang</groupId>
-            <artifactId>scala-library</artifactId>
-        </dependency>
-          <dependency>
-            <groupId>org.wymiwyg</groupId>
-            <artifactId>jetty-osgi-httpservice</artifactId>
-            <version>0.1</version>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <sourceDirectory>src/main/scala</sourceDirectory>
-        <!--testSourceDirectory>src/runTests/scala</testSourceDirectory-->
-        <plugins>
-            <plugin>
-                <groupId>org.scala-tools</groupId>
-                <artifactId>maven-scala-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>compile</goal>
-                            <goal>testCompile</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <charset>UTF-8</charset>
-                    <!-- <args>
-                        <arg>-target:jvm-1.5</arg>
-                    </args> -->
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <configuration>
-                    <instructions>
-                        <Service-Component>OSGI-INF/serviceComponents.xml</Service-Component>
-                        <Export-Package>org.apache.clerezza.foafssl.test.*</Export-Package>
-                        <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.security.foafssl/test/src/main/resources/META-INF/documentation.nt
----------------------------------------------------------------------
diff --git a/platform.security.foafssl/test/src/main/resources/META-INF/documentation.nt b/platform.security.foafssl/test/src/main/resources/META-INF/documentation.nt
deleted file mode 100644
index 07710c6..0000000
--- a/platform.security.foafssl/test/src/main/resources/META-INF/documentation.nt
+++ /dev/null
@@ -1,2 +0,0 @@
-<bundle:///single-content> <http://discobits.org/ontology#infoBit> "The WebID Test page gives information to the user about all aspects of his WebID claims. \n\nIt tells the user \n\n <ul xmlns=\"http://www.w3.org/1999/xhtml\"><li>what the public key in his certificate was if one was sent</li><li>which of his WebIDs were authenticated if any</li><li>what errors can be found in the WebID profile concerning authentication</li></ul> \n  \n\nThe Profile also allows the user to download a machine readable page which he can send to an administrator in case of difficulties.\n\nThe Machine readable versions of the test results can also be used by automated agents to test the capabilities of this WebID implementation, in order to produce a ranking according to criteria to appear of this implementation compared to others.\n"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .
-<bundle:///single-content> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://discobits.org/ontology#XHTMLInfoDiscoBit> .

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.security.foafssl/test/src/main/resources/OSGI-INF/serviceComponents.xml
----------------------------------------------------------------------
diff --git a/platform.security.foafssl/test/src/main/resources/OSGI-INF/serviceComponents.xml b/platform.security.foafssl/test/src/main/resources/OSGI-INF/serviceComponents.xml
deleted file mode 100644
index 1a99b73..0000000
--- a/platform.security.foafssl/test/src/main/resources/OSGI-INF/serviceComponents.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-
-<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
-    <scr:component enabled="true" name="org.apache.clerezza.foafssl.testserlvets.TestMe" immediate="true">
-        <implementation class="org.apache.clerezza.foafssl.test.WebIDTester"/>
-        <service servicefactory="false">
-            <provide interface="java.lang.Object"/>
-        </service>
-        <property name="javax.ws.rs" type="Boolean" value="true"/>
-        <reference name="webIdGraphsService" interface="org.apache.clerezza.platform.users.WebIdGraphsService"
-                   cardinality="1..1" policy="static" bind="bindWebIdGraphsService" unbind="unbindWebIdGraphsService"/>
-
-    </scr:component>
-    <scr:component enabled="true" name="org.apache.clerezza.foafssl.testservlets.pages.CertificateDescription">
-        <implementation class="org.apache.clerezza.foafssl.test.pages.WebIDClaimPg"/>
-        <service servicefactory="false">
-              <provide interface="org.apache.clerezza.platform.typerendering.TypeRenderlet"/>
-        </service>
-        <property name="service.pid" value="org.apache.clerezza.foafssl.test.pages.WebIDClaimPg"/>
-        <reference name="webIdGraphsService" interface="org.apache.clerezza.platform.users.WebIdGraphsService"
-                   cardinality="1..1" policy="static" bind="bindWebIdGraphsService" unbind="unbindWebIdGraphsService"/>
-    </scr:component>
-</components>

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.security.foafssl/test/src/main/scala/org/apache/clerezza/foafssl/test/WebIDTester.scala
----------------------------------------------------------------------
diff --git a/platform.security.foafssl/test/src/main/scala/org/apache/clerezza/foafssl/test/WebIDTester.scala b/platform.security.foafssl/test/src/main/scala/org/apache/clerezza/foafssl/test/WebIDTester.scala
deleted file mode 100644
index 1868112..0000000
--- a/platform.security.foafssl/test/src/main/scala/org/apache/clerezza/foafssl/test/WebIDTester.scala
+++ /dev/null
@@ -1,757 +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.foafssl.test
-
-import org.apache.clerezza.platform.security.UserUtil
-import org.osgi.service.component.ComponentContext
-import org.apache.clerezza.rdf.utils.GraphNode
-import javax.ws.rs._
-import org.apache.clerezza.rdf.ontologies._
-import org.slf4j.{LoggerFactory, Logger}
-import org.apache.clerezza.rdf.core.impl.util.Base64
-import java.security.interfaces.RSAPublicKey
-import org.apache.clerezza.rdf.core._
-import access.NoSuchEntityException
-import impl.{PlainLiteralImpl, TypedLiteralImpl, SimpleMGraph}
-import org.apache.clerezza.foafssl.ontologies._
-import org.apache.clerezza.foafssl.auth.{WebIDClaim, Verification, WebIdPrincipal, X509Claim}
-import java.util.Date
-import org.apache.clerezza.rdf.scala.utils.Preamble.{toRichGraphNode,toFirstElement}
-import serializedform.Serializer
-import java.io.ByteArrayOutputStream
-import org.apache.clerezza.rdf.scala.utils.Preamble._
-import java.math.BigInteger
-import collection.mutable.{Queue, LinkedList}
-import javax.security.auth.Subject
-import collection.JavaConversions._
-import org.apache.clerezza.platform.users.WebIdGraphsService
-import org.apache.clerezza.rdf.scala.utils._
-
-/**
- * implementation of (very early) version of test server for WebID so that the following tests
- * can be checked.
- *
- * http://lists.w3.org/Archives/Public/public-xg-webid/2011Jan/0107.html
- *
- * @author bblfish
- */
-
-object WebIDTester {
-  val testCls = new UriRef("https://localhost/test/WebID/ont/tests")   //todo: change url
-  private val logger: Logger = LoggerFactory.getLogger(classOf[WebIDTester])
-
-}
-
-@Path("/test/WebId")
-class WebIDTester {
-  import WebIDTester._
-
-
-  protected def activate(componentContext: ComponentContext) = {
-    //    configure(componentContext.getBundleContext(), "profile-staticweb");
-  }
-
-
-
-  /**
-   * don't bother converting to rdf here for the moment.
-   */
-  @GET
-  @Produces(Array("application/xhtml","text/html"))
-  def getTestMe(): GraphNode = {
-    val resultNode: GraphNode = new GraphNode(new BNode(),new SimpleMGraph())
-    resultNode.addProperty(RDF.`type`, testCls)
-   resultNode.addProperty(RDF.`type`,PLATFORM.HeadedPage)
-    return resultNode
-  }
-
-  @GET
-  @Produces(Array("text/n3","text/rdf+n3","text/turtle"))
-  @Path("n3")
-  def getTestMe_N3(): TripleCollection = getTestMeRDF()
-
-  @GET
-  def getTestMeRDF(): TripleCollection = {
-    val certTester = new CertTester(UserUtil.getCurrentSubject(), webIdGraphsService)
-    certTester.runTests()
-    return certTester.toRdf()
-  }
-
-  @GET
-  @Path("x509")
-  @Produces(Array("text/plain"))
-  def getTestX509(): String = {
-    val subject = UserUtil.getCurrentSubject();
-    val creds = subject.getPublicCredentials
-      if (creds.size == 0) return "No public keys found"
-    return creds.iterator.next match {
-      case x509: X509Claim => "X509 Certificate found. " + x509.cert.toString
-      case other: Any => "no X509 certificate found: found " + other.getClass()
-    }
-
-  }
-
-  private var webIdGraphsService: WebIdGraphsService = null
-  protected def bindWebIdGraphsService(webIdGraphsService: WebIdGraphsService): Unit = {
-    this.webIdGraphsService = webIdGraphsService
-  }
-
-  protected def unbindWebIdGraphsService(webIdGraphsService: WebIdGraphsService): Unit = {
-    this.webIdGraphsService = null
-  }
-
-}
-
-/** All the cert tests are placed here */
-class CertTester(subj: Subject, webIdGraphsService: WebIdGraphsService) extends Assertor {
-
-  import EARL.{passed, failed, cantTell, untested, inapplicable}
-
-  val creds: scala.collection.mutable.Set[X509Claim] = subj.getPublicCredentials(classOf[X509Claim]);
-  val now = new Date()
-
-
-  def runTests() {
-
-    import g._
-    val thisDoc = (g.bnode.a(FOAF.Document) //there really has to be a way to get THIS doc url, to add relative urls to the graph
-                     -- DCTERMS.created --> now
-      )
-    //
-    // Description of certificates and their public profileKeys
-    //
-    val x509claimRefs = for (claim <- creds) yield {
-      val cert = g.bnode
-      (
-        cert.a(CERT.Certificate)
-          -- CERT.base64der --> Base64.encode(claim.cert.getEncoded())
-        )
-
-      //
-      // Assertion public key
-      //
-      val pubkey = claim.cert.getPublicKey
-      val testCertKey = create(TEST.certificatePubkeyRecognised, cert)
-
-      pubkey match {
-        case rsa: RSAPublicKey => {
-          val pk = (g.bnode.a(RSA.RSAPublicKey)
-            -- RSA.modulus --> new TypedLiteralImpl(rsa.getModulus.toString(16), CERT.hex)
-            -- RSA.public_exponent --> new TypedLiteralImpl(rsa.getPublicExponent.toString(10), CERT.int_)
-            )
-          cert -- CERT.principal_key --> pk
-          val res = testCertKey.result;
-          res.description = "Certificate contains RSA key which is recognised"
-          res.outcome = EARL.passed
-          res.pointer(pk.getNode.asInstanceOf[NonLiteral])
-        }
-        case _ => {
-          testCertKey.result.description = "Certificate contains key that is not understood by WebID layer " +
-            "Pubkey algorith is " + pubkey.getAlgorithm
-          testCertKey.result.outcome = EARL.failed
-        }
-      }
-
-      //
-      // Assertion time stamp of certificate
-      //
-      val dateOkAss = create(TEST.certificateDateOk, cert)
-      val notBefore = claim.cert.getNotBefore
-      val notAfter = claim.cert.getNotAfter
-
-      if (now.before(notBefore)) {
-        dateOkAss.result("Certificate time is too early. Watch out this is often due to time " +
-          "synchronisation issues accross servers", failed)
-      } else if (now.after(notAfter)) {
-        dateOkAss.result("Certificate validity time has expired. ", failed, thisDoc.getNode)
-      } else {
-        dateOkAss.result("Certificate time is valid", passed, thisDoc.getNode)
-      }
-
-      cert -> claim
-    }
-
-    //
-    // certificate was provided
-    //
-    val eC = x509claimRefs.size > 0
-    val ass = (
-      g.bnode.a(EARL.Assertion)
-        -- EARL.test --> TEST.certificateProvided
-        -- EARL.result --> (g.bnode.a(EARL.TestResult)
-                             -- DC.description --> {if (eC) "Certificate available" else "No Certificate Found"}
-                             -- EARL.outcome --> {if (eC) EARL.passed else EARL.failed})
-      )
-    if (eC) ass -- EARL.subject -->> x509claimRefs.map(p => p._1)
-    else return g
-
-
-    //
-    // WebID authentication succeeded
-    //
-    val principals = for (p <- subj.getPrincipals
-                          if p.isInstanceOf[WebIdPrincipal]) yield p.asInstanceOf[WebIdPrincipal]
-    (g.bnode.a(EARL.Assertion)
-      -- EARL.test --> TEST.webidAuthentication
-      -- EARL.result --> (g.bnode.a(EARL.TestResult)
-            -- DC.description --> {"found " + principals.size + " valid principals"}
-            -- EARL.outcome --> {if (principals.size > 0) EARL.passed else EARL.failed}
-            -- EARL.pointer -->> principals.map(p => p.webId)
-            )
-      -- EARL.subject -->> x509claimRefs.map(p => p._1)
-      )
-    import collection.JavaConversions._
-
-    for ((certRef, claim) <- x509claimRefs) {
-      for (widc <- claim.webidclaims) {
-        import Verification._
-        val webidAss = create(TEST.webidClaim,
-          Seq(widc.webId, certRef)) //todo, we need to add a description of the profileKeys as found in the remote file
-        val result = webidAss.result
-        result.pointer(widc.webId)
-        result.exceptions = widc.errors
-        widc.verified match {
-          case Verified => {
-            result("claim for WebId " + widc.webId + " was verified", passed)
-            claimTests(widc)
-          }
-          case Failed => {
-            result("claim for WebID " + widc.webId + " failed", failed)
-            claimTests(widc)
-          }
-          case Unverified => {
-            result("claim for WebId " + widc.webId + " was not verified",untested)
-          }
-          case Unsupported => {
-            result("this webid is unsupported ",cantTell)
-          }
-        }
-      }
-    }
-  }
-
-  // more detailed tester for claims that passed or failed
-  // even tester that succeed could be just succeeding by chance (if public profileKeys are badly written out for eg)
-  def claimTests(claim: WebIDClaim) {
-    val sem: Option[GraphNode] = try {
-      Some(new GraphNode(claim.webId, webIdGraphsService.getWebIdInfo(claim.webId).publicProfile)) //webProxy.fetchSemantics(claim.webId, Cache.CacheOnly)
-    } catch {
-      case e: NoSuchEntityException => None
-    }
-    val profileXst = create(TEST.profileGet, claim.webId)
-
-    sem match {
-      case Some(profile) => {
-        if (profile.getGraph.size() > 0) {
-          profileXst.result("Profile was fetched. The information about this is not yet very detailed" +
-            " in Clerezza. Later will be able to give more details.", passed)
-          testKeys(profile /- CERT.identity)
-
-        } else {
-          profileXst.result("Profile seems to have been fetched but it contains very little" +
-            " information. There may be other issues too", cantTell)
-        }
-
-      }
-      case None => {
-        profileXst.result("No profile was found or is in store", failed)
-      }
-    }
-
-  }
-
-  /**
-   * @param exponentNode the node in the remote profile descrbing the modulus - can be a literal or a resource
-   * @param litRef a resource to the literal as described in the test graph
-   * @return true, if the modulus is recognised as parsing
-   */
-  def testRSAModulus(modulusNode: RichGraphNode, litRef: Resource):Boolean = {
-    val asrtKeyModulusLit = create(TEST.pubkeyRSAModulusLiteral, litRef)
-    val asrtKeyMod = create(TEST.pubkeyRSAModulus, litRef)
-    val asrtKeyModulusOldFunc = create(TEST.pubkeyRSAModulusOldFunctional,litRef)
-    var result = false
-
-    modulusNode! match {
-      case ref: NonLiteral => {
-        asrtKeyModulusLit.result("the modulus of this key is not described directly as" +
-          " a literal. It is currently the preferred practice.", failed)
-        val hex = modulusNode / CERT.hex
-        if (hex.size == 0) {
-          asrtKeyModulusOldFunc.result("no hexadecimal value for the modulus found", failed)
-        } else if (hex.size > 1) {
-          asrtKeyModulusOldFunc.result((hex.size - 1) + " too many hexadecimal values for " +
-            "the modulus found. 1 is enough. If the numbers don't end up matching this is very likely" +
-            " to cause random behavior ", failed)
-        } else {
-          asrtKeyModulusOldFunc.result("one hex value for modulus", EARL.passed)
-          val kmres = asrtKeyMod.result
-          hex(0) ! match {
-            case refh: NonLiteral => {
-              asrtKeyMod.result("The modulus is using old notation and it's hex is not " +
-                "a literal. Going further would require reasoning engines which it is currently unlikely" +
-                "many sites have access to.", failed)
-            }
-            case lith: Literal => {
-              lith match {
-                case plainLit: PlainLiteral => {
-                  if (plainLit.getLanguage != null)
-                    kmres("keymodulus exists and is parseable", passed)
-                  else
-                    kmres("keymodulus exists and is parseable, but has a language tag", passed)
-                  result = true
-                }
-                case typedLit: TypedLiteral => {
-                  if (typedLit.getDataType == null ||
-                    XSD.string == typedLit.getDataType) {
-                    kmres("keymodulus exists and is parseable", passed)
-                    result = true
-                  } else {
-                    kmres("keymodulus exists but does not have a string type", failed)
-                  }
-                }
-                case lit => {
-                  // cert:hex cannot be mistyped, since anything that is odd in the string is
-                  //removed
-                  kmres("keymodulus exists and is parseable", passed)
-                  result = true
-                }
-              }
-            }
-          }
-        }
-
-      }
-      case numLit: Literal => {
-        val reskeyModLit = asrtKeyModulusLit.result
-        numLit match {
-          case tl: TypedLiteral => tl.getDataType match {
-            case CERT.int_ => {
-              try {
-                BigInt(tl.getLexicalForm)
-                reskeyModLit("Modulus is of type cert:int. It parsed ok.", passed, tl)
-                result = true
-              } catch {
-                case e: NumberFormatException => {
-                  reskeyModLit("Modulus cert:int failed to parse as one", failed, tl)
-                }
-              }
-            }
-            case CERT.decimal => {
-              //todo: need to add cert:decimal parsing flexibility to ontology
-                reskeyModLit("Modulus is of type cert:decimal. It always parses ok", passed, tl)
-                result = true
-            }
-            case CERT.hex => {
-              result = true
-              reskeyModLit("Modulus is of type cert:hex. It will always parse to a positive number.", passed, tl)
-            }
-            case XSD.int_ => {
-              try {
-                BigInt(tl.getLexicalForm)
-                reskeyModLit("Modulus is of type xsd:int. It parsed but it is certainly too small for " +
-                  "a modulus", failed)
-              } catch {
-                case e: NumberFormatException => {
-                  reskeyModLit("Modulus cert:decimal is failed to parse", failed, tl)
-                }
-              }
-            }
-            case XSD.base64Binary => reskeyModLit("Base 64 binaries are not numbers. If you wish to have " +
-              "a base64 integer notation let the WebId Group know. We can define one easily.", failed, tl)
-            case XSD.hexBinary => reskeyModLit("Base hex binary literals are not a numbers. If you wish to have a hex " +
-              " integer notation use the " + CERT.hex +
-              " relation. It is easier for people to write out.", failed, tl)
-            case XSD.nonNegativeInteger => {
-              try {
-                val bi = BigInt(tl.getLexicalForm)
-                if (bi >= 0) {
-                  reskeyModLit("Modulus is declared to be of type non-negative integer and it is", passed, tl)
-                  result = true
-                } else {
-                  reskeyModLit("Modulus is declared to be of type non-negative integer but it is negative", failed, tl)
-                }
-              } catch {
-                case e: NumberFormatException => {
-                  reskeyModLit("Modulus xsd:int is very likely too short a number for a modulus. It also " +
-                    "failed to parse as one", failed, tl)
-                }
-              }
-
-            }
-            case XSD.integer => {
-              try {
-                BigInt(tl.getLexicalForm)
-                reskeyModLit("Modulus is of type xsd:integer. It parsed.", passed, tl)
-                result = true
-              } catch {
-                case e: NumberFormatException => {
-                  reskeyModLit("Modulus xsd:integer is failed to parse", failed, tl)
-                }
-              }
-
-            }
-            case XSD.positiveInteger => {
-              try {
-                val bi = BigInt(tl.getLexicalForm)
-                if (bi > 0) {
-                  reskeyModLit("Modulus is declared to be of type positive integer and it is", passed, tl)
-                  result = true
-                } else if (bi == 0) {
-                  reskeyModLit("Modulus is 0 which is certainly too small", failed, tl)
-                } else {
-                  reskeyModLit("Modulus is declared to be of type positive integer but it is not", failed, tl)
-                }
-              } catch {
-                case e: NumberFormatException => {
-                  reskeyModLit("Modulus xsd:positiveInteger failed to parse", failed, tl)
-                }
-              }
-
-            }
-            case littype => reskeyModLit("We don't know how to interpret numbers of type " + littype +
-              "It would be better to use either cert:hex or cert:int", cantTell, tl)
-          }
-          case lit: Literal => reskeyModLit("The literal needs to be of a number type, not a string", failed, lit)
-        }
-      }
-
-
-      //its ok, and do other modulus verification
-    }
-    return result
-  }
-
-
-  /**
-   * @param exponentNode the node in the remote profile describing the expontent - can be a literal or a resource
-   * @param litRef a reference to the literal as described in the test graph
-   * @return true if the exponent parses correctly
-   */
-  def testRSAExp(exponentNode: RichGraphNode, litRef: Resource) : Boolean = {
-    val asrtKeyExpLit = create(TEST.pubkeyRSAExponentLiteral, litRef)
-    val asrtKeyExp = create(TEST.pubkeyRSAExponent, litRef)
-    val asrtKeyExpOldFunc = create(TEST.pubkeyRSAExponentOldFunctional,litRef)
-    var result = false
-
-    exponentNode! match {
-      case ref: NonLiteral => {
-        asrtKeyExpLit.result("the exponent of this key is not described directly as" +
-          " a literal. It is currently the preferred practice.", failed)
-        val decml = exponentNode / CERT.decimal
-        if (decml.size == 0) {
-          asrtKeyExpOldFunc.result("no decimal value for the exponent found", failed)
-        } else if (decml.size > 1) {
-          asrtKeyExpOldFunc.result((decml.size - 1) + " too many decimal values for " +
-            "the exponent found. 1 is enough. If the numbers don't end up matching this is very likely" +
-            " to cause random behavior ", failed)
-        } else {
-          asrtKeyExpOldFunc.result("one hex value for modulus", EARL.passed)
-          val kExpres = asrtKeyExp.result
-          decml(0) ! match {
-            case refh: NonLiteral => {
-              asrtKeyExp.result("The exponent is using old notation and it's cert:decimal relation is not " +
-                "to a literal. Going further would require reasoning engines which it is currently unlikely" +
-                "many sites have access to.", failed)
-            }
-            case lith: Literal => {
-              lith match {
-                case plainLit: PlainLiteral => {
-                  if (plainLit.getLanguage != null)
-                    kExpres("key exponent exists and is parseable", passed)
-                  else
-                    kExpres("key exponent exists and is parseable, but has a language tag", passed)
-                  result = true
-                }
-                case typedLit: TypedLiteral => {
-                  if (typedLit.getDataType == null ||
-                    XSD.string == typedLit.getDataType) {
-                    kExpres("keymodulus exists and is parseable", passed)
-                    result = true
-                  } else {
-                    kExpres("keymodulus exists but does not have a string type", failed)
-                  }
-                }
-                case lit => {
-                  //todo: can cert:int not be mistyped?
-                  kExpres("keymodulus exists and is parseable", passed)
-                }
-              }
-            }
-          }
-        }
-
-      }
-      case numLit: Literal => {
-        val reskeyExpLit = asrtKeyExpLit.result
-        numLit match {
-          case tl: TypedLiteral => tl.getDataType match {
-            case CERT.int_ => {
-              try {
-                BigInt(tl.getLexicalForm)
-                reskeyExpLit("Exponent is of type cert:int. It parsed ok.", passed, tl)
-                result = true
-              } catch {
-                case e: NumberFormatException => {
-                  reskeyExpLit("Exponent cert:int failed to parse as one", failed, tl)
-                }
-              }
-            }
-            case CERT.hex => {
-              reskeyExpLit("Exponent is of type cert:hex. It will always parse to a positive number.", passed, tl)
-              result = true
-            }
-            case CERT.decimal => {
-              try {
-                BigInt(tl.getLexicalForm)
-                reskeyExpLit("Exponent is of type xsd:int. It parsed ok.", passed)
-                result = true
-              } catch {
-                case e: NumberFormatException => {
-                  reskeyExpLit("Exeponent of type cert:decimal failed to parse", failed, tl)
-                }
-              }
-            }
-            case XSD.base64Binary => reskeyExpLit("Base 64 binaries are not numbers. If you wish to have " +
-              "a base64 integer notation let the WebId Group know. We can define one easily.", failed, tl)
-            case XSD.hexBinary => reskeyExpLit("Base hex binary literals are not a numbers. If you wish to have a hex " +
-              " integer notation use the " + CERT.hex +
-              " relation. It is easier for people to write out.", failed, tl)
-            case XSD.nonNegativeInteger => {
-              try {
-                val bi = BigInt(tl.getLexicalForm)
-                if (bi >= 0) {
-                  reskeyExpLit("Exponent is declared to be of type non-negative integer and it is", passed, tl)
-                  result = true
-                } else {
-                  reskeyExpLit("Exponent is declared to be of type non-negative integer but it is negative", failed, tl)
-                }
-              } catch {
-                case e: NumberFormatException => {
-                  reskeyExpLit("Exponent xsd:nonNegativeInteger failed to parse as one", failed, tl)
-                }
-              }
-
-            }
-            case XSD.integer => {
-              try {
-                BigInt(tl.getLexicalForm)
-                reskeyExpLit("Exponent is of type xsd:integer. It parsed.", passed, tl)
-                result = true
-              } catch {
-                case e: NumberFormatException => {
-                  reskeyExpLit("Exponent xsd:integer is failed to parse", failed, tl)
-                }
-              }
-
-            }
-            case XSD.positiveInteger => {
-              try {
-                val bi = BigInt(tl.getLexicalForm)
-                if (bi > 0) {
-                  reskeyExpLit("Exponent is declared to be of type positive integer and it is", passed, tl)
-                  result = true
-                } else if (bi == 0) {
-                  reskeyExpLit("Exponent is 0 which is certainly too small", failed, tl)
-                } else {
-                  reskeyExpLit("Exponent is declared to be of type positive integer but it is not", failed, tl)
-                }
-              } catch {
-                case e: NumberFormatException => {
-                  reskeyExpLit("Exponent xsd:positiveInteger failed to parse", failed, tl)
-                }
-              }
-
-            }
-            case littype => reskeyExpLit("We don't know how to interpret numbers of type " + littype +
-              "It would be better to use either cert:hex or cert:int", cantTell, tl)
-          }
-          case lit: Literal => reskeyExpLit("The literal needs to be of a number type, not a string", failed, lit)
-        }
-      }
-    }
-    return result
-  }
-
-
-  def testKeys(profileKeys: CollectedIter[RichGraphNode]) {
-
-    for (pkey <- profileKeys) yield {
-      //
-      //create a pointer to this key, so that future tester can refer to it
-      //
-      val graph: Graph = pkey.getNodeContext
-      val sout = Serializer.getInstance()
-      val out = new ByteArrayOutputStream(512)
-      sout.serialize(out, graph, "text/rdf+n3")
-      val n3String = out.toString("UTF-8")
-      //todo: turtle mime type literal?
-      import g._
-      val keylit: GraphNode = g.bnode --  OWL.sameAs --> (n3String^^"http://example.com/turtle".uri)
-
-
-      //
-      // some of the tester we will complete here
-      //
-      val asrtKeyModulusFunc = create(TEST.pubkeyRSAModulusFunctional, keylit.getNode)
-      val asrtKeyExpoFunc = create(TEST.pubkeyRSAExponentFunctional, keylit.getNode)
-      val asrtWffkey = create(TEST.profileWellFormedKey, keylit.getNode)
-
-
-      var claimsTobeRsaKey = pkey.hasProperty(RDF.`type`, RSA.RSAPublicKey)
-
-      val mods = pkey / RSA.modulus
-      val exps = pkey / RSA.public_exponent
-
-      claimsTobeRsaKey = claimsTobeRsaKey || mods.size > 0 || exps.size > 0
-
-      if (!claimsTobeRsaKey) {
-        asrtWffkey.result("Do not recognise the type of this key", cantTell)
-      }
-
-      var rsaExpOk, rsaModOk: Boolean = false
-
-      if (mods.size == 0) {
-        if (claimsTobeRsaKey) {
-          asrtKeyModulusFunc.result("Missing modulus in RSA key", failed)
-        }
-        else {
-          asrtKeyModulusFunc.result("Can't tell if this is an RSA key", cantTell)
-        }
-      } else if (mods.size > 1) {
-        asrtKeyModulusFunc.result("Found more than one modulus. Careful, unless the numbers are" +
-          " exactly the same, there is a danger of erratic behavior", failed)
-      } else {
-        asrtKeyModulusFunc.result("Found one Modulus", passed)
-
-        rsaModOk = testRSAModulus(mods, keylit.getNode)
-      }
-
-      if (exps.size == 0) {
-        if (claimsTobeRsaKey) {
-          asrtKeyExpoFunc.result("Missing exponent in RSA key", failed)
-        }
-        else {
-          asrtKeyExpoFunc.result("Can't tell if this is an RSA key", cantTell)
-        }
-      } else if (exps.size > 1) {
-        asrtKeyExpoFunc.result("Found more than one exponents. Careful, unless the numbers are" +
-          " exactly the same, there is a danger of erratic behavior", failed)
-        //we could have a problem
-      } else {
-        asrtKeyExpoFunc.result("Found one Modulus", passed)
-        rsaExpOk = testRSAExp(mods, keylit.getNode)
-      }
-
-      if (rsaExpOk && rsaModOk) {
-        asrtWffkey.result("Modulus and Exponent of key good", passed)
-      }
-
-    }
-  }
-}
-
-/**
-  * Assertors create and manage assertions.
-  *
-  * Assertions created with with such an object will be added to the list
-  * when runTests information is added - and only then. This is a convenience
-  * to make the Assertor keep track of tests
-  *
-  * sublcass Assertors for specific types of runTests suites
-  */
-class Assertor {
-
-  val g = new EzMGraph(new SimpleMGraph)
-
-  var assertions: List[Assertion] = Nil
-
-  def add(newAssertion: Assertion) = {
-    assertions = newAssertion :: assertions
-    newAssertion
-  }
-
-  def create(testName: UriRef, subjects: Seq[Resource]) = new Assertion(testName, subjects)
-
-  def create(testName: UriRef, subject: Resource) = new Assertion(testName, Seq[Resource](subject))
-
-  def toRdf(): TripleCollection =  {
-    for (test <- assertions) {
-      test.toRdf()
-    }
-    g
-  }
-
-  class Assertion(testName: UriRef,
-                  subjects: Seq[Resource]) {
-
-    //only add this runTests to the list of assertions if there is a result
-    //this makes it easier to write code that keeps track of assertions, without ending up having to
-    //publish all of them
-    lazy val result = {
-      add(this)
-      new TstResult
-    }
-
-    import g._
-    def toRdf(): GraphNode = (
-      g.bnode.a(EARL.Assertion)
-        -- EARL.test --> testName
-        -- EARL.result --> result.toRdf()
-        -- EARL.subject -->> subjects
-      )
-  }
-
-  class TstResult {
-    var description: String = _
-    var outcome: UriRef = _
-    var pointers: Seq[Resource] = Nil
-    var exceptions: Iterable[java.lang.Throwable] = Nil
-
-    def pointer(point: NonLiteral) {
-      pointers = Seq(point)
-    }
-
-
-    // a method to deal with most usual case
-    def apply(desc: String, success: UriRef) {
-      description = desc
-      outcome = success
-    }
-
-    def apply(desc: String, success: UriRef, pointer: Resource) {
-      description = desc
-      outcome = success
-      pointers = Seq(pointer)
-    }
-
-
-    def toRdf(): GraphNode =  {
-        import g._
-        (g.bnode.a(EARL.TestResult)
-          -- DC.description --> description
-          -- EARL.outcome --> outcome
-          -- EARL.pointer -->> pointers
-           -- EARL.info -->> { for (e <- exceptions) yield new PlainLiteralImpl(e.toString)  }
-           )
-    }
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.security.foafssl/test/src/main/scala/org/apache/clerezza/foafssl/test/pages/WebIDClaimPg.scala
----------------------------------------------------------------------
diff --git a/platform.security.foafssl/test/src/main/scala/org/apache/clerezza/foafssl/test/pages/WebIDClaimPg.scala b/platform.security.foafssl/test/src/main/scala/org/apache/clerezza/foafssl/test/pages/WebIDClaimPg.scala
deleted file mode 100644
index 890a9d7..0000000
--- a/platform.security.foafssl/test/src/main/scala/org/apache/clerezza/foafssl/test/pages/WebIDClaimPg.scala
+++ /dev/null
@@ -1,240 +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.foafssl.test.pages
-
-import org.apache.clerezza.platform.typerendering.scala.{XmlResult, SRenderlet}
-import org.apache.clerezza.platform.security.UserUtil
-import org.apache.clerezza.foafssl.test.WebIDTester
-import org.apache.clerezza.foafssl.ontologies.{RSA, CERT}
-import org.apache.clerezza.rdf.scala.utils.Preamble._
-import java.security.{PrivilegedAction, AccessController}
-import org.apache.clerezza.rdf.utils.GraphNode
-import org.apache.clerezza.rdf.core.serializedform.Serializer
-import org.apache.clerezza.foafssl.auth.{Verification, WebIDClaim, X509Claim}
-import java.io.{PrintStream, ByteArrayOutputStream}
-import xml.{Node, NodeSeq}
-import org.apache.clerezza.rdf.scala.utils.Preamble._
-import org.apache.clerezza.rdf.core._
-import org.apache.clerezza.rdf.scala.utils.{CollectedIter, RichGraphNode}
-import org.apache.clerezza.rdf.ontologies.{XSD, RDF}
-import org.apache.clerezza.platform.users.WebIdGraphsService
-
-/**
- * @author bblfish
- * @created: 01/04/2011
- */
-
-class WebIDClaimPg extends SRenderlet {
-  def getRdfType() = WebIDTester.testCls
-
-  override def renderedPage(arguments: XmlResult.Arguments) = new XhtmlWebIDClaimPg(arguments, webIdGraphsService)
-
-  //TODO a renderlet should not need services,
-
-  private var webIdGraphsService: WebIdGraphsService = null
-
-  protected def bindWebIdGraphsService(webIdGraphsService: WebIdGraphsService): Unit = {
-    this.webIdGraphsService = webIdGraphsService
-  }
-
-  protected def unbindWebIdGraphsService(webIdGraphsService: WebIdGraphsService): Unit = {
-    this.webIdGraphsService = null
-  }
-
-
-
-}
-
-object XhtmlWebIDClaimPg {
-   val emptyxml=new scala.xml.Text("")
-}
-
-class XhtmlWebIDClaimPg(arguments: XmlResult.Arguments, webIdGraphsService: WebIdGraphsService) extends XmlResult(arguments )  {
-  import XhtmlWebIDClaimPg._
-
-  resultDocModifier.setTitle("WebId Tests");
-  resultDocModifier.addNodes2Elem("tx-module", <h1>Test Panel</h1>);
-  resultDocModifier.addNodes2Elem("tx-module-tabs-ol", <li class="tx-active"><a href="#">WebId Tester</a></li>);
-
-  override def content = <div id="tx-content"> <h2>WebID Login Test Page</h2>
-    <p>The TLS connection was established. We do not test the basic TLS connection.</p>
-      {
-    val subj = UserUtil.getCurrentSubject();
-    val creds: scala.collection.mutable.Set[X509Claim] = collection.JavaConversions.asScalaSet(subj.getPublicCredentials(classOf[X509Claim]));
-    if (creds.size==0) <p>No X509 credentials available.</p>
-    else for (cred <- creds) yield describeX509Claim(cred)
-    }
-    <p>For very detailed test information to send to support <a href="WebId/n3">download this n3 file</a>.</p>
-  </div>
-
-
-  def describeX509Claim(claim: X509Claim) = {
-     <p>The Certificate sent can be viewed <a href="WebId/x509">in detail here</a>. The public key is:
-       <pre>{claim.cert.getPublicKey}</pre>
-     </p>
-
-     <p>The certificate sent contains {claim.webidclaims.size} WebId Claims. They are listed here, and it is shown if
-       they have been verified.</p>
-     <ul>{
-        for (idClaim <- claim.webidclaims) yield <li>{describeWebIDClaim(idClaim)}</li>
-     }</ul>
-  }
-
-  def getWebIDProfile(claim: WebIDClaim): Option[GraphNode] = {
-    val som = AccessController.doPrivileged(new PrivilegedAction[Option[GraphNode]] {
-      def run = Some(new GraphNode(claim.webId, webIdGraphsService.getWebIdInfo(claim.webId).publicProfile))
-    })
-    som
-  }
-
-  def describeWebIDClaim(claim: WebIDClaim) = {
-      <span>
-        Claimed ID: <a href={claim.webId.getUnicodeString}>{claim.webId.getUnicodeString}</a><br/>
-        Claim was {claim.verified}<br/>
-        {
-        claim.verified match {
-        case Verification.Verified => verifiedClaim(claim)
-        case Verification.Failed => claimFailure(claim)
-        case Verification.Unsupported => <p>WebId's with this protocol are currently unsupported</p>
-        case Verification.Unverified => <p>Currently this is not possible, but in asynchronous situations it will be</p>
-          }
-        }
-      </span>
-  }
-
-  def verifiedClaim(claim: WebIDClaim) = {
-    <p>Supporting information from the WebID Profile
-      {val som: Option[GraphNode] = getWebIDProfile(claim)
-    som match {
-      case Some(profile) => {
-        val keys = profile /- CERT.identity
-        for (key <- keys) yield displayKey(key)
-      }
-      case None => "No remote graph?"
-    }}
-    </p>
-  }
-
-  def claimFailure(claim: WebIDClaim) = <p>
-     The Claim failed because { import collection.JavaConversions._
-       for (e: Throwable <- claim.errors) yield <pre>{
-         val str = new ByteArrayOutputStream(1024)
-         val out = new PrintStream(str)
-         e.printStackTrace(out)
-         str.toString("UTF-8")
-         }</pre>
-    }
-    </p>
-
-  def displayKey(key: RichGraphNode) = <span>
-    {val errs = verifyKeyClosely(key)
-    if (errs.size > 0) <ul>{errs}</ul>
-    else scala.xml.Null
-    }
-    <pre>
-      {val graph: Graph = key.getNodeContext
-    val sout = Serializer.getInstance()
-    val out = new ByteArrayOutputStream(1024)
-    sout.serialize(out, graph, "text/rdf+n3")
-    out.toString("UTF-8")}
-    </pre>
-  </span>
-
-  /**
-   * test numbers written in the old style with non literals
-   *
-   * @param The node that is the number. Should be a non literal
-   * @param The relation name to the string that identifies the number
-   * @param The role of the number in the public key (modulus, exponent, ...)
-   *
-  */
-  def nonLiteralNumTest(number: RichGraphNode, relToString: UriRef, numberRole: String ): NodeSeq = {
-    val typeTest = number! match {
-      case uri: UriRef => <li>Warning: your {numberRole} is a uri. The new spec requires this to be a literal.
-           Uri found: {uri.getUnicodeString}</li>
-      case _: BNode => <li>Warning: your {numberRole} is a blank node. The newer spec requires this to be a literal</li>
-    }
-    typeTest++
-     {
-      val hexs = number / relToString
-      if (hexs.size > 1) {
-        <li>WARNING: Your {numberRole} has more than one relation to a hexadecimal string. Unless both of those strings
-          map to the same number, your identification experience will be very random</li>
-      } else if (hexs.size == 0) {
-        <li>WARNING: your {numberRole} has no decimal literal attached by the {relToString} relation</li>
-      } else hexs! match {
-        case bnode: NonLiteral => <li>Warning: Your {numberRole} has a relation to a non literal, where it should be a
-          relation to a literal. It is possible that logically it all works out, but don't even expect a few engines to
-          bother reflecting deeply on this. We don't check past here.</li>
-        case lit: Literal => emptyxml
-      }
-    }
-
-  }
-
-  def literalNumTest(number: Literal): NodeSeq = {
-    number match {
-      case tl: TypedLiteral => tl.getDataType match {
-         case CERT.int_ => emptyxml
-         case CERT.hex => emptyxml
-         case CERT.decimal => emptyxml
-         case XSD.base64Binary => <li>Base 64 binary is not a number. If you wish to have a base64 integer notation
-           let the WebId Group know</li>
-        case XSD.hexBinary => <li>Base hex binary is not a number. If you wish to have a hex integer notation
-           use the {CERT.hex} relation. It is easier for people to write out</li>
-        case XSD.nonNegativeInteger => emptyxml
-        case XSD.integer => emptyxml
-        case XSD.positiveInteger => emptyxml
-        case XSD.int_ => emptyxml
-        case littype => <li>We don't know how to interpret numbers of {littype}.
-          It would be better to use either
-          <a href={CERT.hex.getUnicodeString}>cert:hex</a> or <a href={CERT.int_.getUnicodeString}>cert:int</a></li>
-      }
-      case _: Literal => <li>Warning: you need to put a literal type, so we can know how to interpret the string.
-    </li>
-    }
-  }
-
-  def verifyKeyClosely(key: RichGraphNode) : NodeSeq= {
-    val moduli = key/RSA.modulus
-    val modWarn = if (moduli.size>1) {
-      <li>Warning: you have written the modulus out in more than one way. If they a are not equal your
-        connections might be alternatively successful</li>
-    } else if (moduli.size==0) {
-      <li>Warning: you have no modulus here. RSA keys must have one modulus</li>
-    } else  moduli! match {
-         case _: NonLiteral => nonLiteralNumTest(moduli(0),CERT.hex,"modulus")
-         case lit: Literal => literalNumTest(lit)
-    }
-    val expts = key/RSA.public_exponent
-    val expWarn = if (expts.size>1) {
-      <li>Warning: you have more than one exponent. They must be equal, or your connections will be unpredicable</li>
-
-    } else if (expts.size==0) {
-      <li>Warning: you have no exponent here. RSA keys must have one public exponent</li>
-    } else expts! match {
-         case _: NonLiteral => nonLiteralNumTest(expts(0),CERT.decimal,"exponent")
-         case lit: Literal => literalNumTest(lit)
-    }
-
-    return modWarn ++ expWarn
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.shellcustomizer/LICENSE
----------------------------------------------------------------------
diff --git a/platform.shellcustomizer/LICENSE b/platform.shellcustomizer/LICENSE
deleted file mode 100644
index 261eeb9..0000000
--- a/platform.shellcustomizer/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.shellcustomizer/pom.xml
----------------------------------------------------------------------
diff --git a/platform.shellcustomizer/pom.xml b/platform.shellcustomizer/pom.xml
deleted file mode 100644
index 95d056b..0000000
--- a/platform.shellcustomizer/pom.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-<!--
-
- 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.
-
--->
-
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.clerezza</groupId>
-        <artifactId>clerezza</artifactId>
-        <version>0.5</version>
-        <relativePath>../parent</relativePath>
-    </parent>
-    <artifactId>platform.shellcustomizer</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-    <name>Clerezza - Platform Shell customizer</name>
-    <description>Provides utilities to access platform features from the clerezza shell</description>
-    <dependencies>
-        <dependency>
-            <groupId>org.scala-lang</groupId>
-            <artifactId>scala-library</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-        </dependency>
-            <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>utils</artifactId>
-            <version>0.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>shell</artifactId>
-            <version>0.3</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>platform.graphprovider.content</artifactId>
-            <version>0.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.clerezza</groupId>
-            <artifactId>rdf.scala.utils</artifactId>
-            <version>0.4</version>
-        </dependency>
-    </dependencies>
-    <build>
-        <sourceDirectory>src/main/scala</sourceDirectory>
-    <testSourceDirectory>src/test/scala</testSourceDirectory>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <configuration>
-                    <instructions>
-                        <Service-Component>OSGI-INF/serviceComponents.xml</Service-Component>
-                        <Export-Package>${project.groupId}.${project.artifactId}</Export-Package>
-                        <!-- <Export-Package>org.apache.clerezza.bundledevtool</Export-Package>
-                        <Bundle-SymbolicName>org.apache.clerezza.bundledevtool</Bundle-SymbolicName> -->
-                    </instructions>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-eclipse-plugin</artifactId>
-                <configuration>
-                    <downloadSources>true</downloadSources>
-                    <downloadJavadocs>true</downloadJavadocs>
-                    <buildcommands>
-                        <buildcommand>ch.epfl.lamp.sdt.core.scalabuilder</buildcommand>
-                    </buildcommands>
-                    <additionalProjectnatures>
-                        <projectnature>ch.epfl.lamp.sdt.core.scalanature</projectnature>
-                    </additionalProjectnatures>
-                    <classpathContainers>
-                        <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER
-                        </classpathContainer>
-                        <classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER
-                        </classpathContainer>
-                    </classpathContainers>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.scala-tools</groupId>
-                <artifactId>maven-scala-plugin</artifactId>
-
-            </plugin>
-        </plugins>
-    </build>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.shellcustomizer/src/main/resources/OSGI-INF/serviceComponents.xml
----------------------------------------------------------------------
diff --git a/platform.shellcustomizer/src/main/resources/OSGI-INF/serviceComponents.xml b/platform.shellcustomizer/src/main/resources/OSGI-INF/serviceComponents.xml
deleted file mode 100644
index 3e259b2..0000000
--- a/platform.shellcustomizer/src/main/resources/OSGI-INF/serviceComponents.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-
-<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
-    <scr:component enabled="true"  name="org.apache.clerezza.platform.shellcustomizer.PlatformShellCustomizer">
-        <implementation class="org.apache.clerezza.platform.shellcustomizer.PlatformShellCustomizer"/>
-        <property name="service.pid" value="org.apache.clerezza.platform.shellcustomizer.PlatformShellCustomizer"/>
-        <service servicefactory="false">
-            <provide interface="org.apache.clerezza.shell.ShellCustomizer"/>
-        </service>
-        <reference name="cgProvider" interface="org.apache.clerezza.platform.graphprovider.content.ContentGraphProvider"
-        cardinality="1..1" policy="static" bind="bindContentGraphProvider" unbind="unbindContentGraphProvider"/>
-    </scr:component>
-</components>

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.shellcustomizer/src/main/scala/org/apache/clerezza/platform/shellcustomizer/PlatformDsl.scala
----------------------------------------------------------------------
diff --git a/platform.shellcustomizer/src/main/scala/org/apache/clerezza/platform/shellcustomizer/PlatformDsl.scala b/platform.shellcustomizer/src/main/scala/org/apache/clerezza/platform/shellcustomizer/PlatformDsl.scala
deleted file mode 100644
index 84f66cf..0000000
--- a/platform.shellcustomizer/src/main/scala/org/apache/clerezza/platform/shellcustomizer/PlatformDsl.scala
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.clerezza.platform.shellcustomizer
-
-/*
- * 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 java.io.File
-import java.io.OutputStream
-import java.io.OutputStreamWriter
-import java.io.PrintWriter
-import org.osgi.framework.BundleContext
-import org.apache.clerezza.osgi.services.ServicesDsl
-import org.apache.clerezza
-import clerezza.platform.graphprovider.content.ContentGraphProvider
-import clerezza.rdf.core.serializedform.Parser
-
-/**
- * A DSL to acces various services of the platform, mainly designed for usaged
- * on the console.
- */
-class PlatformDsl(outputStream: OutputStream, bundleContext: BundleContext) {
-
-  private lazy val out = new PrintWriter(new OutputStreamWriter(outputStream, "utf-8"), true)
-  private val serviceDsl = new ServicesDsl(bundleContext)
-  import serviceDsl._
-
-  lazy val contentGraph = $[ContentGraphProvider].getContentGraph
-  def parser = $[Parser]
-
-  def uname {
-    out println ("Clerezza on "+System.getProperty("java.vm.name"))
-  }
-
-
-  //here we could add a command to set the debug output to the console for some packages
-}

http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.shellcustomizer/src/main/scala/org/apache/clerezza/platform/shellcustomizer/PlatformShellCustomizer.scala
----------------------------------------------------------------------
diff --git a/platform.shellcustomizer/src/main/scala/org/apache/clerezza/platform/shellcustomizer/PlatformShellCustomizer.scala b/platform.shellcustomizer/src/main/scala/org/apache/clerezza/platform/shellcustomizer/PlatformShellCustomizer.scala
deleted file mode 100644
index 4d8e178..0000000
--- a/platform.shellcustomizer/src/main/scala/org/apache/clerezza/platform/shellcustomizer/PlatformShellCustomizer.scala
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.clerezza.platform.shellcustomizer
-
-/*
- * 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.shell.Shell
-import org.apache.clerezza.shell.ShellCustomizer
-import org.apache.clerezza.rdf.scala.utils.Preamble
-import org.apache.clerezza.rdf.core.MGraph
-import org.apache.clerezza.platform.graphprovider.content._
-
-class PlatformShellCustomizer extends ShellCustomizer {
-
-  private var contentGraphProvider: ContentGraphProvider = null
-
-  def bindings(e: Shell.Environment): List[(String, String, Any)] = {
-    val bundleContext = e.componentContext.getBundleContext
-    List(("contentGraphPreamble", classOf[Preamble].getName, new Preamble(contentGraphProvider.getContentGraph)),
-      ("platformDsl", classOf[PlatformDsl].getName, new PlatformDsl(e.out, bundleContext)))
-  }
-
-  def imports: List[String] = List("contentGraphPreamble._",
-    "platformDsl._", "org.apache.clerezza.rdf.core._",
-    "org.apache.clerezza.rdf.core.access.TcManager",
-    "org.apache.clerezza.rdf.ontologies._",
-    "org.apache.clerezza.rdf.scala.utils._")
-
-  protected def bindContentGraphProvider(p: ContentGraphProvider) {
-    contentGraphProvider = p
-  }
-
-  protected def unbindContentGraphProvider(p: ContentGraphProvider) {
-    contentGraphProvider = null
-  }
-}