You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by da...@apache.org on 2008/01/23 20:27:44 UTC
svn commit: r614632 - in
/incubator/abdera/java/branches/server_refactor_all/jcr/src:
main/java/org/apache/abdera/jcr/ test/java/org/apache/abdera/jcr/
Author: dandiep
Date: Wed Jan 23 11:27:41 2008
New Revision: 614632
URL: http://svn.apache.org/viewvc?rev=614632&view=rev
Log:
Migrate JCR bits.
Added:
incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/JcrCollectionAdapter.java
- copied, changed from r614629, incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/JcrCollectionProvider.java
incubator/abdera/java/branches/server_refactor_all/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionAdapterTest.java
- copied, changed from r614629, incubator/abdera/java/branches/server_refactor_all/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionProviderTest.java
Removed:
incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/JcrCollectionProvider.java
incubator/abdera/java/branches/server_refactor_all/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionProviderTest.java
Modified:
incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/SessionPoolManager.java
Copied: incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/JcrCollectionAdapter.java (from r614629, incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/JcrCollectionProvider.java)
URL: http://svn.apache.org/viewvc/incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/JcrCollectionAdapter.java?p2=incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/JcrCollectionAdapter.java&p1=incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/JcrCollectionProvider.java&r1=614629&r2=614632&rev=614632&view=diff
==============================================================================
--- incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/JcrCollectionProvider.java (original)
+++ incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/JcrCollectionAdapter.java Wed Jan 23 11:27:41 2008
@@ -30,10 +30,9 @@
import org.apache.abdera.protocol.server.RequestContext;
import org.apache.abdera.protocol.server.ResponseContext;
import org.apache.abdera.protocol.server.RequestContext.Scope;
-import org.apache.abdera.protocol.server.impl.AbstractEntityCollectionProvider;
-import org.apache.abdera.protocol.server.impl.EmptyResponseContext;
-import org.apache.abdera.protocol.server.impl.ResponseContextException;
-import org.apache.abdera.protocol.util.EncodingUtil;
+import org.apache.abdera.protocol.server.context.EmptyResponseContext;
+import org.apache.abdera.protocol.server.context.ResponseContextException;
+import org.apache.abdera.protocol.server.impl.AbstractEntityCollectionAdapter;
import org.apache.abdera.protocol.util.PoolManager;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -42,9 +41,9 @@
import org.apache.jackrabbit.core.nodetype.NodeTypeRegistry;
import org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader;
-public class JcrCollectionProvider extends AbstractEntityCollectionProvider<Node> {
+public class JcrCollectionAdapter extends AbstractEntityCollectionAdapter<Node> {
- private final static Log log = LogFactory.getLog(JcrCollectionProvider.class);
+ private final static Log log = LogFactory.getLog(JcrCollectionAdapter.class);
private static final String TITLE = "title";
@@ -101,7 +100,7 @@
}
/**
- * Logs into the repository and creates a node for the collection if one does not exist. Also,
+ * Logs into the repository and posts a node for the collection if one does not exist. Also,
* this will set up the session pool.
* @throws RepositoryException
*/
@@ -152,9 +151,7 @@
}
@Override
- public void begin(RequestContext request) throws ResponseContextException {
- super.begin(request);
-
+ public void start(RequestContext request) throws ResponseContextException {
try {
Session session = (Session) sessionPool.get(request);
@@ -175,8 +172,6 @@
log.warn("Could not return Session to pool!", e);
}
}
-
- super.end(request, response);
}
@@ -195,19 +190,19 @@
}
@Override
- public Node createMediaEntry(MimeType mimeType, String slug,
+ public Node postMediaEntry(MimeType mimeType, String slug,
InputStream inputStream, RequestContext request)
throws ResponseContextException {
if (slug == null) {
throw new ResponseContextException("A slug header must be supplied.", 500);
}
- Node n = createEntry(slug, null, null, new Date(), null, null, request);
+ Node n = postEntry(slug, null, null, new Date(), null, null, request);
try {
n.setProperty(MEDIA, inputStream);
n.setProperty(CONTENT_TYPE, mimeType.toString());
- String summary = createSummaryForEntry(n);
+ String summary = postSummaryForEntry(n);
if (summary != null) {
n.setProperty(SUMMARY, summary);
}
@@ -226,19 +221,19 @@
}
/**
- * Create a summary for an entry. Used when a media entry is created
- * so you have the chance to create a meaningful summary for consumers
+ * post a summary for an entry. Used when a media entry is postd
+ * so you have the chance to post a meaningful summary for consumers
* of the feed.
*
* @param n
* @return
*/
- protected String createSummaryForEntry(Node n) {
+ protected String postSummaryForEntry(Node n) {
return null;
}
@Override
- public Node createEntry(String title, IRI id, String summary, Date updated, List<Person> authors,
+ public Node postEntry(String title, IRI id, String summary, Date updated, List<Person> authors,
Content content, RequestContext request) throws ResponseContextException {
Node entry = null;
try {
@@ -246,7 +241,7 @@
Node collectionNode = session.getNodeByUUID(collectionNodeId);
String resourceName = Sanitizer.sanitize(title, "-");
- entry = createEntry(title, summary, updated, authors,
+ entry = postEntry(title, summary, updated, authors,
content, session, collectionNode,
resourceName, 0);
@@ -262,7 +257,7 @@
}
}
- protected Node createEntry(String title, String summary,
+ protected Node postEntry(String title, String summary,
Date updated, List<Person> authors,
Content content, Session session,
Node collectionNode, String resourceName, int num)
@@ -284,7 +279,7 @@
}
catch (ItemExistsException e)
{
- return createEntry(title, summary, updated, authors, content, session, collectionNode, resourceName, num++);
+ return postEntry(title, summary, updated, authors, content, session, collectionNode, resourceName, num++);
}
}
@@ -494,7 +489,6 @@
return summary;
}
- @Override
public String getTitle(RequestContext request) {
return title;
}
@@ -510,7 +504,7 @@
}
@Override
- public void updateEntry(Node entry, String title, Date updated,
+ public void putEntry(Node entry, String title, Date updated,
List<Person> authors, String summary,
Content content, RequestContext request) throws ResponseContextException {
Session session = getSession(request);
@@ -533,6 +527,10 @@
throw new RuntimeException(e);
}
+ return null;
+ }
+
+ public ResponseContext getCategories(RequestContext request) {
return null;
}
Modified: incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/SessionPoolManager.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/SessionPoolManager.java?rev=614632&r1=614631&r2=614632&view=diff
==============================================================================
--- incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/SessionPoolManager.java (original)
+++ incubator/abdera/java/branches/server_refactor_all/jcr/src/main/java/org/apache/abdera/jcr/SessionPoolManager.java Wed Jan 23 11:27:41 2008
@@ -6,7 +6,7 @@
import javax.jcr.Session;
import org.apache.abdera.protocol.Request;
-import org.apache.abdera.protocol.server.impl.AbstractItemManager;
+import org.apache.abdera.protocol.util.AbstractItemManager;
public class SessionPoolManager extends AbstractItemManager<Session> {
private Repository repository;
Copied: incubator/abdera/java/branches/server_refactor_all/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionAdapterTest.java (from r614629, incubator/abdera/java/branches/server_refactor_all/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionProviderTest.java)
URL: http://svn.apache.org/viewvc/incubator/abdera/java/branches/server_refactor_all/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionAdapterTest.java?p2=incubator/abdera/java/branches/server_refactor_all/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionAdapterTest.java&p1=incubator/abdera/java/branches/server_refactor_all/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionProviderTest.java&r1=614629&r2=614632&rev=614632&view=diff
==============================================================================
--- incubator/abdera/java/branches/server_refactor_all/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionProviderTest.java (original)
+++ incubator/abdera/java/branches/server_refactor_all/jcr/src/test/java/org/apache/abdera/jcr/JcrCollectionAdapterTest.java Wed Jan 23 11:27:41 2008
@@ -1,11 +1,8 @@
package org.apache.abdera.jcr;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
@@ -24,13 +21,9 @@
import org.apache.abdera.protocol.client.AbderaClient;
import org.apache.abdera.protocol.client.ClientResponse;
import org.apache.abdera.protocol.client.RequestOptions;
-import org.apache.abdera.protocol.server.CollectionProvider;
-import org.apache.abdera.protocol.server.ServiceContext;
-import org.apache.abdera.protocol.server.WorkspaceInfo;
-import org.apache.abdera.protocol.server.impl.DefaultServiceContext;
-import org.apache.abdera.protocol.server.impl.ServiceProvider;
+import org.apache.abdera.protocol.server.Provider;
+import org.apache.abdera.protocol.server.impl.DefaultProvider;
import org.apache.abdera.protocol.server.impl.SimpleWorkspaceInfo;
-import org.apache.abdera.protocol.server.impl.SingletonProviderManager;
import org.apache.abdera.protocol.server.servlet.AbderaServlet;
import org.apache.abdera.writer.Writer;
import org.apache.jackrabbit.core.TransientRepository;
@@ -40,49 +33,38 @@
import junit.framework.TestCase;
-public class JcrCollectionProviderTest extends TestCase {
+public class JcrCollectionAdapterTest extends TestCase {
private Server server;
- private DefaultServiceContext abderaServiceContext;
+ private DefaultProvider jcrProvider;
private Repository repository;
@Override
protected void setUp() throws Exception {
super.setUp();
- abderaServiceContext = new DefaultServiceContext();
-
- SingletonProviderManager pm = new SingletonProviderManager();
- abderaServiceContext.setProviderManager(pm);
-
- ServiceProvider sp = new ServiceProvider();
-
- SimpleWorkspaceInfo wi = new SimpleWorkspaceInfo();
+ jcrProvider = new DefaultProvider();
repository = new TransientRepository();
- JcrCollectionProvider cp = new JcrCollectionProvider();
+ JcrCollectionAdapter cp = new JcrCollectionAdapter();
cp.setTitle("My Entries");
cp.setAuthor("Apache Abdera");
cp.setCollectionNodePath("entries");
cp.setRepository(repository);
cp.setCredentials(new SimpleCredentials("username", "pass".toCharArray()));
+ cp.setHref("acme/feed");
cp.initialize();
-
- Map<String, CollectionProvider> contentProviders = new HashMap<String, CollectionProvider>();
- contentProviders.put("acme/feed", cp);
-
- wi.setCollectionProviders(contentProviders);
-
- List<WorkspaceInfo> workspaces = new ArrayList<WorkspaceInfo>();
- workspaces.add(wi);
- sp.setWorkspaces(workspaces);
- pm.setProvider(sp);
- abderaServiceContext.setTargetResolver(sp);
+
+ SimpleWorkspaceInfo wkspc = new SimpleWorkspaceInfo();
+ wkspc.setTitle("JCR Workspace");
+ wkspc.addCollection(cp);
+ jcrProvider.addWorkspace(wkspc);
+
initializeJetty();
}
- public void testCustomerProvider() throws Exception {
+ public void testJCRAdapter() throws Exception {
Abdera abdera = new Abdera();
Factory factory = abdera.getFactory();
@@ -177,9 +159,9 @@
root.addServlet(new ServletHolder(new AbderaServlet() {
@Override
- protected ServiceContext createServiceContext() {
- abderaServiceContext.init(getAbdera(), getProperties(getServletConfig()));
- return abderaServiceContext;
+ protected Provider createProvider() {
+ jcrProvider.init(getAbdera(), getProperties(getServletConfig()));
+ return jcrProvider;
}
}), "/*");
server.start();