From 0847deba8fa8b15b1453504db34c2301a6764fcd Mon Sep 17 00:00:00 2001 From: Britt Park Date: Sun, 27 Aug 2006 01:01:30 +0000 Subject: [PATCH] Big honkin' merge from head. Sheesh! git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3617 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/webservice/accesscontrol/deploy.wsdd | 24 -- .../repo/webservice/action/Action.java | 108 +++---- .../alfresco/repo/webservice/action/Rule.java | 306 +++++++----------- .../repo/webservice/action/deploy.wsdd | 244 +++++++------- .../webservice/administration/deploy.wsdd | 24 -- .../repo/webservice/authoring/deploy.wsdd | 24 -- .../webservice/classification/deploy.wsdd | 24 -- .../repo/webservice/content/deploy.wsdd | 24 -- .../repo/webservice/dictionary/deploy.wsdd | 24 -- .../repository/RepositoryServiceSoapPort.java | 2 +- .../webservice/repository/UpdateResult.java | 36 +++ .../repo/webservice/repository/deploy.wsdd | 34 +- .../alfresco/repo/webservice/types/CML.java | 54 ++++ .../repo/webservice/types/CMLAddAspect.java | 4 +- .../repo/webservice/types/CMLAddChild.java | 9 +- .../repo/webservice/types/CMLCopy.java | 9 +- .../types/CMLCreateAssociation.java | 8 +- .../repo/webservice/types/CMLMove.java | 9 +- .../webservice/types/CMLRemoveAspect.java | 4 +- .../types/CMLRemoveAssociation.java | 8 +- .../repo/webservice/types/CMLRemoveChild.java | 8 +- .../repo/webservice/types/CMLUpdate.java | 4 +- .../webservice/types/CMLWriteContent.java | 273 ++++++++++++++++ .../repo/webservice/types/NamedValue.java | 2 +- .../alfresco/repo/webservice/types/Query.java | 10 +- .../webservice/types/QueryLanguageEnum.java | 72 ----- .../repo/webservice/types/Reference.java | 4 +- .../alfresco/repo/webservice/types/Store.java | 10 +- .../repo/webservice/types/StoreEnum.java | 78 ----- .../org/alfresco/repo/webservice/CMLUtil.java | 85 ++++- .../alfresco/repo/webservice/CMLUtilTest.java | 33 ++ .../org/alfresco/repo/webservice/Utils.java | 28 +- .../webservice/action/ActionWebService.java | 141 +++----- .../AuthenticationWebService.java | 2 + .../repository/AssociatedQuerySession.java | 5 +- .../repository/ChildrenQuerySession.java | 11 +- .../repository/ParentsQuerySession.java | 11 +- .../webservice/repository/QuerySession.java | 6 + .../repository/RepositoryWebService.java | 26 +- .../repository/ResultSetQuerySession.java | 6 +- .../java/web-services-application-context.xml | 3 + source/web/WEB-INF/server-config.wsdd | 152 +-------- source/wsdl/access-control-service.wsdl | 2 +- source/wsdl/action-service.wsdl | 15 +- source/wsdl/administration-service.wsdl | 2 +- source/wsdl/authoring-service.wsdl | 2 +- source/wsdl/classification-service.wsdl | 2 +- source/wsdl/cml.xsd | 35 +- source/wsdl/content-service.wsdl | 2 +- source/wsdl/dictionary-service.wsdl | 2 +- source/wsdl/repository-service.wsdl | 7 +- source/wsdl/types.xsd | 40 +-- 52 files changed, 931 insertions(+), 1127 deletions(-) create mode 100644 source/generated/org/alfresco/repo/webservice/types/CMLWriteContent.java delete mode 100644 source/generated/org/alfresco/repo/webservice/types/QueryLanguageEnum.java delete mode 100644 source/generated/org/alfresco/repo/webservice/types/StoreEnum.java diff --git a/source/generated/org/alfresco/repo/webservice/accesscontrol/deploy.wsdd b/source/generated/org/alfresco/repo/webservice/accesscontrol/deploy.wsdd index 542b6e1a27..705d8b2043 100644 --- a/source/generated/org/alfresco/repo/webservice/accesscontrol/deploy.wsdd +++ b/source/generated/org/alfresco/repo/webservice/accesscontrol/deploy.wsdd @@ -72,14 +72,6 @@ deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" /> - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - + @@ -73,14 +73,6 @@ deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" /> - + - - CML>writeContent")); + elemField.setMinOccurs(0); + elemField.setNillable(false); + elemField.setMaxOccursUnbounded(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("delete"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "delete")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", ">CML>delete")); diff --git a/source/generated/org/alfresco/repo/webservice/types/CMLAddAspect.java b/source/generated/org/alfresco/repo/webservice/types/CMLAddAspect.java index 7827f49ff7..22fe62f7b3 100644 --- a/source/generated/org/alfresco/repo/webservice/types/CMLAddAspect.java +++ b/source/generated/org/alfresco/repo/webservice/types/CMLAddAspect.java @@ -202,14 +202,14 @@ public class CMLAddAspect implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("where_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); } diff --git a/source/generated/org/alfresco/repo/webservice/types/CMLAddChild.java b/source/generated/org/alfresco/repo/webservice/types/CMLAddChild.java index 214b01c582..d02d3139c2 100644 --- a/source/generated/org/alfresco/repo/webservice/types/CMLAddChild.java +++ b/source/generated/org/alfresco/repo/webservice/types/CMLAddChild.java @@ -232,13 +232,14 @@ public class CMLAddChild implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "to")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "ParentReference")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("to_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "to_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); - elemField.setNillable(false); + elemField.setMinOccurs(0); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("associationType"); @@ -259,14 +260,14 @@ public class CMLAddChild implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("where_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); } diff --git a/source/generated/org/alfresco/repo/webservice/types/CMLCopy.java b/source/generated/org/alfresco/repo/webservice/types/CMLCopy.java index 4f2b6ae427..070bc604a9 100644 --- a/source/generated/org/alfresco/repo/webservice/types/CMLCopy.java +++ b/source/generated/org/alfresco/repo/webservice/types/CMLCopy.java @@ -262,13 +262,14 @@ public class CMLCopy implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "to")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "ParentReference")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("to_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "to_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); - elemField.setNillable(false); + elemField.setMinOccurs(0); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("associationType"); @@ -289,14 +290,14 @@ public class CMLCopy implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("where_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("children"); diff --git a/source/generated/org/alfresco/repo/webservice/types/CMLCreateAssociation.java b/source/generated/org/alfresco/repo/webservice/types/CMLCreateAssociation.java index 43d65f6fdd..7b951aa72d 100644 --- a/source/generated/org/alfresco/repo/webservice/types/CMLCreateAssociation.java +++ b/source/generated/org/alfresco/repo/webservice/types/CMLCreateAssociation.java @@ -202,28 +202,28 @@ public class CMLCreateAssociation implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "from")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("from_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "from_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("to"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "to")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("to_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "to_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("association"); diff --git a/source/generated/org/alfresco/repo/webservice/types/CMLMove.java b/source/generated/org/alfresco/repo/webservice/types/CMLMove.java index 5719b1e8c9..9b2e01c5f6 100644 --- a/source/generated/org/alfresco/repo/webservice/types/CMLMove.java +++ b/source/generated/org/alfresco/repo/webservice/types/CMLMove.java @@ -232,13 +232,14 @@ public class CMLMove implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "to")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "ParentReference")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("to_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "to_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); - elemField.setNillable(false); + elemField.setMinOccurs(0); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("associationType"); @@ -259,14 +260,14 @@ public class CMLMove implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("where_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); } diff --git a/source/generated/org/alfresco/repo/webservice/types/CMLRemoveAspect.java b/source/generated/org/alfresco/repo/webservice/types/CMLRemoveAspect.java index d013f98a34..011039ba2e 100644 --- a/source/generated/org/alfresco/repo/webservice/types/CMLRemoveAspect.java +++ b/source/generated/org/alfresco/repo/webservice/types/CMLRemoveAspect.java @@ -148,14 +148,14 @@ public class CMLRemoveAspect implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("where_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); } diff --git a/source/generated/org/alfresco/repo/webservice/types/CMLRemoveAssociation.java b/source/generated/org/alfresco/repo/webservice/types/CMLRemoveAssociation.java index e01cfe2796..2c78003939 100644 --- a/source/generated/org/alfresco/repo/webservice/types/CMLRemoveAssociation.java +++ b/source/generated/org/alfresco/repo/webservice/types/CMLRemoveAssociation.java @@ -202,28 +202,28 @@ public class CMLRemoveAssociation implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "from")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("from_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "from_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("to"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "to")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("to_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "to_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("association"); diff --git a/source/generated/org/alfresco/repo/webservice/types/CMLRemoveChild.java b/source/generated/org/alfresco/repo/webservice/types/CMLRemoveChild.java index 36c4a727a1..d2c2093aab 100644 --- a/source/generated/org/alfresco/repo/webservice/types/CMLRemoveChild.java +++ b/source/generated/org/alfresco/repo/webservice/types/CMLRemoveChild.java @@ -172,28 +172,28 @@ public class CMLRemoveChild implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "from")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Reference")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("from_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "from_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("where"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("where_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); } diff --git a/source/generated/org/alfresco/repo/webservice/types/CMLUpdate.java b/source/generated/org/alfresco/repo/webservice/types/CMLUpdate.java index 57ba896c9c..f46d0cd007 100644 --- a/source/generated/org/alfresco/repo/webservice/types/CMLUpdate.java +++ b/source/generated/org/alfresco/repo/webservice/types/CMLUpdate.java @@ -165,14 +165,14 @@ public class CMLUpdate implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("where_id"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where_id")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); } diff --git a/source/generated/org/alfresco/repo/webservice/types/CMLWriteContent.java b/source/generated/org/alfresco/repo/webservice/types/CMLWriteContent.java new file mode 100644 index 0000000000..12cd785356 --- /dev/null +++ b/source/generated/org/alfresco/repo/webservice/types/CMLWriteContent.java @@ -0,0 +1,273 @@ +/** + * CMLWriteContent.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter. + */ + +package org.alfresco.repo.webservice.types; + +public class CMLWriteContent implements java.io.Serializable { + private java.lang.String property; + + private byte[] content; + + private org.alfresco.repo.webservice.types.ContentFormat format; + + private org.alfresco.repo.webservice.types.Predicate where; + + private java.lang.String where_id; + + public CMLWriteContent() { + } + + public CMLWriteContent( + java.lang.String property, + byte[] content, + org.alfresco.repo.webservice.types.ContentFormat format, + org.alfresco.repo.webservice.types.Predicate where, + java.lang.String where_id) { + this.property = property; + this.content = content; + this.format = format; + this.where = where; + this.where_id = where_id; + } + + + /** + * Gets the property value for this CMLWriteContent. + * + * @return property + */ + public java.lang.String getProperty() { + return property; + } + + + /** + * Sets the property value for this CMLWriteContent. + * + * @param property + */ + public void setProperty(java.lang.String property) { + this.property = property; + } + + + /** + * Gets the content value for this CMLWriteContent. + * + * @return content + */ + public byte[] getContent() { + return content; + } + + + /** + * Sets the content value for this CMLWriteContent. + * + * @param content + */ + public void setContent(byte[] content) { + this.content = content; + } + + + /** + * Gets the format value for this CMLWriteContent. + * + * @return format + */ + public org.alfresco.repo.webservice.types.ContentFormat getFormat() { + return format; + } + + + /** + * Sets the format value for this CMLWriteContent. + * + * @param format + */ + public void setFormat(org.alfresco.repo.webservice.types.ContentFormat format) { + this.format = format; + } + + + /** + * Gets the where value for this CMLWriteContent. + * + * @return where + */ + public org.alfresco.repo.webservice.types.Predicate getWhere() { + return where; + } + + + /** + * Sets the where value for this CMLWriteContent. + * + * @param where + */ + public void setWhere(org.alfresco.repo.webservice.types.Predicate where) { + this.where = where; + } + + + /** + * Gets the where_id value for this CMLWriteContent. + * + * @return where_id + */ + public java.lang.String getWhere_id() { + return where_id; + } + + + /** + * Sets the where_id value for this CMLWriteContent. + * + * @param where_id + */ + public void setWhere_id(java.lang.String where_id) { + this.where_id = where_id; + } + + private java.lang.Object __equalsCalc = null; + public synchronized boolean equals(java.lang.Object obj) { + if (!(obj instanceof CMLWriteContent)) return false; + CMLWriteContent other = (CMLWriteContent) obj; + if (obj == null) return false; + if (this == obj) return true; + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.property==null && other.getProperty()==null) || + (this.property!=null && + this.property.equals(other.getProperty()))) && + ((this.content==null && other.getContent()==null) || + (this.content!=null && + java.util.Arrays.equals(this.content, other.getContent()))) && + ((this.format==null && other.getFormat()==null) || + (this.format!=null && + this.format.equals(other.getFormat()))) && + ((this.where==null && other.getWhere()==null) || + (this.where!=null && + this.where.equals(other.getWhere()))) && + ((this.where_id==null && other.getWhere_id()==null) || + (this.where_id!=null && + this.where_id.equals(other.getWhere_id()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getProperty() != null) { + _hashCode += getProperty().hashCode(); + } + if (getContent() != null) { + for (int i=0; + iCML>writeContent")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("property"); + elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "property")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("content"); + elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "content")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "base64Binary")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("format"); + elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "format")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "ContentFormat")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("where"); + elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "Predicate")); + elemField.setMinOccurs(0); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("where_id"); + elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/cml/1.0", "where_id")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setMinOccurs(0); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + java.lang.String mechType, + java.lang.Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + java.lang.String mechType, + java.lang.Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/source/generated/org/alfresco/repo/webservice/types/NamedValue.java b/source/generated/org/alfresco/repo/webservice/types/NamedValue.java index 4fbd44b369..a6e97389da 100644 --- a/source/generated/org/alfresco/repo/webservice/types/NamedValue.java +++ b/source/generated/org/alfresco/repo/webservice/types/NamedValue.java @@ -206,7 +206,7 @@ public class NamedValue implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "values")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); elemField.setMaxOccursUnbounded(true); typeDesc.addFieldDesc(elemField); } diff --git a/source/generated/org/alfresco/repo/webservice/types/Query.java b/source/generated/org/alfresco/repo/webservice/types/Query.java index 6a872d3bc0..04b8d492a4 100644 --- a/source/generated/org/alfresco/repo/webservice/types/Query.java +++ b/source/generated/org/alfresco/repo/webservice/types/Query.java @@ -8,7 +8,7 @@ package org.alfresco.repo.webservice.types; public class Query implements java.io.Serializable { - private org.alfresco.repo.webservice.types.QueryLanguageEnum language; + private java.lang.String language; private java.lang.String statement; @@ -16,7 +16,7 @@ public class Query implements java.io.Serializable { } public Query( - org.alfresco.repo.webservice.types.QueryLanguageEnum language, + java.lang.String language, java.lang.String statement) { this.language = language; this.statement = statement; @@ -28,7 +28,7 @@ public class Query implements java.io.Serializable { * * @return language */ - public org.alfresco.repo.webservice.types.QueryLanguageEnum getLanguage() { + public java.lang.String getLanguage() { return language; } @@ -38,7 +38,7 @@ public class Query implements java.io.Serializable { * * @param language */ - public void setLanguage(org.alfresco.repo.webservice.types.QueryLanguageEnum language) { + public void setLanguage(java.lang.String language) { this.language = language; } @@ -110,7 +110,7 @@ public class Query implements java.io.Serializable { org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("language"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "language")); - elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "QueryLanguageEnum")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); diff --git a/source/generated/org/alfresco/repo/webservice/types/QueryLanguageEnum.java b/source/generated/org/alfresco/repo/webservice/types/QueryLanguageEnum.java deleted file mode 100644 index ceba3cbfb6..0000000000 --- a/source/generated/org/alfresco/repo/webservice/types/QueryLanguageEnum.java +++ /dev/null @@ -1,72 +0,0 @@ -/** - * QueryLanguageEnum.java - * - * This file was auto-generated from WSDL - * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter. - */ - -package org.alfresco.repo.webservice.types; - -public class QueryLanguageEnum implements java.io.Serializable { - private java.lang.String _value_; - private static java.util.HashMap _table_ = new java.util.HashMap(); - - // Constructor - protected QueryLanguageEnum(java.lang.String value) { - _value_ = value; - _table_.put(_value_,this); - } - - public static final java.lang.String _lucene = "lucene"; - public static final java.lang.String _xpath = "xpath"; - public static final java.lang.String _cql = "cql"; - public static final QueryLanguageEnum lucene = new QueryLanguageEnum(_lucene); - public static final QueryLanguageEnum xpath = new QueryLanguageEnum(_xpath); - public static final QueryLanguageEnum cql = new QueryLanguageEnum(_cql); - public java.lang.String getValue() { return _value_;} - public static QueryLanguageEnum fromValue(java.lang.String value) - throws java.lang.IllegalArgumentException { - QueryLanguageEnum enumeration = (QueryLanguageEnum) - _table_.get(value); - if (enumeration==null) enumeration = lucene; - return enumeration; - } - public static QueryLanguageEnum fromString(java.lang.String value) - throws java.lang.IllegalArgumentException { - return fromValue(value); - } - public boolean equals(java.lang.Object obj) {return (obj == this);} - public int hashCode() { return toString().hashCode();} - public java.lang.String toString() { return _value_;} - public java.lang.Object readResolve() throws java.io.ObjectStreamException { return fromValue(_value_);} - public static org.apache.axis.encoding.Serializer getSerializer( - java.lang.String mechType, - java.lang.Class _javaType, - javax.xml.namespace.QName _xmlType) { - return - new org.apache.axis.encoding.ser.EnumSerializer( - _javaType, _xmlType); - } - public static org.apache.axis.encoding.Deserializer getDeserializer( - java.lang.String mechType, - java.lang.Class _javaType, - javax.xml.namespace.QName _xmlType) { - return - new org.apache.axis.encoding.ser.EnumDeserializer( - _javaType, _xmlType); - } - // Type metadata - private static org.apache.axis.description.TypeDesc typeDesc = - new org.apache.axis.description.TypeDesc(QueryLanguageEnum.class); - - static { - typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "QueryLanguageEnum")); - } - /** - * Return type metadata object - */ - public static org.apache.axis.description.TypeDesc getTypeDesc() { - return typeDesc; - } - -} diff --git a/source/generated/org/alfresco/repo/webservice/types/Reference.java b/source/generated/org/alfresco/repo/webservice/types/Reference.java index 4a98326fba..1aca3d7c9c 100644 --- a/source/generated/org/alfresco/repo/webservice/types/Reference.java +++ b/source/generated/org/alfresco/repo/webservice/types/Reference.java @@ -148,14 +148,14 @@ public class Reference implements java.io.Serializable { elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "uuid")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("path"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "path")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); - elemField.setNillable(false); + elemField.setNillable(true); typeDesc.addFieldDesc(elemField); } diff --git a/source/generated/org/alfresco/repo/webservice/types/Store.java b/source/generated/org/alfresco/repo/webservice/types/Store.java index fb5d42398c..d5797c67e9 100644 --- a/source/generated/org/alfresco/repo/webservice/types/Store.java +++ b/source/generated/org/alfresco/repo/webservice/types/Store.java @@ -8,7 +8,7 @@ package org.alfresco.repo.webservice.types; public class Store implements java.io.Serializable { - private org.alfresco.repo.webservice.types.StoreEnum scheme; + private java.lang.String scheme; private java.lang.String address; @@ -16,7 +16,7 @@ public class Store implements java.io.Serializable { } public Store( - org.alfresco.repo.webservice.types.StoreEnum scheme, + java.lang.String scheme, java.lang.String address) { this.scheme = scheme; this.address = address; @@ -28,7 +28,7 @@ public class Store implements java.io.Serializable { * * @return scheme */ - public org.alfresco.repo.webservice.types.StoreEnum getScheme() { + public java.lang.String getScheme() { return scheme; } @@ -38,7 +38,7 @@ public class Store implements java.io.Serializable { * * @param scheme */ - public void setScheme(org.alfresco.repo.webservice.types.StoreEnum scheme) { + public void setScheme(java.lang.String scheme) { this.scheme = scheme; } @@ -110,7 +110,7 @@ public class Store implements java.io.Serializable { org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("scheme"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "scheme")); - elemField.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "StoreEnum")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); diff --git a/source/generated/org/alfresco/repo/webservice/types/StoreEnum.java b/source/generated/org/alfresco/repo/webservice/types/StoreEnum.java deleted file mode 100644 index 7e60c44f3a..0000000000 --- a/source/generated/org/alfresco/repo/webservice/types/StoreEnum.java +++ /dev/null @@ -1,78 +0,0 @@ -/** - * StoreEnum.java - * - * This file was auto-generated from WSDL - * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter. - */ - -package org.alfresco.repo.webservice.types; - -public class StoreEnum implements java.io.Serializable { - private java.lang.String _value_; - private static java.util.HashMap _table_ = new java.util.HashMap(); - - // Constructor - protected StoreEnum(java.lang.String value) { - _value_ = value; - _table_.put(_value_,this); - } - - public static final java.lang.String _workspace = "workspace"; - public static final java.lang.String _versionStore = "versionStore"; - public static final java.lang.String _user = "user"; - public static final java.lang.String _search = "search"; - public static final java.lang.String _http = "http"; - public static final java.lang.String _system = "system"; - public static final StoreEnum workspace = new StoreEnum(_workspace); - public static final StoreEnum versionStore = new StoreEnum(_versionStore); - public static final StoreEnum user = new StoreEnum(_user); - public static final StoreEnum search = new StoreEnum(_search); - public static final StoreEnum http = new StoreEnum(_http); - public static final StoreEnum system = new StoreEnum(_system); - public java.lang.String getValue() { return _value_;} - public static StoreEnum fromValue(java.lang.String value) - throws java.lang.IllegalArgumentException { - StoreEnum enumeration = (StoreEnum) - _table_.get(value); - if (enumeration==null) enumeration = workspace; - return enumeration; - } - public static StoreEnum fromString(java.lang.String value) - throws java.lang.IllegalArgumentException { - return fromValue(value); - } - public boolean equals(java.lang.Object obj) {return (obj == this);} - public int hashCode() { return toString().hashCode();} - public java.lang.String toString() { return _value_;} - public java.lang.Object readResolve() throws java.io.ObjectStreamException { return fromValue(_value_);} - public static org.apache.axis.encoding.Serializer getSerializer( - java.lang.String mechType, - java.lang.Class _javaType, - javax.xml.namespace.QName _xmlType) { - return - new org.apache.axis.encoding.ser.EnumSerializer( - _javaType, _xmlType); - } - public static org.apache.axis.encoding.Deserializer getDeserializer( - java.lang.String mechType, - java.lang.Class _javaType, - javax.xml.namespace.QName _xmlType) { - return - new org.apache.axis.encoding.ser.EnumDeserializer( - _javaType, _xmlType); - } - // Type metadata - private static org.apache.axis.description.TypeDesc typeDesc = - new org.apache.axis.description.TypeDesc(StoreEnum.class); - - static { - typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.alfresco.org/ws/model/content/1.0", "StoreEnum")); - } - /** - * Return type metadata object - */ - public static org.apache.axis.description.TypeDesc getTypeDesc() { - return typeDesc; - } - -} diff --git a/source/java/org/alfresco/repo/webservice/CMLUtil.java b/source/java/org/alfresco/repo/webservice/CMLUtil.java index ad8a9923b3..78a05795d4 100644 --- a/source/java/org/alfresco/repo/webservice/CMLUtil.java +++ b/source/java/org/alfresco/repo/webservice/CMLUtil.java @@ -16,6 +16,8 @@ */ package org.alfresco.repo.webservice; +import java.io.ByteArrayInputStream; +import java.io.InputStream; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; @@ -35,11 +37,15 @@ import org.alfresco.repo.webservice.types.CMLRemoveAspect; import org.alfresco.repo.webservice.types.CMLRemoveAssociation; import org.alfresco.repo.webservice.types.CMLRemoveChild; import org.alfresco.repo.webservice.types.CMLUpdate; +import org.alfresco.repo.webservice.types.CMLWriteContent; +import org.alfresco.repo.webservice.types.ContentFormat; import org.alfresco.repo.webservice.types.NamedValue; import org.alfresco.repo.webservice.types.ParentReference; import org.alfresco.repo.webservice.types.Predicate; import org.alfresco.repo.webservice.types.Reference; import org.alfresco.service.cmr.dictionary.DictionaryService; +import org.alfresco.service.cmr.repository.ContentService; +import org.alfresco.service.cmr.repository.ContentWriter; import org.alfresco.service.cmr.repository.CopyService; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; @@ -64,12 +70,14 @@ public class CMLUtil private static final String REMOVE_CHILD = "removeChild"; private static final String CREATE_ASSOCIATION = "createAssociation"; private static final String REMOVE_ASSOCIATION = "removeAssociation"; + private static final String WRITE_CONTENT = "writeContent"; private NodeService nodeService; private SearchService searchService; private NamespaceService namespaceService; private CopyService copyService; private DictionaryService dictionaryService; + private ContentService contentService; public void setNodeService(NodeService nodeService) { @@ -96,6 +104,11 @@ public class CMLUtil this.dictionaryService = dictionaryService; } + public void setContentService(ContentService contentService) + { + this.contentService = contentService; + } + /** * Execute a cml update query. * @@ -147,6 +160,15 @@ public class CMLUtil } } + CMLWriteContent[] writes = cml.getWriteContent(); + if (writes != null) + { + for (CMLWriteContent write : writes) + { + executeCMLWriteContent(write, context, results); + } + } + // Execute delete CMLDelete[] deletes = cml.getDelete(); if (deletes != null) @@ -253,7 +275,7 @@ public class CMLUtil context.addId(id, nodeRef); } - results.add(createResult(CREATE, null, nodeRef)); + results.add(createResult(CREATE, id, null, nodeRef)); } /** @@ -277,10 +299,14 @@ public class CMLUtil return properties; } - private UpdateResult createResult(String cmd, NodeRef sourceNodeRef, NodeRef destinationNodeRef) + private UpdateResult createResult(String cmd, String sourceId, NodeRef sourceNodeRef, NodeRef destinationNodeRef) { UpdateResult result = new UpdateResult(); result.setStatement(cmd); + if (sourceId != null) + { + result.setSourceId(sourceId); + } if (sourceNodeRef != null) { result.setSource(Utils.convertToReference(sourceNodeRef)); @@ -313,7 +339,7 @@ public class CMLUtil this.nodeService.addAspect(nodeRef, aspectQName, properties); // Create the result - results.add(createResult(ADD_ASPECT, nodeRef, nodeRef)); + results.add(createResult(ADD_ASPECT, null, nodeRef, nodeRef)); } } @@ -331,7 +357,7 @@ public class CMLUtil this.nodeService.removeAspect(nodeRef, aspectQName); // Create the result - results.add(createResult(REMOVE_ASPECT, nodeRef, nodeRef)); + results.add(createResult(REMOVE_ASPECT, null, nodeRef, nodeRef)); } } @@ -367,10 +393,38 @@ public class CMLUtil this.nodeService.setProperties(nodeRef, currentProps); // Get the result - results.add(createResult(UPDATE, nodeRef, nodeRef)); + results.add(createResult(UPDATE, null, nodeRef, nodeRef)); } } + private void executeCMLWriteContent(CMLWriteContent write, ExecutionContext context, List results) + { + // Get the nodes and content property + List nodeRefs = getNodeRefList(write.getWhere_id(), write.getWhere(), context); + QName property = QName.createQName(write.getProperty()); + ContentFormat format = write.getFormat(); + byte[] content = write.getContent(); + + for (NodeRef nodeRef : nodeRefs) + { + //Get the content writer + ContentWriter writer = this.contentService.getWriter(nodeRef, property, true); + + // Set the content format details (if they have been specified) + if (format != null) + { + writer.setEncoding(format.getEncoding()); + writer.setMimetype(format.getMimetype()); + } + + // Write the content + InputStream is = new ByteArrayInputStream(content); + writer.putContent(is); + + results.add(createResult(WRITE_CONTENT, null, nodeRef, nodeRef)); + } + } + private void executeCMLDelete(CMLDelete delete, ExecutionContext context, List results) { List nodeRefs = Utils.resolvePredicate(delete.getWhere(), this.nodeService, this.searchService, this.namespaceService); @@ -380,7 +434,7 @@ public class CMLUtil this.nodeService.deleteNode(nodeRef); // Create the result - results.add(createResult(DELETE, nodeRef, null)); + results.add(createResult(DELETE, null, nodeRef, null)); } } @@ -408,7 +462,7 @@ public class CMLUtil NodeRef newNodeRef = this.nodeService.moveNode(nodeToMove, destinationNodeRef, assocType, assocName).getChildRef(); // Create the result - results.add(createResult(MOVE, nodeToMove, newNodeRef)); + results.add(createResult(MOVE, null, nodeToMove, newNodeRef)); } } } @@ -474,7 +528,7 @@ public class CMLUtil NodeRef newNodeRef = this.copyService.copy(nodeToCopy, destinationNodeRef, assocType, assocName, copyChildren); // Create the result - results.add(createResult(COPY, nodeToCopy, newNodeRef)); + results.add(createResult(COPY, null, nodeToCopy, newNodeRef)); } } @@ -504,7 +558,7 @@ public class CMLUtil this.nodeService.addChild(nodeRef, whereNodeRef, assocType, assocName); // Create the result - results.add(createResult(ADD_CHILD, nodeRef, whereNodeRef)); + results.add(createResult(ADD_CHILD, null, nodeRef, whereNodeRef)); } } } @@ -520,7 +574,7 @@ public class CMLUtil this.nodeService.removeChild(parentNodeRef, childNodeRef); // Create the result - results.add(createResult(REMOVE_CHILD, parentNodeRef, null)); + results.add(createResult(REMOVE_CHILD, null, parentNodeRef, null)); } } @@ -540,7 +594,7 @@ public class CMLUtil this.nodeService.createAssociation(fromNodeRef, toNodeRef, assocType); // Create the result - results.add(createResult(CREATE_ASSOCIATION, fromNodeRef, toNodeRef)); + results.add(createResult(CREATE_ASSOCIATION, null, fromNodeRef, toNodeRef)); } } } @@ -560,7 +614,7 @@ public class CMLUtil this.nodeService.removeAssociation(fromNodeRef, toNodeRef, assocType); // Create the result - results.add(createResult(REMOVE_ASSOCIATION, fromNodeRef, toNodeRef)); + results.add(createResult(REMOVE_ASSOCIATION, null, fromNodeRef, toNodeRef)); } } } @@ -569,15 +623,22 @@ public class CMLUtil private class ExecutionContext { private Map idMap = new HashMap(); + private Map nodeRefMap = new HashMap(); public void addId(String id, NodeRef nodeRef) { this.idMap.put(id, nodeRef); + this.nodeRefMap.put(nodeRef, id); } public NodeRef getNodeRef(String id) { return this.idMap.get(id); } + + public String getId(NodeRef nodeRef) + { + return this.nodeRefMap.get(nodeRef); + } } } diff --git a/source/java/org/alfresco/repo/webservice/CMLUtilTest.java b/source/java/org/alfresco/repo/webservice/CMLUtilTest.java index c231362f47..895ac5b6a6 100644 --- a/source/java/org/alfresco/repo/webservice/CMLUtilTest.java +++ b/source/java/org/alfresco/repo/webservice/CMLUtilTest.java @@ -34,6 +34,8 @@ import org.alfresco.repo.webservice.types.CMLRemoveAspect; import org.alfresco.repo.webservice.types.CMLRemoveAssociation; import org.alfresco.repo.webservice.types.CMLRemoveChild; import org.alfresco.repo.webservice.types.CMLUpdate; +import org.alfresco.repo.webservice.types.CMLWriteContent; +import org.alfresco.repo.webservice.types.ContentFormat; import org.alfresco.repo.webservice.types.NamedValue; import org.alfresco.repo.webservice.types.ParentReference; import org.alfresco.repo.webservice.types.Predicate; @@ -41,6 +43,8 @@ import org.alfresco.repo.webservice.types.Reference; import org.alfresco.service.cmr.repository.AssociationRef; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ContentData; +import org.alfresco.service.cmr.repository.ContentReader; +import org.alfresco.service.cmr.repository.ContentService; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.StoreRef; @@ -57,6 +61,7 @@ public class CMLUtilTest extends BaseSpringTest { private static final ContentData CONTENT_DATA_TEXT_UTF8 = new ContentData(null, MimetypeMap.MIMETYPE_TEXT_PLAIN, 0L, "UTF-8"); private static final ContentData CONTENT_DATA_HTML_UTF16 = new ContentData(null, MimetypeMap.MIMETYPE_HTML, 0L, "UTF-16"); + private static final String TEST_CONTENT = "This is some test content"; private CMLUtil cmlUtil; private NodeService nodeService; @@ -67,6 +72,7 @@ public class CMLUtilTest extends BaseSpringTest private SearchService searchService; private NodeRef folderNodeRef; private AuthenticationComponent authenticationComponent; + private ContentService contentService; @Override protected String[] getConfigLocations() @@ -82,6 +88,7 @@ public class CMLUtilTest extends BaseSpringTest this.searchService = (SearchService)this.applicationContext.getBean("searchService"); this.namespaceService = (NamespaceService)this.applicationContext.getBean("namespaceService"); this.authenticationComponent = (AuthenticationComponent) this.applicationContext.getBean("authenticationComponent"); + this.contentService = (ContentService)this.applicationContext.getBean("contentService"); this.authenticationComponent.setSystemUserAsCurrentUser(); @@ -212,6 +219,32 @@ public class CMLUtilTest extends BaseSpringTest assertEquals(CONTENT_DATA_HTML_UTF16, this.nodeService.getProperty(this.nodeRef, ContentModel.PROP_CONTENT)); } + public void testWriteContent() + { + CMLWriteContent write = new CMLWriteContent(); + write.setWhere(createPredicate(this.nodeRef)); + write.setProperty(ContentModel.PROP_CONTENT.toString()); + ContentFormat format = new ContentFormat(MimetypeMap.MIMETYPE_TEXT_PLAIN, "UTF-8"); + write.setFormat(format); + write.setContent(TEST_CONTENT.getBytes()); + + CML cml = new CML(); + cml.setWriteContent(new CMLWriteContent[]{write}); + + UpdateResult[] result = this.cmlUtil.executeCML(cml); + assertNotNull(result); + assertEquals(1, result.length); + + UpdateResult updateResult = result[0]; + assertEquals("writeContent", updateResult.getStatement()); + assertNotNull(updateResult.getSource()); + assertNotNull(updateResult.getDestination()); + + ContentReader reader = this.contentService.getReader(this.nodeRef, ContentModel.PROP_CONTENT); + assertNotNull(reader); + assertEquals(reader.getContentString(), TEST_CONTENT); + } + public void testDelete() { CMLDelete delete = new CMLDelete(); diff --git a/source/java/org/alfresco/repo/webservice/Utils.java b/source/java/org/alfresco/repo/webservice/Utils.java index 3a36237fd1..491da00cf9 100644 --- a/source/java/org/alfresco/repo/webservice/Utils.java +++ b/source/java/org/alfresco/repo/webservice/Utils.java @@ -37,11 +37,9 @@ import org.alfresco.repo.webservice.types.ParentReference; import org.alfresco.repo.webservice.types.Predicate; import org.alfresco.repo.webservice.types.PropertyDefinition; import org.alfresco.repo.webservice.types.Query; -import org.alfresco.repo.webservice.types.QueryLanguageEnum; import org.alfresco.repo.webservice.types.Reference; import org.alfresco.repo.webservice.types.RoleDefinition; import org.alfresco.repo.webservice.types.Store; -import org.alfresco.repo.webservice.types.StoreEnum; import org.alfresco.repo.webservice.types.Version; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.dictionary.DataTypeDefinition; @@ -80,6 +78,12 @@ public class Utils // don't allow construction } + /** Query language names */ + public static final String QUERY_LANG_LUCENE = "lucene"; + public static final String QUERY_LANG_XPATH = "xpath"; + public static final String QUERY_LANG_CQL = "cql"; + + /** * Utility method to convert from a string representation of a property value into the correct object representation. * @@ -222,7 +226,7 @@ public class Utils */ public static StoreRef convertToStoreRef(Store store) { - return new StoreRef(store.getScheme().getValue(), store.getAddress()); + return new StoreRef(store.getScheme(), store.getAddress()); } /** @@ -234,7 +238,7 @@ public class Utils */ public static Store convertToStore(StoreRef ref) { - return new Store(StoreEnum.fromValue(ref.getProtocol()), ref + return new Store(ref.getProtocol(), ref .getIdentifier()); } @@ -284,8 +288,7 @@ public class Utils public static Reference convertToReference(NodeRef node) { Reference ref = new Reference(); - Store store = new Store(StoreEnum.fromValue(node.getStoreRef() - .getProtocol()), node.getStoreRef().getIdentifier()); + Store store = new Store(node.getStoreRef().getProtocol(), node.getStoreRef().getIdentifier()); ref.setStore(store); ref.setUuid(node.getId()); return ref; @@ -351,7 +354,7 @@ public class Utils { StringBuilder builder = new StringBuilder( "Failed to resolve to a single NodeRef with parameters (store="); - builder.append(store.getScheme().getValue()).append(":") + builder.append(store.getScheme()).append(":") .append(store.getAddress()); builder.append(" uuid=").append(uuid); builder.append(" path=").append(path).append("), found "); @@ -425,13 +428,11 @@ public class Utils "A Store has to be supplied to in order to execute a query."); } - QueryLanguageEnum langEnum = query.getLanguage(); - - if (langEnum.equals(QueryLanguageEnum.cql) - || langEnum.equals(QueryLanguageEnum.xpath)) + String language = query.getLanguage(); + if (language.equals(QUERY_LANG_LUCENE) != true) { throw new IllegalArgumentException("Only '" - + QueryLanguageEnum.lucene.getValue() + + QUERY_LANG_LUCENE + "' queries are currently supported!"); } @@ -440,8 +441,7 @@ public class Utils try { searchResults = searchService.query(Utils - .convertToStoreRef(predicate.getStore()), langEnum - .getValue(), query.getStatement()); + .convertToStoreRef(predicate.getStore()), language, query.getStatement()); // get hold of all the NodeRef's from the results nodeRefs = searchResults.getNodeRefs(); } diff --git a/source/java/org/alfresco/repo/webservice/action/ActionWebService.java b/source/java/org/alfresco/repo/webservice/action/ActionWebService.java index 5e3dcea97f..930885b85c 100644 --- a/source/java/org/alfresco/repo/webservice/action/ActionWebService.java +++ b/source/java/org/alfresco/repo/webservice/action/ActionWebService.java @@ -26,7 +26,6 @@ import org.alfresco.repo.action.ActionConditionImpl; import org.alfresco.repo.action.ActionImpl; import org.alfresco.repo.action.CompositeActionImpl; import org.alfresco.repo.action.executer.CompositeActionExecuter; -import org.alfresco.repo.rule.RuleImpl; import org.alfresco.repo.transaction.TransactionComponent; import org.alfresco.repo.transaction.TransactionUtil; import org.alfresco.repo.transaction.TransactionUtil.TransactionWork; @@ -482,26 +481,17 @@ public class ActionWebService extends AbstractWebService implements ActionServic } } - // Get the reference to the 'owning' node - NodeRef owningNodeRef = action.getOwningNodeRef(); - Reference reference = null; - if (owningNodeRef != null) - { - reference = Utils.convertToReference(owningNodeRef); - } - // Create the web service action object org.alfresco.repo.webservice.action.Action webServiceAction = new org.alfresco.repo.webservice.action.Action( + Utils.convertToReference(action.getNodeRef()), action.getId(), action.getActionDefinitionName(), action.getTitle(), action.getDescription(), - action.getExecuteAsychronously(), namedValues, webServiceConditions, webServiceCompensatingAction, - childWebServiceActions, - reference); + childWebServiceActions); return webServiceAction; } @@ -638,15 +628,12 @@ public class ActionWebService extends AbstractWebService implements ActionServic id = GUID.generate(); } - // Get the owning node ref - NodeRef owningNodeRef = null; - if (webServiceAction.getReference() != null) + // Try and get the action node reference + NodeRef actionNodeRef = null; + Reference actionReference = webServiceAction.getActionReference(); + if (actionReference != null) { - owningNodeRef = Utils.convertToNodeRef( - webServiceAction.getReference(), - this.nodeService, - this.searchService, - this.namespaceService); + actionNodeRef = Utils.convertToNodeRef(actionReference, this.nodeService, this.searchService, this.namespaceService); } // Create the action (or composite action) @@ -654,20 +641,16 @@ public class ActionWebService extends AbstractWebService implements ActionServic String actionDefinitionName = webServiceAction.getActionName(); if (CompositeActionExecuter.NAME.equals(actionDefinitionName) == true) { - action = new CompositeActionImpl(id, owningNodeRef); + action = new CompositeActionImpl(actionNodeRef, id); } else { - action = new ActionImpl(id, actionDefinitionName, owningNodeRef); + action = new ActionImpl(actionNodeRef, id, actionDefinitionName); } // Set some of the action's details action.setTitle(webServiceAction.getTitle()); action.setDescription(webServiceAction.getDescription()); - if (webServiceAction.isExecuteAsynchronously() == true) - { - action.setExecuteAsynchronously(true); - } // Set the parameters NamedValue[] namedValues = webServiceAction.getParameters(); @@ -958,51 +941,23 @@ public class ActionWebService extends AbstractWebService implements ActionServic } private org.alfresco.repo.webservice.action.Rule convertToWebServiceRule(Rule rule) - { - // Get the run as user - // TODO for now set to null since this has no effect yet - String runAsUserName = null; - - // Get the conditions - List conditions = rule.getActionConditions(); - Condition[] webServiceConditions = new Condition[conditions.size()]; - int index2 = 0; - for (ActionCondition condition : conditions) - { - webServiceConditions[index2] = convertToWebServiceCondition(condition); - index2++; - } - - // Sort out any sub-actions - org.alfresco.repo.webservice.action.Action[] childWebServiceActions = null; - List childActions = rule.getActions(); - childWebServiceActions = new org.alfresco.repo.webservice.action.Action[childActions.size()]; - int index3 = 0; - for (Action childAction : childActions) - { - childWebServiceActions[index3] = convertToWebServiceAction(childAction); - index3 ++; - } - - // Get the reference to the 'owning' node - NodeRef owningNodeRef = rule.getOwningNodeRef(); - Reference reference = null; + { + Reference owningReference = null; + NodeRef owningNodeRef = this.ruleService.getOwningNodeRef(rule); if (owningNodeRef != null) { - reference = Utils.convertToReference(owningNodeRef); + owningReference = Utils.convertToReference(owningNodeRef); } // Create the web service rule object org.alfresco.repo.webservice.action.Rule webServiceRule = new org.alfresco.repo.webservice.action.Rule( - rule.getId(), - rule.getRuleTypeName(), + Utils.convertToReference(rule.getNodeRef()), + owningReference, + rule.getRuleTypes().toArray(new String[rule.getRuleTypes().size()]), rule.getTitle(), rule.getDescription(), - rule.getExecuteAsychronously(), - webServiceConditions, - childWebServiceActions, - runAsUserName, - reference); + rule.getExecuteAsynchronously(), + convertToWebServiceAction(rule.getAction())); return webServiceRule; } @@ -1123,56 +1078,38 @@ public class ActionWebService extends AbstractWebService implements ActionServic * @return */ private Rule convertToRule(org.alfresco.repo.webservice.action.Rule webServiceRule) - { - // If the id is null then generate one - String id = webServiceRule.getId(); - if (id == null || id.length() == 0) + { + NodeRef ruleNodeRef = null; + if (webServiceRule.getRuleReference() != null) { - id = GUID.generate(); - } - - // Get the owning node ref - NodeRef owningNodeRef = null; - if (webServiceRule.getReference() != null) - { - owningNodeRef = Utils.convertToNodeRef( - webServiceRule.getReference(), - this.nodeService, - this.searchService, - this.namespaceService); + ruleNodeRef = Utils.convertToNodeRef( + webServiceRule.getRuleReference(), + this.nodeService, + this.searchService, + this.namespaceService); } // Get the rule type name - String ruleTypeName = webServiceRule.getRuleType(); + String[] ruleTypes = webServiceRule.getRuleTypes(); // Create the rule - RuleImpl rule = new RuleImpl(id, ruleTypeName, owningNodeRef); + Rule rule = new Rule(); + List ruleTypesList = new ArrayList(ruleTypes.length); + for (String ruleType : ruleTypes) + { + ruleTypesList.add(ruleType); + } + rule.setRuleTypes(ruleTypesList); + rule.setNodeRef(ruleNodeRef); // Set some of the rules details rule.setTitle(webServiceRule.getTitle()); rule.setDescription(webServiceRule.getDescription()); - rule.setExecuteAsynchronously(webServiceRule.isExecuteAsynchronously()); + rule.setExecuteAsynchronously(webServiceRule.isExecuteAsynchronously()); - // Set the conditions - Condition[] webServiceConditions = webServiceRule.getConditions(); - if (webServiceConditions != null) - { - for (Condition webServiceCondition : webServiceConditions) - { - rule.addActionCondition(convertToActionCondition(webServiceCondition)); - } - } - - // Set the child actions - org.alfresco.repo.webservice.action.Action[] webServiceChildActions = webServiceRule.getActions(); - if (webServiceChildActions != null) - { - for (org.alfresco.repo.webservice.action.Action webServiceChildAction : webServiceChildActions) - { - Action childAction = convertToAction(webServiceChildAction); - rule.addAction(childAction); - } - } + // Set the action + Action action = convertToAction(webServiceRule.getAction()); + rule.setAction(action); return rule; } diff --git a/source/java/org/alfresco/repo/webservice/authentication/AuthenticationWebService.java b/source/java/org/alfresco/repo/webservice/authentication/AuthenticationWebService.java index cd96747cc2..4a7b20eaad 100644 --- a/source/java/org/alfresco/repo/webservice/authentication/AuthenticationWebService.java +++ b/source/java/org/alfresco/repo/webservice/authentication/AuthenticationWebService.java @@ -68,10 +68,12 @@ public class AuthenticationWebService implements AuthenticationServiceSoapPort } catch (AuthenticationException ae) { + ae.printStackTrace(); throw new AuthenticationFault(100, ae.getMessage()); } catch (Throwable e) { + e.printStackTrace(); throw new AuthenticationFault(0, e.getMessage()); } } diff --git a/source/java/org/alfresco/repo/webservice/repository/AssociatedQuerySession.java b/source/java/org/alfresco/repo/webservice/repository/AssociatedQuerySession.java index b5447770cd..0d47599fb2 100644 --- a/source/java/org/alfresco/repo/webservice/repository/AssociatedQuerySession.java +++ b/source/java/org/alfresco/repo/webservice/repository/AssociatedQuerySession.java @@ -111,13 +111,16 @@ public class AssociatedQuerySession extends AbstractQuerySession // get the data for the row and build up the columns structure Map props = nodeService .getProperties(childNodeRef); - NamedValue[] columns = new NamedValue[props.size()]; + NamedValue[] columns = new NamedValue[props.size()+1]; int col = 0; for (QName propName : props.keySet()) { columns[col] = Utils.createNamedValue(dictionaryService, propName, props.get(propName)); col++; } + + // Now add the system columns containing the association details + columns[col] = new NamedValue(SYS_COL_ASSOC_TYPE, Boolean.FALSE, assoc.getTypeQName().toString(), null); ResultSetRow row = new ResultSetRow(); row.setRowIndex(x); diff --git a/source/java/org/alfresco/repo/webservice/repository/ChildrenQuerySession.java b/source/java/org/alfresco/repo/webservice/repository/ChildrenQuerySession.java index c8f8d54af7..3af9d8747e 100644 --- a/source/java/org/alfresco/repo/webservice/repository/ChildrenQuerySession.java +++ b/source/java/org/alfresco/repo/webservice/repository/ChildrenQuerySession.java @@ -97,7 +97,7 @@ public class ChildrenQuerySession extends AbstractQuerySession // create columns for all the properties of the node // get the data for the row and build up the columns structure Map props = nodeService.getProperties(childNodeRef); - NamedValue[] columns = new NamedValue[props.size()]; + NamedValue[] columns = new NamedValue[props.size()+4]; int col = 0; for (QName propName : props.keySet()) { @@ -105,6 +105,15 @@ public class ChildrenQuerySession extends AbstractQuerySession col++; } + // Now add the system columns containing the association details + columns[col] = new NamedValue(SYS_COL_ASSOC_TYPE, Boolean.FALSE, assoc.getTypeQName().toString(), null); + col++; + columns[col] = new NamedValue(SYS_COL_ASSOC_NAME, Boolean.FALSE, assoc.getQName().toString(), null); + col++; + columns[col] = new NamedValue(SYS_COL_IS_PRIMARY, Boolean.FALSE, Boolean.toString(assoc.isPrimary()), null); + col++; + columns[col] = new NamedValue(SYS_COL_NTH_SIBLING, Boolean.FALSE, Integer.toString(assoc.getNthSibling()), null); + ResultSetRow row = new ResultSetRow(); row.setRowIndex(x); row.setNode(rowNode); diff --git a/source/java/org/alfresco/repo/webservice/repository/ParentsQuerySession.java b/source/java/org/alfresco/repo/webservice/repository/ParentsQuerySession.java index 61a29bb5c4..d27f7b8f10 100644 --- a/source/java/org/alfresco/repo/webservice/repository/ParentsQuerySession.java +++ b/source/java/org/alfresco/repo/webservice/repository/ParentsQuerySession.java @@ -97,7 +97,7 @@ public class ParentsQuerySession extends AbstractQuerySession // create columns for all the properties of the node // get the data for the row and build up the columns structure Map props = nodeService.getProperties(parentNodeRef); - NamedValue[] columns = new NamedValue[props.size()]; + NamedValue[] columns = new NamedValue[props.size()+4]; int col = 0; for (QName propName : props.keySet()) { @@ -105,6 +105,15 @@ public class ParentsQuerySession extends AbstractQuerySession col++; } + // Now add the system columns containing the association details + columns[col] = new NamedValue(SYS_COL_ASSOC_TYPE, Boolean.FALSE, assoc.getTypeQName().toString(), null); + col++; + columns[col] = new NamedValue(SYS_COL_ASSOC_NAME, Boolean.FALSE, assoc.getQName().toString(), null); + col++; + columns[col] = new NamedValue(SYS_COL_IS_PRIMARY, Boolean.FALSE, Boolean.toString(assoc.isPrimary()), null); + col++; + columns[col] = new NamedValue(SYS_COL_NTH_SIBLING, Boolean.FALSE, Integer.toString(assoc.getNthSibling()), null); + ResultSetRow row = new ResultSetRow(); row.setRowIndex(x); row.setNode(rowNode); diff --git a/source/java/org/alfresco/repo/webservice/repository/QuerySession.java b/source/java/org/alfresco/repo/webservice/repository/QuerySession.java index 94d50b5d8b..679f7d031e 100644 --- a/source/java/org/alfresco/repo/webservice/repository/QuerySession.java +++ b/source/java/org/alfresco/repo/webservice/repository/QuerySession.java @@ -30,6 +30,12 @@ import org.alfresco.service.namespace.NamespaceService; */ public interface QuerySession extends Serializable { + /** System column namess */ + public static String SYS_COL_ASSOC_TYPE = "associationType"; + public static String SYS_COL_ASSOC_NAME = "associationName"; + public static String SYS_COL_IS_PRIMARY = "isPrimary"; + public static String SYS_COL_NTH_SIBLING = "nthSibling"; + /** * Retrieves the id this query session can be identified as * diff --git a/source/java/org/alfresco/repo/webservice/repository/RepositoryWebService.java b/source/java/org/alfresco/repo/webservice/repository/RepositoryWebService.java index d7c073f5e7..39becd73ef 100644 --- a/source/java/org/alfresco/repo/webservice/repository/RepositoryWebService.java +++ b/source/java/org/alfresco/repo/webservice/repository/RepositoryWebService.java @@ -35,10 +35,8 @@ import org.alfresco.repo.webservice.types.Node; import org.alfresco.repo.webservice.types.NodeDefinition; import org.alfresco.repo.webservice.types.Predicate; import org.alfresco.repo.webservice.types.Query; -import org.alfresco.repo.webservice.types.QueryLanguageEnum; import org.alfresco.repo.webservice.types.Reference; import org.alfresco.repo.webservice.types.Store; -import org.alfresco.repo.webservice.types.StoreEnum; import org.alfresco.service.cmr.dictionary.AspectDefinition; import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.dictionary.TypeDefinition; @@ -103,14 +101,10 @@ public class RepositoryWebService extends AbstractWebService implements /** * @see org.alfresco.repo.webservice.repository.RepositoryServiceSoapPort#createStore(org.alfresco.repo.webservice.types.StoreEnum, java.lang.String) */ - public Store createStore(StoreEnum scheme, String address) throws RemoteException, RepositoryFault + public Store createStore(String scheme, String address) throws RemoteException, RepositoryFault { - String protocol = scheme.getValue(); - StoreRef storeRef = this.nodeService.createStore(protocol, address); - - StoreEnum storeEnum = StoreEnum.fromString(storeRef - .getProtocol()); - return new Store(storeEnum, storeRef.getIdentifier()); + StoreRef storeRef = this.nodeService.createStore(scheme, address); + return Utils.convertToStore(storeRef); } /** @@ -136,9 +130,7 @@ public class RepositoryWebService extends AbstractWebService implements logger.debug("Store protocol :" + storeRef.getProtocol()); } - StoreEnum storeEnum = StoreEnum.fromString(storeRef - .getProtocol()); - Store store = new Store(storeEnum, storeRef.getIdentifier()); + Store store = Utils.convertToStore(storeRef); returnStores[x] = store; } @@ -175,13 +167,11 @@ public class RepositoryWebService extends AbstractWebService implements public QueryResult query(Store store, Query query, boolean includeMetaData) throws RemoteException, RepositoryFault { - QueryLanguageEnum langEnum = query.getLanguage(); - - if (langEnum.equals(QueryLanguageEnum.cql) - || langEnum.equals(QueryLanguageEnum.xpath)) + String language = query.getLanguage(); + if (language.equals(Utils.QUERY_LANG_LUCENE) == false) { throw new RepositoryFault(110, "Only '" - + QueryLanguageEnum.lucene.getValue() + + Utils.QUERY_LANG_LUCENE + "' queries are currently supported!"); } @@ -275,6 +265,8 @@ public class RepositoryWebService extends AbstractWebService implements return queryResult; } catch (Throwable e) { + e.printStackTrace(); + // rollback the transaction try { diff --git a/source/java/org/alfresco/repo/webservice/repository/ResultSetQuerySession.java b/source/java/org/alfresco/repo/webservice/repository/ResultSetQuerySession.java index ad4a21824e..d3daf98e23 100644 --- a/source/java/org/alfresco/repo/webservice/repository/ResultSetQuerySession.java +++ b/source/java/org/alfresco/repo/webservice/repository/ResultSetQuerySession.java @@ -90,7 +90,7 @@ public class ResultSetQuerySession extends AbstractQuerySession try { searchResults = searchService.query(Utils.convertToStoreRef(this.store), - this.query.getLanguage().getValue(), statement); + this.query.getLanguage(), statement); int totalRows = searchResults.length(); int lastRow = calculateLastRowIndex(totalRows); @@ -174,8 +174,8 @@ public class ResultSetQuerySession extends AbstractQuerySession builder.append(" (id=").append(getId()); builder.append(" batchSize=").append(this.batchSize); builder.append(" position=").append(this.position); - builder.append(" store=").append(this.store.getScheme().getValue()).append(":").append(this.store.getAddress()); - builder.append(" language=").append(this.query.getLanguage().getValue()); + builder.append(" store=").append(this.store.getScheme()).append(":").append(this.store.getAddress()); + builder.append(" language=").append(this.query.getLanguage()); builder.append(" statement=").append(this.query.getStatement()); builder.append(")"); return builder.toString(); diff --git a/source/java/web-services-application-context.xml b/source/java/web-services-application-context.xml index e3ac65b950..56905676b6 100644 --- a/source/java/web-services-application-context.xml +++ b/source/java/web-services-application-context.xml @@ -49,6 +49,9 @@ + + + diff --git a/source/web/WEB-INF/server-config.wsdd b/source/web/WEB-INF/server-config.wsdd index 982c5abe8c..4e11348be5 100644 --- a/source/web/WEB-INF/server-config.wsdd +++ b/source/web/WEB-INF/server-config.wsdd @@ -28,14 +28,6 @@ deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" /> - - - + @@ -449,7 +433,7 @@ - + @@ -501,14 +485,6 @@ deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" /> - - - - - - - - - + @@ -1992,14 +1912,6 @@ deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" /> - - - + Access control web service API. @@ -2390,14 +2294,6 @@ deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" /> - - - - - - - + diff --git a/source/wsdl/action-service.wsdl b/source/wsdl/action-service.wsdl index fdc5d53780..1adae36bb5 100644 --- a/source/wsdl/action-service.wsdl +++ b/source/wsdl/action-service.wsdl @@ -11,7 +11,7 @@ - + @@ -58,16 +58,15 @@ + - - @@ -82,15 +81,13 @@ - - + + + - - - - + diff --git a/source/wsdl/administration-service.wsdl b/source/wsdl/administration-service.wsdl index 9f6879fd1f..e08cd7c214 100644 --- a/source/wsdl/administration-service.wsdl +++ b/source/wsdl/administration-service.wsdl @@ -11,7 +11,7 @@ - + diff --git a/source/wsdl/authoring-service.wsdl b/source/wsdl/authoring-service.wsdl index 210476f415..9a77340ce2 100644 --- a/source/wsdl/authoring-service.wsdl +++ b/source/wsdl/authoring-service.wsdl @@ -11,7 +11,7 @@ - + diff --git a/source/wsdl/classification-service.wsdl b/source/wsdl/classification-service.wsdl index 2615633e28..15fb810140 100644 --- a/source/wsdl/classification-service.wsdl +++ b/source/wsdl/classification-service.wsdl @@ -11,7 +11,7 @@ - + diff --git a/source/wsdl/cml.xsd b/source/wsdl/cml.xsd index cc465ae607..ce011f9d04 100644 --- a/source/wsdl/cml.xsd +++ b/source/wsdl/cml.xsd @@ -52,7 +52,18 @@ - + + + + + + + + + + + + @@ -94,8 +105,8 @@ - - + + @@ -159,31 +170,31 @@ - - + + - - + + - - + + - + - - + + diff --git a/source/wsdl/content-service.wsdl b/source/wsdl/content-service.wsdl index bfdc067802..f67e03d493 100644 --- a/source/wsdl/content-service.wsdl +++ b/source/wsdl/content-service.wsdl @@ -11,7 +11,7 @@ - + diff --git a/source/wsdl/dictionary-service.wsdl b/source/wsdl/dictionary-service.wsdl index e6a5513c00..1ba50b5208 100644 --- a/source/wsdl/dictionary-service.wsdl +++ b/source/wsdl/dictionary-service.wsdl @@ -11,7 +11,7 @@ - + diff --git a/source/wsdl/repository-service.wsdl b/source/wsdl/repository-service.wsdl index 79b0428830..24fcb93912 100644 --- a/source/wsdl/repository-service.wsdl +++ b/source/wsdl/repository-service.wsdl @@ -13,15 +13,15 @@ - - + + - + @@ -192,6 +192,7 @@ + diff --git a/source/wsdl/types.xsd b/source/wsdl/types.xsd index 2fb45f84c5..cf6f7f762f 100644 --- a/source/wsdl/types.xsd +++ b/source/wsdl/types.xsd @@ -1,4 +1,3 @@ - Alfresco Web Services for Content Management. Type Definitions - Draft. @@ -31,36 +30,19 @@ - - - - - - - - - - - - - - - - - - - + + - - + + @@ -218,17 +200,9 @@ - - - - - - - - - + @@ -269,8 +243,8 @@ - - + +