You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xindice-dev@xml.apache.org by na...@apache.org on 2008/03/24 02:09:06 UTC
svn commit: r640282 -
/xml/xindice/trunk/java/src/org/apache/xindice/core/Collection.java
Author: natalia
Date: Sun Mar 23 18:09:05 2008
New Revision: 640282
URL: http://svn.apache.org/viewvc?rev=640282&view=rev
Log:
Add methods for updating resources
Modified:
xml/xindice/trunk/java/src/org/apache/xindice/core/Collection.java
Modified: xml/xindice/trunk/java/src/org/apache/xindice/core/Collection.java
URL: http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/core/Collection.java?rev=640282&r1=640281&r2=640282&view=diff
==============================================================================
--- xml/xindice/trunk/java/src/org/apache/xindice/core/Collection.java (original)
+++ xml/xindice/trunk/java/src/org/apache/xindice/core/Collection.java Sun Mar 23 18:09:05 2008
@@ -1127,8 +1127,8 @@
/**
* insertBinary inserts a new binary object into a Xindice Collection.
*
- * @param docKey The document Key
- * @param bytes The document to insert
+ * @param docKey The resource Key
+ * @param bytes The resource to insert
* @return key for the inserted binary
* @throws DBException if inline-metadata is not enabled, the key is
* already in the database, or an error occurs while saving.
@@ -1192,8 +1192,8 @@
/**
* setBinary inserts or updates binary object into a Xindice Collection.
*
- * @param docKey The document Key
- * @param bytes The document to insert
+ * @param docKey The resource Key
+ * @param bytes The resource to store
* @return true if new binary was created, false otherwise
* @throws DBException if inline-metadata is not enabled, the key is
* already in the database, or an error occurs while saving.
@@ -1215,6 +1215,47 @@
}
return res;
+ }
+
+ /**
+ * updateDocument updates existing Document in a Xindice Collection.
+ *
+ * @param docKey The document Key
+ * @param document The document to update
+ * @throws DBException if the key does not exist in the database, or an
+ * error occurs while saving.
+ */
+ public void updateDocument(Object docKey, Document document) throws DBException {
+ if (log.isInfoEnabled()) {
+ log.info(debugHeader() + "Update document: " + docKey);
+ }
+ putDocument(createNewKey(docKey), document, ACTION_UPDATE);
+
+ // update the meta information if necessary
+ updateCollectionMeta();
+ }
+
+ /**
+ * updateDocument updates existing binary object in a Xindice Collection.
+ *
+ * @param docKey The resource Key
+ * @param bytes The resource to update
+ * @throws DBException if inline-metadata is not enabled, the key does not
+ * exist in the database, or an error occurs while saving.
+ */
+ public void updateBinary(Object docKey, byte[] bytes) throws DBException {
+ if (inlineMetaService == null) {
+ throw new DBException(FaultCodes.COL_CANNOT_STORE,
+ "Cannot insert a binary resource in '" + getCanonicalName() +
+ "' (inline-metadata is not enabled)");
+ }
+
+ if (log.isInfoEnabled()) {
+ log.info(debugHeader() + "Set binary " + docKey);
+ }
+
+ putBinary(createNewKey(docKey), bytes, ACTION_UPDATE);
+ updateCollectionMeta();
}
/**