Return-Path: Delivered-To: apmail-incubator-chemistry-commits-archive@minotaur.apache.org Received: (qmail 44687 invoked from network); 29 Jul 2010 17:14:58 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 29 Jul 2010 17:14:58 -0000 Received: (qmail 27698 invoked by uid 500); 29 Jul 2010 17:14:58 -0000 Delivered-To: apmail-incubator-chemistry-commits-archive@incubator.apache.org Received: (qmail 27669 invoked by uid 500); 29 Jul 2010 17:14:58 -0000 Mailing-List: contact chemistry-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: chemistry-dev@incubator.apache.org Delivered-To: mailing list chemistry-commits@incubator.apache.org Received: (qmail 27661 invoked by uid 99); 29 Jul 2010 17:14:58 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Jul 2010 17:14:58 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Jul 2010 17:14:49 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 9AE0823889B6; Thu, 29 Jul 2010 17:13:31 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r980513 [1/15] - in /incubator/chemistry/opencmis/trunk/chemistry-opencmis-server: chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/ chemistry-opencmis-server-bindings/src/main/java/org/apache... Date: Thu, 29 Jul 2010 17:13:30 -0000 To: chemistry-commits@incubator.apache.org From: fguillaume@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100729171331.9AE0823889B6@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: fguillaume Date: Thu Jul 29 17:13:28 2010 New Revision: 980513 URL: http://svn.apache.org/viewvc?rev=980513&view=rev Log: CMIS-225: proper svn eol-style on text files (native except for *.bat) Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/DummyService.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTube.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubeAssembler.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubelineAssemblerFactory.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/resources/META-INF/services/com.sun.xml.ws.api.pipe.TubelineAssemblerFactory (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/FileShareService.java (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/FileShareServiceFactory.java (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/antlr3/org/apache/chemistry/opencmis/inmemory/query/CMISQLLexerStrict.g (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/antlr3/org/apache/chemistry/opencmis/inmemory/query/CMISQLParserStrict.g (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/antlr3/org/apache/chemistry/opencmis/inmemory/query/CmisQueryWalker.g (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/DummyCallContext.java (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/TypeManagerImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/AbstractServiceImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/ExtensionSample.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryAbstractServiceImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryDiscoveryServiceImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryMultiFilingServiceImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryRepositoryServiceImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryService.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryServiceFactoryImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryVersioningServiceImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/api/Filing.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/api/MultiFiling.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/api/SingleFiling.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/AbstractMultiFilingImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/AbstractSingleFilingImpl.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/AbstractServiceTst.java (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/MultiFilingTest.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/EvalQueryTest.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/ProcessQueryTest.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/QueryParseTest.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/QueryTestDataCreator.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/QueryTypesTest.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/antlr3/org/apache/chemistry/opencmis/server/support/query/CMISQLLexer.g (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/antlr3/org/apache/chemistry/opencmis/server/support/query/CMISQLParser.g (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/antlr3/org/apache/chemistry/opencmis/server/support/query/CmisBaseGrammar.g (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/antlr3/org/apache/chemistry/opencmis/server/support/query/CmisQlExtParser.g (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/antlr3/org/apache/chemistry/opencmis/server/support/query/CmisQlStrictLexer.g (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/antlr3/org/apache/chemistry/opencmis/server/support/query/CmisQlStrictParser.g (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/antlr3/org/apache/chemistry/opencmis/server/support/query/CmisQueryWalker.g (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/CmisServiceWrapper.java (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/TypeManager.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/TypeValidator.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractQueryConditionProcessor.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/CmisSelector.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/ColumnReference.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/FunctionReference.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/QueryConditionProcessor.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/QueryObject.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/test/gunit/org/apache/chemistry/opencmis/server/support/query/CMISQL.testsuite (props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/test/java/org/apache/chemistry/opencmis/server/support/query/AbstractParserTst.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/test/java/org/apache/chemistry/opencmis/server/support/query/TestParserExt.java (contents, props changed) incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/test/java/org/apache/chemistry/opencmis/server/support/query/TestParserStrict.java (contents, props changed) Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/DummyService.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/DummyService.java?rev=980513&r1=980512&r2=980513&view=diff ============================================================================== --- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/DummyService.java (original) +++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/DummyService.java Thu Jul 29 17:13:28 2010 @@ -1,103 +1,103 @@ -/* - * 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.chemistry.opencmis.server.impl.dummy; - -import java.math.BigInteger; -import java.util.Collections; -import java.util.List; - -import org.apache.chemistry.opencmis.commons.data.ExtensionsData; -import org.apache.chemistry.opencmis.commons.data.ObjectData; -import org.apache.chemistry.opencmis.commons.data.ObjectInFolderList; -import org.apache.chemistry.opencmis.commons.data.ObjectParentData; -import org.apache.chemistry.opencmis.commons.data.RepositoryInfo; -import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition; -import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList; -import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships; -import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException; -import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException; -import org.apache.chemistry.opencmis.commons.impl.dataobjects.RepositoryInfoImpl; -import org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService; - -/** - * Simplest Repository Service implementation. - */ -public class DummyService extends AbstractCmisService { - - private RepositoryInfoImpl fRepInfo; - - public DummyService(String id, String name) { - fRepInfo = new RepositoryInfoImpl(); - - fRepInfo.setRepositoryId(id); - fRepInfo.setRepositoryName(name); - fRepInfo.setRepositoryDescription(name); - fRepInfo.setCmisVersionSupported("1.0"); - fRepInfo.setRootFolder("root"); - - fRepInfo.setVendorName("OpenCMIS"); - fRepInfo.setProductName("OpenCMIS Server"); - fRepInfo.setProductVersion("1.0"); - } - - public RepositoryInfo getRepositoryInfo(String repositoryId, ExtensionsData extension) { - if (!fRepInfo.getId().equals(repositoryId)) { - throw new CmisObjectNotFoundException("A repository with repository id '" + repositoryId - + "' does not exist!"); - } - - return fRepInfo; - } - - public List getRepositoryInfos(ExtensionsData extension) { - return Collections.singletonList((RepositoryInfo) fRepInfo); - } - - @Override - public ObjectInFolderList getChildren(String repositoryId, String folderId, String filter, String orderBy, - Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, - Boolean includePathSegment, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { - throw new CmisNotSupportedException(); - } - - @Override - public ObjectData getObject(String repositoryId, String objectId, String filter, Boolean includeAllowableActions, - IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, - Boolean includeAcl, ExtensionsData extension) { - throw new CmisNotSupportedException(); - } - - @Override - public List getObjectParents(String repositoryId, String objectId, String filter, - Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, - Boolean includeRelativePathSegment, ExtensionsData extension) { - throw new CmisNotSupportedException(); - } - - @Override - public TypeDefinitionList getTypeChildren(String repositoryId, String typeId, Boolean includePropertyDefinitions, - BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { - throw new CmisNotSupportedException(); - } - - @Override - public TypeDefinition getTypeDefinition(String repositoryId, String typeId, ExtensionsData extension) { - throw new CmisNotSupportedException(); - } -} +/* + * 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.chemistry.opencmis.server.impl.dummy; + +import java.math.BigInteger; +import java.util.Collections; +import java.util.List; + +import org.apache.chemistry.opencmis.commons.data.ExtensionsData; +import org.apache.chemistry.opencmis.commons.data.ObjectData; +import org.apache.chemistry.opencmis.commons.data.ObjectInFolderList; +import org.apache.chemistry.opencmis.commons.data.ObjectParentData; +import org.apache.chemistry.opencmis.commons.data.RepositoryInfo; +import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition; +import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList; +import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships; +import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException; +import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException; +import org.apache.chemistry.opencmis.commons.impl.dataobjects.RepositoryInfoImpl; +import org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService; + +/** + * Simplest Repository Service implementation. + */ +public class DummyService extends AbstractCmisService { + + private RepositoryInfoImpl fRepInfo; + + public DummyService(String id, String name) { + fRepInfo = new RepositoryInfoImpl(); + + fRepInfo.setRepositoryId(id); + fRepInfo.setRepositoryName(name); + fRepInfo.setRepositoryDescription(name); + fRepInfo.setCmisVersionSupported("1.0"); + fRepInfo.setRootFolder("root"); + + fRepInfo.setVendorName("OpenCMIS"); + fRepInfo.setProductName("OpenCMIS Server"); + fRepInfo.setProductVersion("1.0"); + } + + public RepositoryInfo getRepositoryInfo(String repositoryId, ExtensionsData extension) { + if (!fRepInfo.getId().equals(repositoryId)) { + throw new CmisObjectNotFoundException("A repository with repository id '" + repositoryId + + "' does not exist!"); + } + + return fRepInfo; + } + + public List getRepositoryInfos(ExtensionsData extension) { + return Collections.singletonList((RepositoryInfo) fRepInfo); + } + + @Override + public ObjectInFolderList getChildren(String repositoryId, String folderId, String filter, String orderBy, + Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, + Boolean includePathSegment, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { + throw new CmisNotSupportedException(); + } + + @Override + public ObjectData getObject(String repositoryId, String objectId, String filter, Boolean includeAllowableActions, + IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, + Boolean includeAcl, ExtensionsData extension) { + throw new CmisNotSupportedException(); + } + + @Override + public List getObjectParents(String repositoryId, String objectId, String filter, + Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, + Boolean includeRelativePathSegment, ExtensionsData extension) { + throw new CmisNotSupportedException(); + } + + @Override + public TypeDefinitionList getTypeChildren(String repositoryId, String typeId, Boolean includePropertyDefinitions, + BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { + throw new CmisNotSupportedException(); + } + + @Override + public TypeDefinition getTypeDefinition(String repositoryId, String typeId, ExtensionsData extension) { + throw new CmisNotSupportedException(); + } +} Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/DummyService.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTube.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTube.java?rev=980513&r1=980512&r2=980513&view=diff ============================================================================== --- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTube.java (original) +++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTube.java Thu Jul 29 17:13:28 2010 @@ -1,91 +1,91 @@ -/* - * 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.chemistry.opencmis.server.impl.webservices.wss; - -import java.text.SimpleDateFormat; -import java.util.TimeZone; - -import javax.xml.parsers.DocumentBuilderFactory; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import com.sun.xml.ws.api.message.HeaderList; -import com.sun.xml.ws.api.message.Headers; -import com.sun.xml.ws.api.message.Message; -import com.sun.xml.ws.api.message.Packet; -import com.sun.xml.ws.api.pipe.NextAction; -import com.sun.xml.ws.api.pipe.Tube; -import com.sun.xml.ws.api.pipe.TubeCloner; -import com.sun.xml.ws.api.pipe.helper.AbstractFilterTubeImpl; - -public class WssTube extends AbstractFilterTubeImpl { - - private static final String WSSE_NAMESPACE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"; - private static final String WSU_NAMESPACE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"; - - protected WssTube(Tube next) { - super(next); - } - - protected WssTube(AbstractFilterTubeImpl that, TubeCloner cloner) { - super(that, cloner); - } - - public WssTube copy(TubeCloner cloner) { - return new WssTube(this, cloner); - } - - @Override - public NextAction processResponse(Packet packet) { - Message message = packet.getMessage(); - if (message == null) { - return super.processResponse(packet); - } - - try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); - sdf.setTimeZone(TimeZone.getTimeZone("UTC")); - long created = System.currentTimeMillis(); - long expires = created + 24 * 60 * 60 * 1000; // 24 hours - - Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); - - Element wsseSecurityElement = document.createElementNS(WSSE_NAMESPACE, "Security"); - - Element wsuTimestampElement = document.createElementNS(WSU_NAMESPACE, "Timestamp"); - wsseSecurityElement.appendChild(wsuTimestampElement); - - Element tsCreatedElement = document.createElementNS(WSU_NAMESPACE, "Created"); - tsCreatedElement.setTextContent(sdf.format(created)); - wsuTimestampElement.appendChild(tsCreatedElement); - - Element tsExpiresElement = document.createElementNS(WSU_NAMESPACE, "Expires"); - tsExpiresElement.setTextContent(sdf.format(expires)); - wsuTimestampElement.appendChild(tsExpiresElement); - - HeaderList headers = message.getHeaders(); - headers.add(Headers.create(wsseSecurityElement)); - } catch (Exception e) { - e.printStackTrace(); - } - - return super.processResponse(packet); - } -} +/* + * 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.chemistry.opencmis.server.impl.webservices.wss; + +import java.text.SimpleDateFormat; +import java.util.TimeZone; + +import javax.xml.parsers.DocumentBuilderFactory; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import com.sun.xml.ws.api.message.HeaderList; +import com.sun.xml.ws.api.message.Headers; +import com.sun.xml.ws.api.message.Message; +import com.sun.xml.ws.api.message.Packet; +import com.sun.xml.ws.api.pipe.NextAction; +import com.sun.xml.ws.api.pipe.Tube; +import com.sun.xml.ws.api.pipe.TubeCloner; +import com.sun.xml.ws.api.pipe.helper.AbstractFilterTubeImpl; + +public class WssTube extends AbstractFilterTubeImpl { + + private static final String WSSE_NAMESPACE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"; + private static final String WSU_NAMESPACE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"; + + protected WssTube(Tube next) { + super(next); + } + + protected WssTube(AbstractFilterTubeImpl that, TubeCloner cloner) { + super(that, cloner); + } + + public WssTube copy(TubeCloner cloner) { + return new WssTube(this, cloner); + } + + @Override + public NextAction processResponse(Packet packet) { + Message message = packet.getMessage(); + if (message == null) { + return super.processResponse(packet); + } + + try { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + sdf.setTimeZone(TimeZone.getTimeZone("UTC")); + long created = System.currentTimeMillis(); + long expires = created + 24 * 60 * 60 * 1000; // 24 hours + + Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + + Element wsseSecurityElement = document.createElementNS(WSSE_NAMESPACE, "Security"); + + Element wsuTimestampElement = document.createElementNS(WSU_NAMESPACE, "Timestamp"); + wsseSecurityElement.appendChild(wsuTimestampElement); + + Element tsCreatedElement = document.createElementNS(WSU_NAMESPACE, "Created"); + tsCreatedElement.setTextContent(sdf.format(created)); + wsuTimestampElement.appendChild(tsCreatedElement); + + Element tsExpiresElement = document.createElementNS(WSU_NAMESPACE, "Expires"); + tsExpiresElement.setTextContent(sdf.format(expires)); + wsuTimestampElement.appendChild(tsExpiresElement); + + HeaderList headers = message.getHeaders(); + headers.add(Headers.create(wsseSecurityElement)); + } catch (Exception e) { + e.printStackTrace(); + } + + return super.processResponse(packet); + } +} Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTube.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubeAssembler.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubeAssembler.java?rev=980513&r1=980512&r2=980513&view=diff ============================================================================== --- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubeAssembler.java (original) +++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubeAssembler.java Thu Jul 29 17:13:28 2010 @@ -1,48 +1,48 @@ -/* - * 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.chemistry.opencmis.server.impl.webservices.wss; - -import com.sun.xml.ws.api.pipe.ClientTubeAssemblerContext; -import com.sun.xml.ws.api.pipe.ServerTubeAssemblerContext; -import com.sun.xml.ws.api.pipe.Tube; -import com.sun.xml.ws.api.pipe.TubelineAssembler; - -public class WssTubeAssembler implements TubelineAssembler { - - public Tube createClient(ClientTubeAssemblerContext context) { - Tube head = context.createTransportTube(); - head = context.createSecurityTube(head); - head = context.createWsaTube(head); - head = context.createClientMUTube(head); - - return context.createHandlerTube(head); - } - - public Tube createServer(ServerTubeAssemblerContext context) { - Tube head = context.getTerminalTube(); - head = new WssTube(head); - head = context.createHandlerTube(head); - head = context.createMonitoringTube(head); - head = context.createServerMUTube(head); - head = context.createWsaTube(head); - head = context.createSecurityTube(head); - - return head; - } -} +/* + * 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.chemistry.opencmis.server.impl.webservices.wss; + +import com.sun.xml.ws.api.pipe.ClientTubeAssemblerContext; +import com.sun.xml.ws.api.pipe.ServerTubeAssemblerContext; +import com.sun.xml.ws.api.pipe.Tube; +import com.sun.xml.ws.api.pipe.TubelineAssembler; + +public class WssTubeAssembler implements TubelineAssembler { + + public Tube createClient(ClientTubeAssemblerContext context) { + Tube head = context.createTransportTube(); + head = context.createSecurityTube(head); + head = context.createWsaTube(head); + head = context.createClientMUTube(head); + + return context.createHandlerTube(head); + } + + public Tube createServer(ServerTubeAssemblerContext context) { + Tube head = context.getTerminalTube(); + head = new WssTube(head); + head = context.createHandlerTube(head); + head = context.createMonitoringTube(head); + head = context.createServerMUTube(head); + head = context.createWsaTube(head); + head = context.createSecurityTube(head); + + return head; + } +} Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubeAssembler.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubelineAssemblerFactory.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubelineAssemblerFactory.java?rev=980513&r1=980512&r2=980513&view=diff ============================================================================== --- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubelineAssemblerFactory.java (original) +++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubelineAssemblerFactory.java Thu Jul 29 17:13:28 2010 @@ -1,31 +1,31 @@ -/* - * 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.chemistry.opencmis.server.impl.webservices.wss; - -import com.sun.xml.ws.api.BindingID; -import com.sun.xml.ws.api.pipe.TubelineAssembler; -import com.sun.xml.ws.api.pipe.TubelineAssemblerFactory; - -public class WssTubelineAssemblerFactory extends TubelineAssemblerFactory { - - @Override - public TubelineAssembler doCreate(BindingID bindingID) { - return new WssTubeAssembler(); - } -} +/* + * 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.chemistry.opencmis.server.impl.webservices.wss; + +import com.sun.xml.ws.api.BindingID; +import com.sun.xml.ws.api.pipe.TubelineAssembler; +import com.sun.xml.ws.api.pipe.TubelineAssemblerFactory; + +public class WssTubelineAssemblerFactory extends TubelineAssemblerFactory { + + @Override + public TubelineAssembler doCreate(BindingID bindingID) { + return new WssTubeAssembler(); + } +} Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/wss/WssTubelineAssemblerFactory.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/resources/META-INF/services/com.sun.xml.ws.api.pipe.TubelineAssemblerFactory ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/FileShareService.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/FileShareServiceFactory.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/antlr3/org/apache/chemistry/opencmis/inmemory/query/CMISQLLexerStrict.g ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/antlr3/org/apache/chemistry/opencmis/inmemory/query/CMISQLParserStrict.g ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/antlr3/org/apache/chemistry/opencmis/inmemory/query/CmisQueryWalker.g ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/DummyCallContext.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/TypeManagerImpl.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/TypeManagerImpl.java?rev=980513&r1=980512&r2=980513&view=diff ============================================================================== --- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/TypeManagerImpl.java (original) +++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/TypeManagerImpl.java Thu Jul 29 17:13:28 2010 @@ -1,245 +1,245 @@ -/* - * 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.chemistry.opencmis.inmemory; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition; -import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition; -import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer; -import org.apache.chemistry.opencmis.commons.impl.Converter; -import org.apache.chemistry.opencmis.commons.impl.dataobjects.AbstractPropertyDefinition; -import org.apache.chemistry.opencmis.commons.impl.dataobjects.TypeDefinitionContainerImpl; -import org.apache.chemistry.opencmis.commons.impl.jaxb.CmisPropertyDefinitionType; -import org.apache.chemistry.opencmis.inmemory.types.DocumentTypeCreationHelper; -import org.apache.chemistry.opencmis.inmemory.types.InMemoryDocumentTypeDefinition; -import org.apache.chemistry.opencmis.inmemory.types.InMemoryFolderTypeDefinition; -import org.apache.chemistry.opencmis.inmemory.types.InMemoryPolicyTypeDefinition; -import org.apache.chemistry.opencmis.inmemory.types.InMemoryRelationshipTypeDefinition; -import org.apache.chemistry.opencmis.server.support.TypeManager; - -/** - * Class that manages a type system for a repository types can be added, the - * inheritance can be managed and type can be retrieved for a given type id. - * - * @author Jens - * - */ -public class TypeManagerImpl implements TypeManager { - - /** - * map from repository id to a types map - */ - private Map fTypesMap = new HashMap(); - - /* (non-Javadoc) - * @see org.apache.chemistry.opencmis.inmemory.TypeManager#getTypeById(java.lang.String) - */ - public TypeDefinitionContainer getTypeById(String typeId) { - return fTypesMap.get(typeId); - } - - /* (non-Javadoc) - * @see org.apache.chemistry.opencmis.inmemory.TypeManager#getTypeByQueryName(java.lang.String) - */ - public TypeDefinition getTypeByQueryName(String typeQueryName) { - for (Entry entry : fTypesMap.entrySet()) { - if (entry.getValue().getTypeDefinition().getQueryName().equals(typeQueryName)) - return entry.getValue().getTypeDefinition(); - } - return null; - } - - /* (non-Javadoc) - * @see org.apache.chemistry.opencmis.inmemory.TypeManager#getTypeDefinitionList() - */ - public synchronized Collection getTypeDefinitionList() { - - List typeRoots = new ArrayList(); - // iterate types map and return a list collecting the root types: - for (TypeDefinitionContainer typeDef : fTypesMap.values()) { - if (typeDef.getTypeDefinition().getParentTypeId() == null) - typeRoots.add(typeDef); - } - - return typeRoots; - } - - /* (non-Javadoc) - * @see org.apache.chemistry.opencmis.inmemory.TypeManager#getRootTypes() - */ - public List getRootTypes() { - // just take first repository - List rootTypes = new ArrayList(); - - for (TypeDefinitionContainer type : fTypesMap.values()) - if (isRootType(type)) - rootTypes.add(type); - - return rootTypes; - } - - /** - * Initialize the type system with the given types. This list must not - * contain the CMIS default types. The default type are always contained by - * default. - * - * @param typesList - * list of types to add to the repository - * - */ - public void initTypeSystem(List typesList) { - - createCmisDefaultTypes(); - - // merge all types from the list and build the correct hierachy with - // children - // and property lists - if (null != typesList) { - for (TypeDefinition typeDef : typesList) - addTypeDefinition(typeDef); - } - - } - - /** - * Add a type to the type system. Add all properties from inherited types, - * add type to children of parent types. - * - * @param repositoryId - * repository to which the type is added - * @param cmisType - * new type to add - */ - public void addTypeDefinition(TypeDefinition cmisType) { - if (fTypesMap.containsKey(cmisType.getId())) - throw new RuntimeException("You cannot add type with id " + cmisType.getId() - + " because it already exists."); - - TypeDefinitionContainerImpl typeContainer = new TypeDefinitionContainerImpl(cmisType); - - if (!fTypesMap.containsKey(cmisType.getParentTypeId())) - throw new RuntimeException("Cannot add type, because parent with id " + cmisType.getParentTypeId() - + " does not exist."); - - // add new type to children of parent types - TypeDefinitionContainer parentTypeContainer = fTypesMap.get(cmisType.getParentTypeId()); - parentTypeContainer.getChildren().add(typeContainer); - - // recursively add inherited properties - Map> propDefs = typeContainer.getTypeDefinition().getPropertyDefinitions(); - addInheritedProperties(propDefs, parentTypeContainer.getTypeDefinition()); - - // add type to type map - fTypesMap.put(cmisType.getId(), typeContainer); - } - - /** - * Remove all types from the type system. After this call only the default - * CMIS types are present in the type system. Use this method with care, its - * mainly intended for unit tests - * - * @param repositoryId - */ - public void clearTypeSystem() { - fTypesMap.clear(); - createCmisDefaultTypes(); - } - - /* (non-Javadoc) - * @see org.apache.chemistry.opencmis.inmemory.TypeManager#getPropertyIdForQueryName(org.apache.chemistry.opencmis.commons.definitions.TypeDefinition, java.lang.String) - */ - public String getPropertyIdForQueryName(TypeDefinition typeDefinition, String propQueryName) { - for (PropertyDefinition pd : typeDefinition.getPropertyDefinitions().values()) { - if (pd.getQueryName().equals(propQueryName)) - return pd.getId(); - } - return null; - } - - private void addInheritedProperties(Map> propDefs, TypeDefinition typeDefinition) { - - if (null == typeDefinition) - return; - - if (null != typeDefinition.getPropertyDefinitions()) - addInheritedPropertyDefinitions(propDefs, typeDefinition.getPropertyDefinitions()); - // propDefs.putAll(typeDefinition.getPropertyDefinitions()); - - TypeDefinitionContainer parentTypeContainer = fTypesMap.get(typeDefinition.getParentTypeId()); - TypeDefinition parentType = (null == parentTypeContainer ? null : parentTypeContainer.getTypeDefinition()); - addInheritedProperties(propDefs, parentType); - } - - private void addInheritedPropertyDefinitions(Map> propDefs, - Map> superPropDefs) { - - for (Entry> superProp : superPropDefs.entrySet()) { - PropertyDefinition superPropDef = superProp.getValue(); - PropertyDefinition clone = clonePropertyDefinition(superPropDef); - ((AbstractPropertyDefinition) clone).setIsInherited(true); - propDefs.put(superProp.getKey(), clone); - } - } - - private void createCmisDefaultTypes() { - List typesList = DocumentTypeCreationHelper.createDefaultTypes(); - for (TypeDefinition typeDef : typesList) { - TypeDefinitionContainerImpl typeContainer = new TypeDefinitionContainerImpl(typeDef); - fTypesMap.put(typeDef.getId(), typeContainer); - } - } - - private static boolean isRootType(TypeDefinitionContainer c) { - if (c.getTypeDefinition().equals(InMemoryFolderTypeDefinition.getRootFolderType()) - || c.getTypeDefinition().equals(InMemoryDocumentTypeDefinition.getRootDocumentType()) - || c.getTypeDefinition().equals(InMemoryRelationshipTypeDefinition.getRootRelationshipType()) - || c.getTypeDefinition().equals(InMemoryPolicyTypeDefinition.getRootPolicyType())) - return true; - else - return false; - } - - private static PropertyDefinition clonePropertyDefinition(PropertyDefinition src) { - // use JAXB converter to easily clone a property definition - CmisPropertyDefinitionType tmp = Converter.convert(src); - PropertyDefinition clone = Converter.convert(tmp); - return clone; - } - - // private static PropertyDefinition - // clonePropertyDefinition2(PropertyDefinition src) - // throws IOException, ClassNotFoundException { - // ByteArrayOutputStream bout = new ByteArrayOutputStream(); - // ObjectOutputStream oout = new ObjectOutputStream(bout); - // oout.writeObject(src); - // byte[] bytes = bout.toByteArray(); - // - // ByteArrayInputStream bin = new ByteArrayInputStream(bytes); - // ObjectInputStream oin = new ObjectInputStream(bin); - // PropertyDefinition clone = (PropertyDefinition) oin.readObject(); - // return clone; - // } - -} +/* + * 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.chemistry.opencmis.inmemory; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition; +import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition; +import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer; +import org.apache.chemistry.opencmis.commons.impl.Converter; +import org.apache.chemistry.opencmis.commons.impl.dataobjects.AbstractPropertyDefinition; +import org.apache.chemistry.opencmis.commons.impl.dataobjects.TypeDefinitionContainerImpl; +import org.apache.chemistry.opencmis.commons.impl.jaxb.CmisPropertyDefinitionType; +import org.apache.chemistry.opencmis.inmemory.types.DocumentTypeCreationHelper; +import org.apache.chemistry.opencmis.inmemory.types.InMemoryDocumentTypeDefinition; +import org.apache.chemistry.opencmis.inmemory.types.InMemoryFolderTypeDefinition; +import org.apache.chemistry.opencmis.inmemory.types.InMemoryPolicyTypeDefinition; +import org.apache.chemistry.opencmis.inmemory.types.InMemoryRelationshipTypeDefinition; +import org.apache.chemistry.opencmis.server.support.TypeManager; + +/** + * Class that manages a type system for a repository types can be added, the + * inheritance can be managed and type can be retrieved for a given type id. + * + * @author Jens + * + */ +public class TypeManagerImpl implements TypeManager { + + /** + * map from repository id to a types map + */ + private Map fTypesMap = new HashMap(); + + /* (non-Javadoc) + * @see org.apache.chemistry.opencmis.inmemory.TypeManager#getTypeById(java.lang.String) + */ + public TypeDefinitionContainer getTypeById(String typeId) { + return fTypesMap.get(typeId); + } + + /* (non-Javadoc) + * @see org.apache.chemistry.opencmis.inmemory.TypeManager#getTypeByQueryName(java.lang.String) + */ + public TypeDefinition getTypeByQueryName(String typeQueryName) { + for (Entry entry : fTypesMap.entrySet()) { + if (entry.getValue().getTypeDefinition().getQueryName().equals(typeQueryName)) + return entry.getValue().getTypeDefinition(); + } + return null; + } + + /* (non-Javadoc) + * @see org.apache.chemistry.opencmis.inmemory.TypeManager#getTypeDefinitionList() + */ + public synchronized Collection getTypeDefinitionList() { + + List typeRoots = new ArrayList(); + // iterate types map and return a list collecting the root types: + for (TypeDefinitionContainer typeDef : fTypesMap.values()) { + if (typeDef.getTypeDefinition().getParentTypeId() == null) + typeRoots.add(typeDef); + } + + return typeRoots; + } + + /* (non-Javadoc) + * @see org.apache.chemistry.opencmis.inmemory.TypeManager#getRootTypes() + */ + public List getRootTypes() { + // just take first repository + List rootTypes = new ArrayList(); + + for (TypeDefinitionContainer type : fTypesMap.values()) + if (isRootType(type)) + rootTypes.add(type); + + return rootTypes; + } + + /** + * Initialize the type system with the given types. This list must not + * contain the CMIS default types. The default type are always contained by + * default. + * + * @param typesList + * list of types to add to the repository + * + */ + public void initTypeSystem(List typesList) { + + createCmisDefaultTypes(); + + // merge all types from the list and build the correct hierachy with + // children + // and property lists + if (null != typesList) { + for (TypeDefinition typeDef : typesList) + addTypeDefinition(typeDef); + } + + } + + /** + * Add a type to the type system. Add all properties from inherited types, + * add type to children of parent types. + * + * @param repositoryId + * repository to which the type is added + * @param cmisType + * new type to add + */ + public void addTypeDefinition(TypeDefinition cmisType) { + if (fTypesMap.containsKey(cmisType.getId())) + throw new RuntimeException("You cannot add type with id " + cmisType.getId() + + " because it already exists."); + + TypeDefinitionContainerImpl typeContainer = new TypeDefinitionContainerImpl(cmisType); + + if (!fTypesMap.containsKey(cmisType.getParentTypeId())) + throw new RuntimeException("Cannot add type, because parent with id " + cmisType.getParentTypeId() + + " does not exist."); + + // add new type to children of parent types + TypeDefinitionContainer parentTypeContainer = fTypesMap.get(cmisType.getParentTypeId()); + parentTypeContainer.getChildren().add(typeContainer); + + // recursively add inherited properties + Map> propDefs = typeContainer.getTypeDefinition().getPropertyDefinitions(); + addInheritedProperties(propDefs, parentTypeContainer.getTypeDefinition()); + + // add type to type map + fTypesMap.put(cmisType.getId(), typeContainer); + } + + /** + * Remove all types from the type system. After this call only the default + * CMIS types are present in the type system. Use this method with care, its + * mainly intended for unit tests + * + * @param repositoryId + */ + public void clearTypeSystem() { + fTypesMap.clear(); + createCmisDefaultTypes(); + } + + /* (non-Javadoc) + * @see org.apache.chemistry.opencmis.inmemory.TypeManager#getPropertyIdForQueryName(org.apache.chemistry.opencmis.commons.definitions.TypeDefinition, java.lang.String) + */ + public String getPropertyIdForQueryName(TypeDefinition typeDefinition, String propQueryName) { + for (PropertyDefinition pd : typeDefinition.getPropertyDefinitions().values()) { + if (pd.getQueryName().equals(propQueryName)) + return pd.getId(); + } + return null; + } + + private void addInheritedProperties(Map> propDefs, TypeDefinition typeDefinition) { + + if (null == typeDefinition) + return; + + if (null != typeDefinition.getPropertyDefinitions()) + addInheritedPropertyDefinitions(propDefs, typeDefinition.getPropertyDefinitions()); + // propDefs.putAll(typeDefinition.getPropertyDefinitions()); + + TypeDefinitionContainer parentTypeContainer = fTypesMap.get(typeDefinition.getParentTypeId()); + TypeDefinition parentType = (null == parentTypeContainer ? null : parentTypeContainer.getTypeDefinition()); + addInheritedProperties(propDefs, parentType); + } + + private void addInheritedPropertyDefinitions(Map> propDefs, + Map> superPropDefs) { + + for (Entry> superProp : superPropDefs.entrySet()) { + PropertyDefinition superPropDef = superProp.getValue(); + PropertyDefinition clone = clonePropertyDefinition(superPropDef); + ((AbstractPropertyDefinition) clone).setIsInherited(true); + propDefs.put(superProp.getKey(), clone); + } + } + + private void createCmisDefaultTypes() { + List typesList = DocumentTypeCreationHelper.createDefaultTypes(); + for (TypeDefinition typeDef : typesList) { + TypeDefinitionContainerImpl typeContainer = new TypeDefinitionContainerImpl(typeDef); + fTypesMap.put(typeDef.getId(), typeContainer); + } + } + + private static boolean isRootType(TypeDefinitionContainer c) { + if (c.getTypeDefinition().equals(InMemoryFolderTypeDefinition.getRootFolderType()) + || c.getTypeDefinition().equals(InMemoryDocumentTypeDefinition.getRootDocumentType()) + || c.getTypeDefinition().equals(InMemoryRelationshipTypeDefinition.getRootRelationshipType()) + || c.getTypeDefinition().equals(InMemoryPolicyTypeDefinition.getRootPolicyType())) + return true; + else + return false; + } + + private static PropertyDefinition clonePropertyDefinition(PropertyDefinition src) { + // use JAXB converter to easily clone a property definition + CmisPropertyDefinitionType tmp = Converter.convert(src); + PropertyDefinition clone = Converter.convert(tmp); + return clone; + } + + // private static PropertyDefinition + // clonePropertyDefinition2(PropertyDefinition src) + // throws IOException, ClassNotFoundException { + // ByteArrayOutputStream bout = new ByteArrayOutputStream(); + // ObjectOutputStream oout = new ObjectOutputStream(bout); + // oout.writeObject(src); + // byte[] bytes = bout.toByteArray(); + // + // ByteArrayInputStream bin = new ByteArrayInputStream(bytes); + // ObjectInputStream oin = new ObjectInputStream(bin); + // PropertyDefinition clone = (PropertyDefinition) oin.readObject(); + // return clone; + // } + +} Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/TypeManagerImpl.java ------------------------------------------------------------------------------ svn:eol-style = native