You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by dp...@apache.org on 2008/12/03 09:25:41 UTC

svn commit: r722807 - in /jackrabbit/sandbox/jcr-cmis/server/atompub/src: main/java/org/apache/jackrabbit/cmis/server/atompub/CMISRepositoryInfo.java test/java/org/apache/jackrabbit/cmis/server/atompub/RepositoryInfo.java

Author: dpfister
Date: Wed Dec  3 00:25:41 2008
New Revision: 722807

URL: http://svn.apache.org/viewvc?rev=722807&view=rev
Log:
- Add test case for getRepositoryInfo()

Added:
    jackrabbit/sandbox/jcr-cmis/server/atompub/src/main/java/org/apache/jackrabbit/cmis/server/atompub/CMISRepositoryInfo.java   (with props)
    jackrabbit/sandbox/jcr-cmis/server/atompub/src/test/java/org/apache/jackrabbit/cmis/server/atompub/RepositoryInfo.java   (with props)

Added: jackrabbit/sandbox/jcr-cmis/server/atompub/src/main/java/org/apache/jackrabbit/cmis/server/atompub/CMISRepositoryInfo.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jcr-cmis/server/atompub/src/main/java/org/apache/jackrabbit/cmis/server/atompub/CMISRepositoryInfo.java?rev=722807&view=auto
==============================================================================
--- jackrabbit/sandbox/jcr-cmis/server/atompub/src/main/java/org/apache/jackrabbit/cmis/server/atompub/CMISRepositoryInfo.java (added)
+++ jackrabbit/sandbox/jcr-cmis/server/atompub/src/main/java/org/apache/jackrabbit/cmis/server/atompub/CMISRepositoryInfo.java Wed Dec  3 00:25:41 2008
@@ -0,0 +1,22 @@
+package org.apache.jackrabbit.cmis.server.atompub;
+
+import javax.xml.namespace.QName;
+
+import org.apache.abdera.model.Element;
+import org.apache.abdera.model.ElementWrapper;
+
+public class CMISRepositoryInfo extends ElementWrapper {
+
+    public static final QName NAME =
+        new QName(CMISExtensionFactory.CMIS_NS, "repositoryInfo");
+    private static final QName REPOSITORY_ID =
+        new QName(CMISExtensionFactory.CMIS_NS, "repositoryId");
+
+    public CMISRepositoryInfo(Element elem) {
+        super(elem);
+    }
+
+    public String getRepositoryId() {
+        return getFirstChild(REPOSITORY_ID).getText();
+    }
+}

Propchange: jackrabbit/sandbox/jcr-cmis/server/atompub/src/main/java/org/apache/jackrabbit/cmis/server/atompub/CMISRepositoryInfo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/jcr-cmis/server/atompub/src/main/java/org/apache/jackrabbit/cmis/server/atompub/CMISRepositoryInfo.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url

Added: jackrabbit/sandbox/jcr-cmis/server/atompub/src/test/java/org/apache/jackrabbit/cmis/server/atompub/RepositoryInfo.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jcr-cmis/server/atompub/src/test/java/org/apache/jackrabbit/cmis/server/atompub/RepositoryInfo.java?rev=722807&view=auto
==============================================================================
--- jackrabbit/sandbox/jcr-cmis/server/atompub/src/test/java/org/apache/jackrabbit/cmis/server/atompub/RepositoryInfo.java (added)
+++ jackrabbit/sandbox/jcr-cmis/server/atompub/src/test/java/org/apache/jackrabbit/cmis/server/atompub/RepositoryInfo.java Wed Dec  3 00:25:41 2008
@@ -0,0 +1,96 @@
+package org.apache.jackrabbit.cmis.server.atompub;
+
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.HashSet;
+
+import org.apache.abdera.Abdera;
+import org.apache.abdera.model.Service;
+import org.apache.abdera.model.Workspace;
+import org.apache.abdera.protocol.Resolver;
+import org.apache.abdera.protocol.client.AbderaClient;
+import org.apache.abdera.protocol.client.ClientResponse;
+import org.apache.abdera.protocol.server.CollectionInfo;
+import org.apache.abdera.protocol.server.RequestContext;
+import org.apache.abdera.protocol.server.Target;
+import org.apache.abdera.protocol.server.TargetBuilder;
+import org.apache.abdera.protocol.server.WorkspaceInfo;
+import org.apache.abdera.protocol.server.WorkspaceManager;
+import org.apache.abdera.protocol.server.impl.AbstractProvider;
+import org.apache.abdera.protocol.server.impl.DefaultProvider;
+import org.apache.abdera.protocol.server.impl.SimpleWorkspaceInfo;
+import org.apache.abdera.protocol.server.provider.basic.BasicProvider;
+import org.apache.jackrabbit.cmis.server.atompub.CMISRepositoryInfo;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import junit.framework.Assert;
+
+public class RepositoryInfo extends Assert {
+
+    private static JettyServer server;
+    private static Abdera abdera = Abdera.getInstance();
+    private static AbderaClient client = new AbderaClient();
+
+    @BeforeClass
+    public static void setUp() throws Exception {
+        if (server == null) {
+            server = new JettyServer();
+            server.start(MyProvider.class);
+        }
+    }
+
+    @AfterClass
+    public static void tearDown() throws Exception {
+    }
+
+    @Test
+    public void testGetService() throws Exception {
+        ClientResponse resp = client.get("http://localhost:9002/");
+
+        Service root = (Service) resp.getDocument().getRoot();
+        Workspace workspace = root.getWorkspaces().get(0);
+        System.out.println(workspace);
+
+        CMISRepositoryInfo info = workspace.getFirstChild(CMISRepositoryInfo.NAME);
+        System.out.println(info.getRepositoryId());
+        /*
+        InputStream in = getInputStream("Example-Service.xml");
+
+        Service root = (Service) abdera.getParser().parse(in).getRoot();
+        Workspace workspace = root.getWorkspaces().get(0);
+
+        CMISRepositoryInfo info = workspace.getFirstChild(CMISRepositoryInfo.NAME);
+        System.out.println(info.getRepositoryId());
+        */
+    }
+
+    private InputStream getInputStream(String name) {
+        return RepositoryInfo.class.getClassLoader().getResourceAsStream(name);
+    }
+
+}
+
+// does not work because the class must be public
+class MyProvider extends DefaultProvider {
+
+    public MyProvider() {
+        addWorkspace(new SimpleWorkspaceInfo());
+    }
+
+}
+
+class MyWorkspaceInfo extends SimpleWorkspaceInfo {
+
+    public String getTitle(RequestContext requsest) {
+        return "Repository 1";
+    }
+
+    @Override
+    public Workspace asWorkspaceElement(RequestContext request) {
+        Workspace workspace = super.asWorkspaceElement(request);
+        workspace.setAttributeValue("cmis:repositoryRelationship", "Self");
+        return workspace;
+    }
+}

Propchange: jackrabbit/sandbox/jcr-cmis/server/atompub/src/test/java/org/apache/jackrabbit/cmis/server/atompub/RepositoryInfo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/jcr-cmis/server/atompub/src/test/java/org/apache/jackrabbit/cmis/server/atompub/RepositoryInfo.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url