Author: sklevenz
Date: Tue Feb 23 13:55:18 2010
New Revision: 915349
URL: http://svn.apache.org/viewvc?rev=915349&view=rev
Log:
Continuous Runtime Implementation and Unit Tests
- runtime implementation
- make unit test suite parameterizable by system properties and properties files
https://issues.apache.org/jira/browse/CMIS-124
Added:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/AclPermissionImpl.java
(with props)
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/AclPermissionMappingImpl.java
(with props)
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/RepositoryAclCapabilitiesImpl.java
(with props)
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/GenericTestSuite.java
(with props)
Modified:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentFolderImpl.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentSessionImpl.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/RepositoryInfoImpl.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/Fixture.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/otx/OtxInMemoryCmisTestSuite.java
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/enums/BindingType.java
Added:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/AclPermissionImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/AclPermissionImpl.java?rev=915349&view=auto
==============================================================================
---
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/AclPermissionImpl.java
(added)
+++
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/AclPermissionImpl.java
Tue Feb 23 13:55:18 2010
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.opencmis.client.runtime;
+
+import java.io.Serializable;
+
+import org.apache.opencmis.client.api.AclPermission;
+
+public class AclPermissionImpl implements AclPermission, Serializable {
+
+ /**
+ * serialization
+ */
+ private static final long serialVersionUID = -3820947135577677874L;
+
+ private String description = null;
+
+ public AclPermissionImpl(String descr) {
+ this.description = descr;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public String getName() {
+ return this.description;
+ }
+
+}
Propchange:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/AclPermissionImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentFolderImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentFolderImpl.java?rev=915349&r1=915348&r2=915349&view=diff
==============================================================================
---
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentFolderImpl.java
(original)
+++
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentFolderImpl.java
Tue Feb 23 13:55:18 2010
@@ -44,9 +44,13 @@
public class PersistentFolderImpl implements Folder {
- public PersistentFolderImpl(PersistentSessionImpl persistentSessionImpl,
- ObjectData od) {
- throw new CmisRuntimeException("not implemented");
+ private PersistentSessionImpl session;
+ private ObjectData objectData;
+
+ public PersistentFolderImpl(PersistentSessionImpl session, ObjectData
od) {
+
+ this.session = session;
+ this.objectData = od;
}
public Document createDocument(String name) {
@@ -167,7 +171,7 @@
}
public String getId() {
- throw new CmisRuntimeException("not implemented");
+ return this.objectData.getId();
}
public GregorianCalendar getLastModificationDate() {
Modified:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentSessionImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentSessionImpl.java?rev=915349&r1=915348&r2=915349&view=diff
==============================================================================
---
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentSessionImpl.java
(original)
+++
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentSessionImpl.java
Tue Feb 23 13:55:18 2010
@@ -353,13 +353,13 @@
switch (bt) {
case ATOM:
- this.provider =
this.creaetAtomPubProvider(this.parameters);
+ this.provider =
this.createAtomPubProvider(this.parameters);
break;
- case SOAP:
- this.provider =
this.creaetWebServiceProvider(this.parameters);
+ case WEBSERVICE:
+ this.provider =
this.createWebServiceProvider(this.parameters);
break;
case UNSPECIFIC:
- this.provider =
this.creaetUnspecificProvider(this.parameters);
+ this.provider =
this.createUnspecificProvider(this.parameters);
break;
default:
throw new CmisRuntimeException("Ambiguous session
parameter: "
@@ -367,13 +367,13 @@
}
}
- private CmisProvider creaetUnspecificProvider(Map<String, String>
parameters) {
+ private CmisProvider createUnspecificProvider(Map<String, String>
parameters) {
CmisProviderFactory factory = CmisProviderFactory.newInstance();
CmisProvider provider = factory.createCmisProvider(parameters);
return provider;
}
- private CmisProvider creaetWebServiceProvider(Map<String, String>
parameters) {
+ private CmisProvider createWebServiceProvider(Map<String, String>
parameters) {
CmisProviderFactory factory = CmisProviderFactory.newInstance();
CmisProvider provider = factory
.createCmisWebServicesProvider(parameters);
@@ -381,10 +381,10 @@
return provider;
}
- private CmisProvider creaetAtomPubProvider(Map<String, String>
parameters) {
+ private CmisProvider createAtomPubProvider(Map<String, String>
parameters) {
CmisProviderFactory factory = CmisProviderFactory.newInstance();
CmisProvider provider =
factory.createCmisAtomPubProvider(parameters);
-
+
return provider;
}
Modified:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/RepositoryInfoImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/RepositoryInfoImpl.java?rev=915349&r1=915348&r2=915349&view=diff
==============================================================================
---
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/RepositoryInfoImpl.java
(original)
+++
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/RepositoryInfoImpl.java
Tue Feb 23 13:55:18 2010
@@ -6,6 +6,7 @@
import org.apache.opencmis.client.api.repository.RepositoryAclCapabilities;
import org.apache.opencmis.client.api.repository.RepositoryCapabilities;
import org.apache.opencmis.client.api.repository.RepositoryInfo;
+import
org.apache.opencmis.client.runtime.repository.RepositoryAclCapabilitiesImpl;
import org.apache.opencmis.commons.enums.BaseObjectTypeIds;
import org.apache.opencmis.commons.exceptions.CmisRuntimeException;
import org.apache.opencmis.commons.provider.RepositoryInfoData;
@@ -27,6 +28,11 @@
*/
private PersistentSessionImpl session;
+ /*
+ * acl capabilities (serializable)
+ */
+ private RepositoryAclCapabilities aclCapabilites = null;
+
public RepositoryInfoImpl(PersistentSessionImpl session,
RepositoryInfoData riData) {
this.riData = riData;
@@ -38,7 +44,11 @@
}
public RepositoryAclCapabilities getAclCapabilities() {
- throw new CmisRuntimeException("not implemented");
+ if (this.aclCapabilites == null) {
+ this.aclCapabilites = new
RepositoryAclCapabilitiesImpl(this.riData
+ .getAclCapabilities());
+ }
+ return this.aclCapabilites;
}
public RepositoryCapabilities getCapabilities() {
Added:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/AclPermissionMappingImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/AclPermissionMappingImpl.java?rev=915349&view=auto
==============================================================================
---
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/AclPermissionMappingImpl.java
(added)
+++
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/AclPermissionMappingImpl.java
Tue Feb 23 13:55:18 2010
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.opencmis.client.runtime.repository;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.opencmis.client.api.AclPermission;
+import org.apache.opencmis.client.api.repository.AclPermissionMapping;
+import org.apache.opencmis.client.runtime.AclPermissionImpl;
+import org.apache.opencmis.commons.provider.PermissionMappingData;
+
+public class AclPermissionMappingImpl implements AclPermissionMapping,
+ Serializable {
+
+ /**
+ * serialization
+ */
+ private static final long serialVersionUID = -8682418497088386853L;
+
+ /*
+ * permission mapping data (serializable)
+ */
+ private PermissionMappingData pmd = null;
+
+ /*
+ * permission list (serializable)
+ */
+ private List<AclPermission> permissionList = null;
+
+ public AclPermissionMappingImpl(PermissionMappingData pmd) {
+ this.pmd = pmd;
+ }
+
+ public String getKey() {
+ return this.pmd.getKey();
+ }
+
+ public List<AclPermission> getPermissions() {
+ if (this.permissionList == null) {
+ this.permissionList = new ArrayList<AclPermission>();
+
+ for (String descr : this.pmd.getPermissions()) {
+ AclPermission acl = new
AclPermissionImpl(descr);
+ this.permissionList.add(acl);
+ }
+ }
+ return permissionList;
+ }
+
+}
Propchange:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/AclPermissionMappingImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/RepositoryAclCapabilitiesImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/RepositoryAclCapabilitiesImpl.java?rev=915349&view=auto
==============================================================================
---
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/RepositoryAclCapabilitiesImpl.java
(added)
+++
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/RepositoryAclCapabilitiesImpl.java
Tue Feb 23 13:55:18 2010
@@ -0,0 +1,237 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.opencmis.client.runtime.repository;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.opencmis.client.api.AclPermission;
+import org.apache.opencmis.client.api.repository.AclPermissionMapping;
+import org.apache.opencmis.client.api.repository.RepositoryAclCapabilities;
+import org.apache.opencmis.commons.enums.AclPropagation;
+import org.apache.opencmis.commons.exceptions.CmisRuntimeException;
+import org.apache.opencmis.commons.provider.AclCapabilitiesData;
+import org.apache.opencmis.commons.provider.PermissionMappingData;
+
+public class RepositoryAclCapabilitiesImpl implements
+ RepositoryAclCapabilities, Serializable {
+
+ /*
+ * serialization
+ */
+ private static final long serialVersionUID = 2824818352611088504L;
+
+ /*
+ * provider data (serializable)
+ */
+ private AclCapabilitiesData aclCapabilities;
+
+ /*
+ * permission mapping (serializable)
+ */
+ private Map<String, AclPermissionMapping> aclPermissionMapping = null;
+
+ /*
+ * permissions (serializable)
+ */
+ List<AclPermission> aclPermissions = null;
+
+ public RepositoryAclCapabilitiesImpl(AclCapabilitiesData
aclCapabilities) {
+ this.aclCapabilities = aclCapabilities;
+ }
+
+ public AclPropagation getAclPropagation() {
+ return this.aclCapabilities.getAclPropagation();
+ }
+
+ public AclPermissionMapping getAddPolicyObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getAddPolicyPolicyPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getAddToFolderFolderPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getAddToFolderObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getApplyAclObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getCancelCheckoutDocumentPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getCheckinDocumentPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getCheckoutDocumentPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getCreateDocumentFolderPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getCreateDocumentTypePermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getCreateFolderFolderPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getCreateFolderTypePermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getCreatePolicyTypePermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getCreateRelationshipSourcePermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getCreateRelationshipTargetPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getCreateRelationshipTypePermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getDeleteContentDocumentPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getDeleteObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getDeleteTreeFolderPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getGetAclObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getGetAllVersionsVersionSeriesPermissions()
{
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getGetAppliedPoliciesObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getGetChildrenFolderPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getGetDescendentsFolderPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getGetFolderParentObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping
getGetObjectRelationshipsObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getGetParentsFolderPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getGetPropertiesObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getMoveObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getMoveSourcePermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getMoveTargetPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public Map<String, AclPermissionMapping> getPermissionMapping() {
+ if (this.aclPermissionMapping == null) {
+ this.aclPermissionMapping = new Hashtable<String,
AclPermissionMapping>();
+ AclPermissionMapping apm = null;
+ for (PermissionMappingData pmd : this.aclCapabilities
+ .getPermissionMappingData()) {
+ apm = new AclPermissionMappingImpl(pmd);
+ this.aclPermissionMapping.put(pmd.getKey(),
apm);
+ }
+ }
+ return this.aclPermissionMapping;
+ }
+
+ public List<AclPermission> getPermissions() {
+ if (this.aclPermissions == null) {
+ this.aclPermissions = new ArrayList<AclPermission>();
+ }
+ return this.aclPermissions;
+ }
+
+ public AclPermissionMapping getRemoveFromFolderFolderPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getRemoveFromFolderObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getRemovePolicyObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getRemovePolicyPolicyPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getSetContentDocumentPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getUpdatePropertiesObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+
+ public AclPermissionMapping getViewContentObjectPermissions() {
+ throw new CmisRuntimeException("not implemented");
+ }
+}
Propchange:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/repository/RepositoryAclCapabilitiesImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/Fixture.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/Fixture.java?rev=915349&r1=915348&r2=915349&view=diff
==============================================================================
---
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/Fixture.java
(original)
+++
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/Fixture.java
Tue Feb 23 13:55:18 2010
@@ -49,6 +49,7 @@
public static String FOLDER_TYPE_ID = "test.folder";
public static String DOCUMENT_TYPE_ID = "test.file";
public static String QUERY = "SELECT * FROM cmis:document";
+
/*
* cmis objects
*/
@@ -73,7 +74,7 @@
public static String PROPERTY_NAME_ID = "DoubleProperty";
public static String PROPERTY_VALUE_ID = "xyz";
public static String PROPERTY_NAME_HTML = "HtmlProperty";
- public static String PROPERTY_VALUE_HTML = "<body>";
+ public static String PROPERTY_VALUE_HTML = "<html><body>html
value</body></html>";
public static String PROPERTY_NAME_DATETIME = "DateTimeProperty";
public static Calendar PROPERTY_VALUE_DATETIME = GregorianCalendar
.getInstance();
@@ -81,6 +82,12 @@
public static URI PROPERTY_VALUE_URI = URI.create("http://foo.com");
public static final String PROPERTY_NAME_STRING_MULTI_VALUED =
"MultiValuedStringProperty";
+ /*
+ * session parameter
+ */
+ private static final String X_FOLDER_TYPE_ID =
"org.apache.opencmis.fixture.folder.type.id";
+ private static final String X_DOCUMENT_TYPE_ID =
"org.apache.opencmis.fixture.document.type.id";
+
static {
Fixture.TEST_ROOT_FOLDER_NAME = "test_" +
UUID.randomUUID().toString();
}
@@ -99,7 +106,18 @@
*/
public static void setParamter(Map<String, String> paramter) {
Fixture.paramter = paramter;
- }
+
+ /* overload fixture values */
+ String value;
+
+ value = Fixture.paramter.get(Fixture.X_DOCUMENT_TYPE_ID);
+ Fixture.DOCUMENT_TYPE_ID = (value != null ? value
+ : Fixture.DOCUMENT_TYPE_ID);
+
+ value = Fixture.paramter.get(Fixture.X_FOLDER_TYPE_ID);
+ Fixture.FOLDER_TYPE_ID = (value != null ? value
+ : Fixture.FOLDER_TYPE_ID);
+}
/**
* session parameter.
Added:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/GenericTestSuite.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/GenericTestSuite.java?rev=915349&view=auto
==============================================================================
---
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/GenericTestSuite.java
(added)
+++
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/GenericTestSuite.java
Tue Feb 23 13:55:18 2010
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.opencmis.client.runtime.suite;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Map.Entry;
+
+import org.apache.opencmis.client.api.SessionFactory;
+import org.apache.opencmis.client.runtime.Fixture;
+import org.apache.opencmis.client.runtime.ReadOnlyAclCapabilityTest;
+import org.apache.opencmis.client.runtime.ReadOnlyContentStreamTest;
+import org.apache.opencmis.client.runtime.ReadOnlyCreateSessionTest;
+import org.apache.opencmis.client.runtime.ReadOnlyDiscoverTest;
+import org.apache.opencmis.client.runtime.ReadOnlyNavigationTest;
+import org.apache.opencmis.client.runtime.ReadOnlyObjectTest;
+import org.apache.opencmis.client.runtime.ReadOnlyRepositoryInfoTest;
+import org.apache.opencmis.client.runtime.ReadOnlySessionTest;
+import org.apache.opencmis.client.runtime.ReadOnlyTypeTest;
+import org.apache.opencmis.client.runtime.SessionFactoryImpl;
+import org.apache.opencmis.client.runtime.misc.CacheTest;
+import org.apache.opencmis.commons.exceptions.CmisRuntimeException;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite.SuiteClasses;
+import org.junit.runners.model.InitializationError;
+import org.junit.runners.model.RunnerBuilder;
+
+/**
+ * All session parameters have to be configured as environment variables.
+ */
+/**
+ * SessionParameter are build from environment variables. If a config file
+ * parameter is specified then session parameters are read from this file else
+ * the whole environment variable map is used for session parameter. All
entries
+ * have to follow the {...@code org.apache.opencmis...} convention as defined
in
+ * class {...@code SessionParameter0
+ */
+...@runwith(GenericTestSuite.class)
+...@suiteclasses( { CacheTest.class, ReadOnlyCreateSessionTest.class,
+ ReadOnlySessionTest.class, ReadOnlyRepositoryInfoTest.class,
+ ReadOnlyAclCapabilityTest.class, ReadOnlyObjectTest.class,
+ ReadOnlyTypeTest.class, ReadOnlyNavigationTest.class,
+ ReadOnlyContentStreamTest.class, ReadOnlyDiscoverTest.class })
+public class GenericTestSuite extends AbstractCmisTestSuite {
+
+ private static final String CONFIG_PATH =
"org.apache.opencmis.client.runtime.suite.config.path";
+ private static final String SESSION_FACTORY =
"org.apache.opencmis.client.runtime.suite.session.factory";
+
+ public GenericTestSuite(Class<?> klass, RunnerBuilder r)
+ throws InitializationError {
+ super(klass, r);
+ }
+
+ @Override
+ protected void initializeFixture() {
+ /* get optional path from system properties */
+ String pathname =
System.getProperty(GenericTestSuite.CONFIG_PATH)
+ .trim();
+ Properties properties = null;
+ Map<String, String> sessionParameter = null;
+ SessionFactory factory = null;
+ String factoryClassName = null;
+ try {
+ if (pathname != null && !"".equalsIgnoreCase(pathname))
{
+ // read from file
+ properties = new Properties();
+ FileInputStream in = new FileInputStream(new
File(pathname));
+ properties.load(in);
+ } else {
+ // take all system properties
+ properties = System.getProperties();
+ }
+
+ /* convert to map, filter empty values */
+ sessionParameter = new Hashtable<String, String>();
+ for (Entry<Object, Object> se : properties.entrySet()) {
+ String key = (String) se.getKey();
+ String value = ((String) se.getValue()).trim();
+ if (value != null &&
!"".equalsIgnoreCase(value)) {
+ sessionParameter.put(key, value);
+ }
+ }
+
+ /* load factory class */
+ factoryClassName = sessionParameter
+ .get(GenericTestSuite.SESSION_FACTORY);
+ if (factoryClassName != null
+ &&
!"".equalsIgnoreCase(factoryClassName)) {
+ Class<?> clazz =
Class.forName(factoryClassName);
+ factory = (SessionFactory) clazz.newInstance();
+ } else {
+ /* default */
+ factory = SessionFactoryImpl.newInstance();
+ }
+
+ /* activate fixture and done */
+ Fixture.setParamter(sessionParameter);
+ Fixture.setSessionFactory(factory);
+
+ } catch (InstantiationException e) {
+ throw new CmisRuntimeException(factoryClassName, e);
+ } catch (IllegalAccessException e) {
+ throw new CmisRuntimeException(factoryClassName, e);
+ } catch (ClassNotFoundException e) {
+ throw new CmisRuntimeException(factoryClassName, e);
+ } catch (IOException e) {
+ throw new CmisRuntimeException(pathname, e);
+ }
+ }
+}
Propchange:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/GenericTestSuite.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/otx/OtxInMemoryCmisTestSuite.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/otx/OtxInMemoryCmisTestSuite.java?rev=915349&r1=915348&r2=915349&view=diff
==============================================================================
---
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/otx/OtxInMemoryCmisTestSuite.java
(original)
+++
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/otx/OtxInMemoryCmisTestSuite.java
Tue Feb 23 13:55:18 2010
@@ -19,41 +19,63 @@
package org.apache.opencmis.client.runtime.suite.otx;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
import org.junit.runner.RunWith;
import org.junit.runners.Suite.SuiteClasses;
import org.junit.runners.model.InitializationError;
import org.junit.runners.model.RunnerBuilder;
+import org.apache.opencmis.client.provider.factory.CmisProviderFactory;
import org.apache.opencmis.client.runtime.Fixture;
import org.apache.opencmis.client.runtime.ReadOnlyAclCapabilityTest;
import org.apache.opencmis.client.runtime.ReadOnlyCreateSessionTest;
-import org.apache.opencmis.client.runtime.ReadOnlyObjectTest;
import org.apache.opencmis.client.runtime.ReadOnlyRepositoryInfoTest;
+import org.apache.opencmis.client.runtime.ReadOnlySessionTest;
+import org.apache.opencmis.client.runtime.SessionFactoryImpl;
+import org.apache.opencmis.client.runtime.misc.CacheTest;
import org.apache.opencmis.client.runtime.suite.AbstractCmisTestSuite;
+import org.apache.opencmis.commons.SessionParameter;
+import org.apache.opencmis.commons.enums.BindingType;
+import org.apache.opencmis.commons.enums.SessionType;
/**
* Test suite to run InMemory binding.
*/
@RunWith(OtxInMemoryCmisTestSuite.class)
-...@suiteclasses( { ReadOnlyCreateSessionTest.class,
ReadOnlyRepositoryInfoTest.class,
- ReadOnlyAclCapabilityTest.class, ReadOnlyObjectTest.class })
+...@suiteclasses( { CacheTest.class, ReadOnlyCreateSessionTest.class,
ReadOnlySessionTest.class,
+ ReadOnlyRepositoryInfoTest.class,
+ ReadOnlyAclCapabilityTest.class, })
public class OtxInMemoryCmisTestSuite extends AbstractCmisTestSuite {
- public OtxInMemoryCmisTestSuite(Class<?> klass, RunnerBuilder r) throws
InitializationError {
- super(klass, r);
- }
-
- @Override
- protected void initializeFixture() {
- Map<String, String> parameter = new HashMap<String, String>();
- // parameter.put(Session.USER, "test");
- // parameter.put(Session.BINDING, "inmemory");
- // parameter.put(Session.PROVIDER, "otx");
- // parameter.put(Session.REPOSITORY_ID, "InMemory");
-
- Fixture.setParamter(parameter);
- Fixture.setSessionFactory(null);
- }
+ public OtxInMemoryCmisTestSuite(Class<?> klass, RunnerBuilder r)
+ throws InitializationError {
+ super(klass, r);
+ }
+
+ @Override
+ protected void initializeFixture() {
+ Map<String, String> parameter = new HashMap<String, String>();
+
+ parameter.put(SessionParameter.USER, "test");
+ parameter.put(SessionParameter.PASSWORD, "test");
+ parameter.put(SessionParameter.SESSION_TYPE,
SessionType.PERSISTENT
+ .value());
+ parameter.put(SessionParameter.LOCALE_ISO3166_COUNTRY,
Locale.GERMANY
+ .getISO3Country());
+ parameter.put(SessionParameter.LOCALE_ISO639_LANGUAGE,
Locale.GERMANY
+ .getISO3Language());
+ parameter.put(SessionParameter.BINDING_TYPE,
BindingType.UNSPECIFIC
+ .value());
+ parameter.put(SessionParameter.REPOSITORY_ID, "InMemory");
+ parameter.put(SessionParameter.BINDING_SPI_CLASS,
+ CmisProviderFactory.BINDING_SPI_INMEMORY);
+
+ Fixture.DOCUMENT_TYPE_ID = "cmis:document";
+ Fixture.FOLDER_TYPE_ID = "cmis:folder";
+
+ Fixture.setParamter(parameter);
+ Fixture.setSessionFactory(SessionFactoryImpl.newInstance());
+ }
}
Modified:
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/enums/BindingType.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/enums/BindingType.java?rev=915349&r1=915348&r2=915349&view=diff
==============================================================================
---
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/enums/BindingType.java
(original)
+++
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/enums/BindingType.java
Tue Feb 23 13:55:18 2010
@@ -25,7 +25,7 @@
*/
public enum BindingType {
- SOAP("soap"), ATOM("atom"), UNSPECIFIC("unspecific");
+ WEBSERVICE("webservice"), ATOM("atom"), UNSPECIFIC("unspecific");
private final String value;
BindingType(String v) {