Author: rwesten
Date: Fri Mar 30 09:19:34 2012
New Revision: 1307328
URL: http://svn.apache.org/viewvc?rev=1307328&view=rev
Log:
Adaption to the Store interface; Added Javadoc; Uris for the Enums
Added:
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/ChangeSet.java
- copied, changed from r1307297,
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/Changes.java
Removed:
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/Changes.java
Modified:
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/EndpointType.java
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/IndexState.java
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/SemanticIndex.java
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/Store.java
Modified:
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/EndpointType.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/EndpointType.java?rev=1307328&r1=1307327&r2=1307328&view=diff
==============================================================================
---
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/EndpointType.java
(original)
+++
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/EndpointType.java
Fri Mar 30 09:19:34 2012
@@ -2,4 +2,17 @@ package org.apache.stanbol.contenthub.se
public enum EndpointType {
SOLR
+ ;
+
+ private static final String prefix =
"http://stanbol.apache.org/ontology/contenthub#endpointType_";
+
+ public String getUri() {
+ return prefix+name().toLowerCase();
+ }
+
+ @Override
+ public String toString() {
+ return getUri();
+ }
+
}
Modified:
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/IndexState.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/IndexState.java?rev=1307328&r1=1307327&r2=1307328&view=diff
==============================================================================
---
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/IndexState.java
(original)
+++
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/IndexState.java
Fri Mar 30 09:19:34 2012
@@ -4,5 +4,15 @@ public enum IndexState {
UNINIT,
INDEXING,
ACTIVE,
- REINDEXING
+ REINDEXING;
+
+ private static final String prefix =
"http://stanbol.apache.org/ontology/contenthub#indexState_";
+
+ public String getUri() {
+ return prefix+name().toLowerCase();
+ }
+ @Override
+ public String toString() {
+ return getUri();
+ }
}
Modified:
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/SemanticIndex.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/SemanticIndex.java?rev=1307328&r1=1307327&r2=1307328&view=diff
==============================================================================
---
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/SemanticIndex.java
(original)
+++
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/index/SemanticIndex.java
Fri Mar 30 09:19:34 2012
@@ -26,6 +26,5 @@ public interface SemanticIndex {
Map<String, String> getRESTSearchEndpoints();
- @SuppressWarnings("rawtypes")
- Map<Class, ServiceReference> getSearchEndPoints();
+ Map<Class<?>, ServiceReference> getSearchEndPoints();
}
Copied:
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/ChangeSet.java
(from r1307297,
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/Changes.java)
URL:
http://svn.apache.org/viewvc/incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/ChangeSet.java?p2=incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/ChangeSet.java&p1=incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/Changes.java&r1=1307297&r2=1307328&rev=1307328&view=diff
==============================================================================
---
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/Changes.java
(original)
+++
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/ChangeSet.java
Fri Mar 30 09:19:34 2012
@@ -4,11 +4,49 @@ import java.util.Set;
import org.apache.clerezza.rdf.core.UriRef;
-public interface Changes {
- long from();
-
- long to();
+/**
+ * This represents a set of {@link #size()} changes starting
+ * {@link #fromRevision()} {@link #toRevision()} affecting
+ * ContentItems with the {@link UriRef}s returned by
+ * {@link #changed()};
+ * <p>
+ * The intended usage of this class is
+ * <code><pre>
+ * Store store; //the store
+ * long revision = Long.MIN_VALUE; //start for scatch
+ * int batchSize = 1000;
+ * ChangeSet cs;
+ * do {
+ * cs = store.changes(revision);
+ * for(UriRef changed : cs.changed()){
+ * ContentItem ci = store.get(changed);
+ * //precess
+ * }
+ * while(!cs.changed().isEmpty()){
+ * </pre></code>
+ */
+public interface ChangeSet {
+ /**
+ * The lowest revision number included in this ChangeSet
+ * @return the lowest revision number of this set
+ */
+ long fromRevision();
+ /**
+ * The highest revision number included in this ChangeSet
+ * @return the highest revision number of this set
+ */
+ long toRevision();
+ /**
+ * The read only {@link Set} of changes ContentItems included
+ * in this ChangeSet.
+ * @return the {@link UriRef}s of the changed contentItems
+ * included in this ChangeSet
+ */
Set<UriRef>changed();
-
+ /**
+ * The reference to the {@link Store} of this {@link ChangeSet}.
+ * This can be used to get the next ChangeSet by calling
+ * @return
+ */
}
Modified:
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/Store.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/Store.java?rev=1307328&r1=1307327&r2=1307328&view=diff
==============================================================================
---
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/Store.java
(original)
+++
incubator/stanbol/branches/contenthub-two-layered-structure/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/store/Store.java
Fri Mar 30 09:19:34 2012
@@ -18,6 +18,7 @@ package org.apache.stanbol.contenthub.se
import java.io.InputStream;
+import org.apache.clerezza.rdf.core.UriRef;
import org.apache.stanbol.enhancer.servicesapi.ContentItem;
import org.apache.stanbol.enhancer.servicesapi.helper.ContentItemHelper;
@@ -28,29 +29,29 @@ import org.apache.stanbol.enhancer.servi
*/
public interface Store {
- /**
- * Creates a {@link ContentItem} item based on supplied data, using an
implementation that suits this
- * store.
- * <p>
- * Calling this method creates an empty data transfer object in memory
suitable for later saving using the
- * {@link Store#put(ContentItem)} method. The Store state is unchanged by
the call to the
- * {@link #create(String, byte[], String)} method.
- *
- * @param id
- * The value to use {@link ContentItem#getId}. If
<code>null</code> is parsed as id, an id need
- * to be computed based on the parsed content ( e.g.
calculating the stream digest (see also
- * {@link ContentItemHelper#streamDigest(java.io.InputStream,
java.io.OutputStream, String)})
- * @param content
- * the binary content
- * @param contentType
- * The Mime-Type of the binary data
- * @return the {@link ContentItem} that was created
- */
- ContentItem create(String id, byte[] content, String contentType) throws
StoreException;
-
- ContentItem create(String id, InputStream is, String contentType) throws
StoreException;
+// /**
+// * Creates a {@link ContentItem} item based on supplied data, using an
implementation that suits this
+// * store.
+// * <p>
+// * Calling this method creates an empty data transfer object in memory
suitable for later saving using the
+// * {@link Store#put(ContentItem)} method. The Store state is unchanged
by the call to the
+// * {@link #create(String, byte[], String)} method.
+// *
+// * @param id
+// * The value to use {@link ContentItem#getId}. If
<code>null</code> is parsed as id, an id need
+// * to be computed based on the parsed content ( e.g.
calculating the stream digest (see also
+// * {@link ContentItemHelper#streamDigest(java.io.InputStream,
java.io.OutputStream, String)})
+// * @param content
+// * the binary content
+// * @param contentType
+// * The Mime-Type of the binary data
+// * @return the {@link ContentItem} that was created
+// */
+// ContentItem create(String id, byte[] content, String contentType) throws
StoreException;
+//
+// ContentItem create(String id, InputStream is, String contentType) throws
StoreException;
- ContentItem remove(String id) throws StoreException;
+ ContentItem remove(UriRef id) throws StoreException;
/**
* Store supplied {@link ContentItem} and return its id, which is assigned
by the store if not defined
@@ -58,10 +59,17 @@ public interface Store {
*
* If the {@link ContentItem} already exists, it is overwritten.
*/
- String put(ContentItem ci) throws StoreException;
+ UriRef put(ContentItem ci) throws StoreException;
/** Get a {@link ContentItem} by id, null if non-existing */
- ContentItem get(String id) throws StoreException;
-
- Changes changes(long revision) throws StoreException;
+ ContentItem get(UriRef id) throws StoreException;
+ /**
+ * Requests the next <code>batchSize</code> changes starting from
+ * <code>revision</code>. If there are no more revisions that an
+ * {@link ChangeSet} with an empty {@link ChangeSet#changed()} set.
+ * @param revision the starting revision number for the returned {@link
ChangeSet}
+ * @return the {@link ChangeSet} with a maximum of <code>batchSize</code>
changes
+ * @throws StoreException on any error while accessing the store.
+ */
+ ChangeSet changes(long revision, int batchSize) throws StoreException;
}