You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2010/11/12 17:00:37 UTC
svn commit: r1034438 - in
/incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client:
chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/
chemistry-opencmis-client-impl/src/main/java/org/ap...
Author: fmui
Date: Fri Nov 12 16:00:37 2010
New Revision: 1034438
URL: http://svn.apache.org/viewvc?rev=1034438&view=rev
Log:
more refactoring
Modified:
incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/CmisObject.java
incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/Document.java
incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientCmisObject.java
incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientFolder.java
incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientPolicy.java
incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientRelationship.java
incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/AbstractTransientCmisObject.java
incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientFolderImpl.java
incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientPolicyImpl.java
incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientRelationshipImpl.java
Modified: incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/CmisObject.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/CmisObject.java?rev=1034438&r1=1034437&r2=1034438&view=diff
==============================================================================
--- incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/CmisObject.java (original)
+++ incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/CmisObject.java Fri Nov 12 16:00:37 2010
@@ -168,7 +168,9 @@ public interface CmisObject extends Obje
*
* @return the object id of the updated object (a repository might have
* created a new object)
+ *
*/
+ // TODO: change name
ObjectId updatePropertiesOnly(Map<String, ?> properties);
// renditions
Modified: incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/Document.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/Document.java?rev=1034438&r1=1034437&r2=1034438&view=diff
==============================================================================
--- incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/Document.java (original)
+++ incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/Document.java Fri Nov 12 16:00:37 2010
@@ -62,6 +62,7 @@ public interface Document extends Fileab
/**
* Sets a new content stream for the document.
*/
+ // TODO: change name
ObjectId setContentStreamOnly(ContentStream contentStream, boolean overwrite);
/**
@@ -72,6 +73,7 @@ public interface Document extends Fileab
/**
* Removes the current content stream from the document.
*/
+ // TODO: change name
ObjectId deleteContentStreamOnly();
// versioning service
Modified: incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientCmisObject.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientCmisObject.java?rev=1034438&r1=1034437&r2=1034438&view=diff
==============================================================================
--- incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientCmisObject.java (original)
+++ incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientCmisObject.java Fri Nov 12 16:00:37 2010
@@ -112,5 +112,5 @@ public interface TransientCmisObject ext
// shared object
- CmisObject getSharedObject();
+ CmisObject getCmisObject();
}
Modified: incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientFolder.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientFolder.java?rev=1034438&r1=1034437&r2=1034438&view=diff
==============================================================================
--- incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientFolder.java (original)
+++ incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientFolder.java Fri Nov 12 16:00:37 2010
@@ -18,6 +18,61 @@
*/
package org.apache.chemistry.opencmis.client.api;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.chemistry.opencmis.commons.data.Ace;
+import org.apache.chemistry.opencmis.commons.data.ContentStream;
+import org.apache.chemistry.opencmis.commons.enums.UnfileObject;
+import org.apache.chemistry.opencmis.commons.enums.VersioningState;
+
public interface TransientFolder extends TransientCmisObject {
+ Document createDocument(Map<String, ?> properties, ContentStream contentStream, VersioningState versioningState,
+ List<Policy> policies, List<Ace> addAces, List<Ace> removeAces, OperationContext context);
+
+ Document createDocument(Map<String, ?> properties, ContentStream contentStream, VersioningState versioningState);
+
+ Document createDocumentFromSource(ObjectId source, Map<String, ?> properties, VersioningState versioningState,
+ List<Policy> policies, List<Ace> addAces, List<Ace> removeAces, OperationContext context);
+
+ Document createDocumentFromSource(ObjectId source, Map<String, ?> properties, VersioningState versioningState);
+
+ Folder createFolder(Map<String, ?> properties, List<Policy> policies, List<Ace> addAces, List<Ace> removeAces,
+ OperationContext context);
+
+ Folder createFolder(Map<String, ?> properties);
+
+ Policy createPolicy(Map<String, ?> properties, List<Policy> policies, List<Ace> addAces, List<Ace> removeAces,
+ OperationContext context);
+
+ Policy createPolicy(Map<String, ?> properties);
+
+ void deleteTree(boolean allversions, UnfileObject unfile, boolean continueOnFailure);
+
+ List<Tree<FileableCmisObject>> getFolderTree(int depth);
+
+ List<Tree<FileableCmisObject>> getFolderTree(int depth, OperationContext context);
+
+ List<Tree<FileableCmisObject>> getDescendants(int depth);
+
+ List<Tree<FileableCmisObject>> getDescendants(int depth, OperationContext context);
+
+ ItemIterable<CmisObject> getChildren();
+
+ ItemIterable<CmisObject> getChildren(OperationContext context);
+
+ boolean isRootFolder();
+
+ Folder getFolderParent();
+
+ String getPath();
+
+ ItemIterable<Document> getCheckedOutDocs();
+
+ ItemIterable<Document> getCheckedOutDocs(OperationContext context);
+
+ List<ObjectType> getAllowedChildObjectTypes(); // cmis:allowedChildObjectTypeIds
+
+ void setAllowedChildObjectTypes(List<ObjectType> types);
}
Modified: incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientPolicy.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientPolicy.java?rev=1034438&r1=1034437&r2=1034438&view=diff
==============================================================================
--- incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientPolicy.java (original)
+++ incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientPolicy.java Fri Nov 12 16:00:37 2010
@@ -20,4 +20,7 @@ package org.apache.chemistry.opencmis.cl
public interface TransientPolicy extends TransientCmisObject {
+ String getPolicyText();
+
+ void setPolicyText(String policyText);
}
Modified: incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientRelationship.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientRelationship.java?rev=1034438&r1=1034437&r2=1034438&view=diff
==============================================================================
--- incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientRelationship.java (original)
+++ incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/TransientRelationship.java Fri Nov 12 16:00:37 2010
@@ -20,4 +20,19 @@ package org.apache.chemistry.opencmis.cl
public interface TransientRelationship extends TransientCmisObject {
+ CmisObject getSource();
+
+ CmisObject getSource(OperationContext context);
+
+ ObjectId getSourceId(); // cmis:sourceId
+
+ void setSourceId(ObjectId id);
+
+ CmisObject getTarget();
+
+ CmisObject getTarget(OperationContext context);
+
+ ObjectId getTargetId(); // cmis:targetId
+
+ void setTargetId(ObjectId id);
}
Modified: incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/AbstractTransientCmisObject.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/AbstractTransientCmisObject.java?rev=1034438&r1=1034437&r2=1034438&view=diff
==============================================================================
--- incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/AbstractTransientCmisObject.java (original)
+++ incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/AbstractTransientCmisObject.java Fri Nov 12 16:00:37 2010
@@ -56,8 +56,6 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.spi.CmisBinding;
import org.apache.chemistry.opencmis.commons.spi.Holder;
-import com.sun.xml.internal.txw2.IllegalAnnotationException;
-
public abstract class AbstractTransientCmisObject implements TransientCmisObject {
private Session session;
@@ -76,9 +74,9 @@ public abstract class AbstractTransientC
private Map<ExtensionLevel, List<CmisExtensionElement>> inputExtensions;
private Map<ExtensionLevel, List<CmisExtensionElement>> ouputExtensions;
- private boolean isModified;
- private boolean isPropertyUpdateRequired;
- private boolean isMarkedForDelete;
+ protected boolean isModified;
+ protected boolean isPropertyUpdateRequired;
+ protected boolean isMarkedForDelete;
private boolean deleteAllVersions;
@SuppressWarnings({ "rawtypes", "unchecked" })
@@ -137,7 +135,7 @@ public abstract class AbstractTransientC
isMarkedForDelete = false;
}
- public CmisObject getSharedObject() {
+ public CmisObject getCmisObject() {
return object;
}
@@ -375,7 +373,7 @@ public abstract class AbstractTransientC
}
public ObjectId save() {
- if (!isModified) {
+ if (!isModified()) {
// nothing has change, so there is nothing to do
return getObjectId();
}
@@ -576,11 +574,11 @@ public abstract class AbstractTransientC
public AceChangeHolder(String principalId, List<String> permissions, AclPropagation aclPropagation) {
if ((principalId == null) || (principalId.length() == 0)) {
- throw new IllegalAnnotationException("Principal id must be set!");
+ throw new IllegalArgumentException("Principal id must be set!");
}
if ((permissions == null) || (permissions.size() == 0)) {
- throw new IllegalAnnotationException("Permissions id must be set!");
+ throw new IllegalArgumentException("Permissions id must be set!");
}
this.principalId = principalId;
Modified: incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientFolderImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientFolderImpl.java?rev=1034438&r1=1034437&r2=1034438&view=diff
==============================================================================
--- incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientFolderImpl.java (original)
+++ incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientFolderImpl.java Fri Nov 12 16:00:37 2010
@@ -18,8 +18,188 @@
*/
package org.apache.chemistry.opencmis.client.runtime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.chemistry.opencmis.client.api.CmisObject;
+import org.apache.chemistry.opencmis.client.api.Document;
+import org.apache.chemistry.opencmis.client.api.FileableCmisObject;
+import org.apache.chemistry.opencmis.client.api.Folder;
+import org.apache.chemistry.opencmis.client.api.ItemIterable;
+import org.apache.chemistry.opencmis.client.api.ObjectId;
+import org.apache.chemistry.opencmis.client.api.ObjectType;
+import org.apache.chemistry.opencmis.client.api.OperationContext;
+import org.apache.chemistry.opencmis.client.api.Policy;
+import org.apache.chemistry.opencmis.client.api.Session;
import org.apache.chemistry.opencmis.client.api.TransientFolder;
+import org.apache.chemistry.opencmis.client.api.Tree;
+import org.apache.chemistry.opencmis.commons.PropertyIds;
+import org.apache.chemistry.opencmis.commons.data.Ace;
+import org.apache.chemistry.opencmis.commons.data.ContentStream;
+import org.apache.chemistry.opencmis.commons.data.FailedToDeleteData;
+import org.apache.chemistry.opencmis.commons.enums.UnfileObject;
+import org.apache.chemistry.opencmis.commons.enums.VersioningState;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException;
public class TransientFolderImpl extends AbstractTransientCmisObject implements TransientFolder {
+ private boolean isMarkedForDeleteTree;
+ private boolean deleteTreeAllVersions;
+ private UnfileObject deleteTreeUnfile;
+ private boolean deleteTreeContinueOnFailure;
+
+ @Override
+ protected void initialize(Session session, CmisObject object) {
+ super.initialize(session, object);
+
+ isMarkedForDeleteTree = false;
+ }
+
+ public Document createDocument(Map<String, ?> properties, ContentStream contentStream,
+ VersioningState versioningState, List<Policy> policies, List<Ace> addAces, List<Ace> removeAces,
+ OperationContext context) {
+ return ((Folder) getCmisObject()).createDocument(properties, contentStream, versioningState, policies, addAces,
+ removeAces, context);
+ }
+
+ public Document createDocument(Map<String, ?> properties, ContentStream contentStream,
+ VersioningState versioningState) {
+ return ((Folder) getCmisObject()).createDocument(properties, contentStream, versioningState);
+ }
+
+ public Document createDocumentFromSource(ObjectId source, Map<String, ?> properties,
+ VersioningState versioningState, List<Policy> policies, List<Ace> addAces, List<Ace> removeAces,
+ OperationContext context) {
+ return ((Folder) getCmisObject()).createDocumentFromSource(source, properties, versioningState, policies,
+ addAces, removeAces, context);
+ }
+
+ public Document createDocumentFromSource(ObjectId source, Map<String, ?> properties, VersioningState versioningState) {
+ return ((Folder) getCmisObject()).createDocumentFromSource(source, properties, versioningState);
+ }
+
+ public Folder createFolder(Map<String, ?> properties, List<Policy> policies, List<Ace> addAces,
+ List<Ace> removeAces, OperationContext context) {
+ return ((Folder) getCmisObject()).createFolder(properties, policies, addAces, removeAces, context);
+ }
+
+ public Folder createFolder(Map<String, ?> properties) {
+ return ((Folder) getCmisObject()).createFolder(properties);
+ }
+
+ public Policy createPolicy(Map<String, ?> properties, List<Policy> policies, List<Ace> addAces,
+ List<Ace> removeAces, OperationContext context) {
+ return ((Folder) getCmisObject()).createPolicy(properties, policies, addAces, removeAces, context);
+ }
+
+ public Policy createPolicy(Map<String, ?> properties) {
+ return ((Folder) getCmisObject()).createPolicy(properties);
+ }
+
+ public void deleteTree(boolean allversions, UnfileObject unfile, boolean continueOnFailure) {
+ deleteTreeAllVersions = allversions;
+ deleteTreeUnfile = unfile;
+ deleteTreeContinueOnFailure = continueOnFailure;
+
+ isMarkedForDeleteTree = true;
+ isMarkedForDelete = true;
+ isModified = true;
+ }
+
+ public List<Tree<FileableCmisObject>> getFolderTree(int depth) {
+ return ((Folder) getCmisObject()).getFolderTree(depth);
+ }
+
+ public List<Tree<FileableCmisObject>> getFolderTree(int depth, OperationContext context) {
+ return ((Folder) getCmisObject()).getFolderTree(depth, context);
+ }
+
+ public List<Tree<FileableCmisObject>> getDescendants(int depth) {
+ return ((Folder) getCmisObject()).getDescendants(depth);
+ }
+
+ public List<Tree<FileableCmisObject>> getDescendants(int depth, OperationContext context) {
+ return ((Folder) getCmisObject()).getDescendants(depth, context);
+ }
+
+ public ItemIterable<CmisObject> getChildren() {
+ return ((Folder) getCmisObject()).getChildren();
+ }
+
+ public ItemIterable<CmisObject> getChildren(OperationContext context) {
+ return ((Folder) getCmisObject()).getChildren(context);
+ }
+
+ public boolean isRootFolder() {
+ return ((Folder) getCmisObject()).isRootFolder();
+ }
+
+ public Folder getFolderParent() {
+ return ((Folder) getCmisObject()).getFolderParent();
+ }
+
+ public String getPath() {
+ return ((Folder) getCmisObject()).getPath();
+ }
+
+ public ItemIterable<Document> getCheckedOutDocs() {
+ return ((Folder) getCmisObject()).getCheckedOutDocs();
+ }
+
+ public ItemIterable<Document> getCheckedOutDocs(OperationContext context) {
+ return ((Folder) getCmisObject()).getCheckedOutDocs();
+ }
+
+ public List<ObjectType> getAllowedChildObjectTypes() {
+ List<ObjectType> result = new ArrayList<ObjectType>();
+
+ List<String> otids = getPropertyValue(PropertyIds.ALLOWED_CHILD_OBJECT_TYPE_IDS);
+ if (otids == null) {
+ return result;
+ }
+
+ for (String otid : otids) {
+ result.add(getSession().getTypeDefinition(otid));
+ }
+
+ return result;
+ }
+
+ public void setAllowedChildObjectTypes(List<ObjectType> types) {
+ List<String> typeIds = new ArrayList<String>();
+
+ if ((types != null) && (!types.isEmpty())) {
+ for (ObjectType type : types) {
+ if (type != null) {
+ typeIds.add(type.getId());
+ }
+ }
+ }
+
+ setPropertyValue(PropertyIds.ALLOWED_CHILD_OBJECT_TYPE_IDS, typeIds);
+ }
+
+ // override save()
+
+ @Override
+ public ObjectId save() {
+ if (!isModified()) {
+ // nothing has change, so there is nothing to do
+ return getObjectId();
+ }
+
+ if (isMarkedForDeleteTree) {
+ FailedToDeleteData ftd = getBinding().getObjectService().deleteTree(getRepositoryId(), getId(),
+ deleteTreeAllVersions, deleteTreeUnfile, deleteTreeContinueOnFailure, null);
+
+ if ((ftd != null) && (!ftd.getIds().isEmpty())) {
+ throw new CmisConstraintException("deleteTree could not delete all folder children!");
+ }
+
+ return null;
+ }
+
+ return super.save();
+ }
}
Modified: incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientPolicyImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientPolicyImpl.java?rev=1034438&r1=1034437&r2=1034438&view=diff
==============================================================================
--- incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientPolicyImpl.java (original)
+++ incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientPolicyImpl.java Fri Nov 12 16:00:37 2010
@@ -19,7 +19,15 @@
package org.apache.chemistry.opencmis.client.runtime;
import org.apache.chemistry.opencmis.client.api.TransientPolicy;
+import org.apache.chemistry.opencmis.commons.PropertyIds;
public class TransientPolicyImpl extends AbstractTransientCmisObject implements TransientPolicy {
+ public String getPolicyText() {
+ return getPropertyValue(PropertyIds.POLICY_TEXT);
+ }
+
+ public void setPolicyText(String policyText) {
+ setPropertyValue(PropertyIds.POLICY_TEXT, policyText);
+ }
}
Modified: incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientRelationshipImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientRelationshipImpl.java?rev=1034438&r1=1034437&r2=1034438&view=diff
==============================================================================
--- incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientRelationshipImpl.java (original)
+++ incubator/chemistry/opencmis/branches/client-api-refactoring/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/TransientRelationshipImpl.java Fri Nov 12 16:00:37 2010
@@ -18,8 +18,61 @@
*/
package org.apache.chemistry.opencmis.client.runtime;
+import org.apache.chemistry.opencmis.client.api.CmisObject;
+import org.apache.chemistry.opencmis.client.api.ObjectId;
+import org.apache.chemistry.opencmis.client.api.OperationContext;
import org.apache.chemistry.opencmis.client.api.TransientRelationship;
+import org.apache.chemistry.opencmis.commons.PropertyIds;
public class TransientRelationshipImpl extends AbstractTransientCmisObject implements TransientRelationship {
+ public CmisObject getSource() {
+ return getSource(getSession().getDefaultContext());
+ }
+
+ public CmisObject getSource(OperationContext context) {
+ return getSession().getObject(getSourceId(), context);
+ }
+
+ public ObjectId getSourceId() {
+ String sourceId = getPropertyValue(PropertyIds.SOURCE_ID);
+ if ((sourceId == null) || (sourceId.length() == 0)) {
+ return null;
+ }
+
+ return getSession().createObjectId(sourceId);
+ }
+
+ public void setSourceId(ObjectId id) {
+ if ((id == null) || (id.getId() == null) || (id.getId().length() == 0)) {
+ throw new IllegalArgumentException("Id is invalid!");
+ }
+
+ setPropertyValue(PropertyIds.SOURCE_ID, id.getId());
+ }
+
+ public CmisObject getTarget() {
+ return getTarget(getSession().getDefaultContext());
+ }
+
+ public CmisObject getTarget(OperationContext context) {
+ return getSession().getObject(getTargetId(), context);
+ }
+
+ public ObjectId getTargetId() {
+ String targetId = getPropertyValue(PropertyIds.TARGET_ID);
+ if ((targetId == null) || (targetId.length() == 0)) {
+ return null;
+ }
+
+ return getSession().createObjectId(targetId);
+ }
+
+ public void setTargetId(ObjectId id) {
+ if ((id == null) || (id.getId() == null) || (id.getId().length() == 0)) {
+ throw new IllegalArgumentException("Id is invalid!");
+ }
+
+ setPropertyValue(PropertyIds.TARGET_ID, id.getId());
+ }
}