Commit 27a75808f14de41154b7a817599b004d88d86e8d

Authored by Alex Mukha
1 parent dfb90aa720
Exists in master

Transfer code from svn to gitlab.alfresco.com

Showing 461 changed files with 140356 additions and 0 deletions   Show diff stats

Too many changes.

To preserve performance only 100 of 461 files displayed.

... ... @@ -0,0 +1,252 @@
  1 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  2 + <modelVersion>4.0.0</modelVersion>
  3 + <artifactId>alfresco-data-model</artifactId>
  4 + <name>Alfresco Data model classes</name>
  5 + <parent>
  6 + <artifactId>alfresco-parent</artifactId>
  7 + <groupId>org.alfresco</groupId>
  8 + <version>5.2.1-SNAPSHOT</version>
  9 + <relativePath>../../pom.xml</relativePath>
  10 + </parent>
  11 +
  12 + <properties>
  13 + <!-- Files to exclude from SonarQube analysis -->
  14 + <sonar.exclusions>
  15 + source/java/org/alfresco/repo/search/impl/parsers/CMIS*er.java,
  16 + source/java/org/alfresco/repo/search/impl/parsers/FTSParser.java,
  17 + source/java/org/alfresco/repo/search/impl/parsers/FTSLexer.java
  18 + </sonar.exclusions>
  19 +
  20 + </properties>
  21 +
  22 + <build>
  23 + <plugins>
  24 + <plugin>
  25 + <groupId>org.jibx</groupId>
  26 + <artifactId>maven-jibx-plugin</artifactId>
  27 + <configuration>
  28 + <load>true</load>
  29 + <schemaBindingDirectory>${project.build.sourceDirectory}/org/alfresco/repo/dictionary</schemaBindingDirectory>
  30 + <includeSchemaBindings>
  31 + <includeSchemaBinding>m2binding.xml</includeSchemaBinding>
  32 + </includeSchemaBindings>
  33 + </configuration>
  34 + <executions>
  35 + <execution>
  36 + <id>bind-sources</id>
  37 + <goals>
  38 + <goal>bind</goal>
  39 + </goals>
  40 + </execution>
  41 + </executions>
  42 + </plugin>
  43 +
  44 + <!-- ACE-3329 Create _en.properties message files -->
  45 + <plugin>
  46 + <artifactId>maven-antrun-plugin</artifactId>
  47 + <executions>
  48 + <execution>
  49 + <id>duplicate-english-messages</id>
  50 + <phase>generate-resources</phase>
  51 + <goals>
  52 + <goal>run</goal>
  53 + </goals>
  54 + </execution>
  55 + </executions>
  56 + <configuration>
  57 + <target>
  58 + <copy todir="${project.build.outputDirectory}">
  59 + <fileset dir="${basedir}/config" includes="alfresco/messages/**/*.properties" />
  60 + <mapper type="regexp" from="^([^_]*).properties$" to="\1_en.properties"/>
  61 + </copy>
  62 + </target>
  63 + </configuration>
  64 + </plugin>
  65 + </plugins>
  66 +
  67 + <pluginManagement>
  68 + <plugins>
  69 + <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
  70 + <plugin>
  71 + <groupId>org.eclipse.m2e</groupId>
  72 + <artifactId>lifecycle-mapping</artifactId>
  73 + <version>1.0.0</version>
  74 + <configuration>
  75 + <lifecycleMappingMetadata>
  76 + <pluginExecutions>
  77 + <pluginExecution>
  78 + <pluginExecutionFilter>
  79 + <groupId>org.jibx</groupId>
  80 + <artifactId>
  81 + maven-jibx-plugin
  82 + </artifactId>
  83 + <versionRange>
  84 + [1.2.5,)
  85 + </versionRange>
  86 + <goals>
  87 + <goal>bind</goal>
  88 + </goals>
  89 + </pluginExecutionFilter>
  90 + <action>
  91 + <execute>
  92 + <runOnConfiguration>true</runOnConfiguration>
  93 + <runOnIncremental>true</runOnIncremental>
  94 + </execute>
  95 + </action>
  96 + </pluginExecution>
  97 + </pluginExecutions>
  98 + </lifecycleMappingMetadata>
  99 + </configuration>
  100 + </plugin>
  101 + </plugins>
  102 + </pluginManagement>
  103 + </build>
  104 +
  105 + <dependencies>
  106 + <dependency>
  107 + <groupId>org.alfresco</groupId>
  108 + <artifactId>alfresco-core</artifactId>
  109 + </dependency>
  110 + <!--
  111 + | provided dependencies (are not transitive and not included in webapps)
  112 + | see http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope
  113 + -->
  114 + <dependency>
  115 + <groupId>javax.servlet</groupId>
  116 + <artifactId>servlet-api</artifactId>
  117 + <scope>provided</scope>
  118 + </dependency>
  119 + <!--
  120 + | compile dependencies
  121 + -->
  122 + <dependency>
  123 + <groupId>jaxen</groupId>
  124 + <artifactId>jaxen</artifactId>
  125 + </dependency>
  126 + <dependency>
  127 + <groupId>org.jibx</groupId>
  128 + <artifactId>jibx-run</artifactId>
  129 + <version>${dependency.jibx.version}</version>
  130 + </dependency>
  131 +
  132 + <dependency>
  133 + <groupId>org.antlr</groupId>
  134 + <artifactId>antlr</artifactId>
  135 + <version>${dependency.antlr.version}</version>
  136 + </dependency>
  137 + <dependency>
  138 + <groupId>org.apache.chemistry.opencmis</groupId>
  139 + <artifactId>chemistry-opencmis-client-impl</artifactId>
  140 + <version>${dependency.opencmis.version}</version><!--$NO-MVN-MAN-VER$-->
  141 + <exclusions>
  142 + <exclusion>
  143 + <groupId>junit</groupId>
  144 + <artifactId>junit</artifactId>
  145 + </exclusion>
  146 + <exclusion>
  147 + <groupId>org.jvnet.staxex</groupId>
  148 + <artifactId>stax-ex</artifactId>
  149 + </exclusion>
  150 + </exclusions>
  151 + </dependency>
  152 + <dependency>
  153 + <groupId>org.apache.chemistry.opencmis</groupId>
  154 + <artifactId>chemistry-opencmis-commons-impl</artifactId>
  155 + <version>${dependency.opencmis.version}</version>
  156 + <exclusions>
  157 + <exclusion>
  158 + <groupId>com.sun.xml.messaging.saaj</groupId>
  159 + <artifactId>saaj-impl</artifactId>
  160 + </exclusion>
  161 + <exclusion>
  162 + <groupId>org.jvnet.staxex</groupId>
  163 + <artifactId>stax-ex</artifactId>
  164 + </exclusion>
  165 + </exclusions>
  166 + </dependency>
  167 + <!-- stax-ex is exluded from chemistry and included here, to avoid making constant requests to the repo -->
  168 + <!-- That's becausde the chemistry-pulled one does not specify a specific version -->
  169 + <dependency>
  170 + <groupId>org.jvnet.staxex</groupId>
  171 + <artifactId>stax-ex</artifactId>
  172 + <version>1.2</version>
  173 + </dependency>
  174 + <dependency>
  175 + <groupId>org.apache.chemistry.opencmis</groupId>
  176 + <artifactId>chemistry-opencmis-server-bindings</artifactId>
  177 + <version>${dependency.opencmis.version}</version>
  178 + <exclusions>
  179 + <exclusion>
  180 + <groupId>org.jvnet.staxex</groupId>
  181 + <artifactId>stax-ex</artifactId>
  182 + </exclusion>
  183 + </exclusions>
  184 + </dependency>
  185 + <dependency>
  186 + <groupId>org.codehaus.woodstox</groupId>
  187 + <artifactId>woodstox-core-asl</artifactId>
  188 + <version>4.2.0</version>
  189 + </dependency>
  190 + <!-- This is now deployed at:
  191 + | http://artifacts.alfresco.com/nexus/content/repositories/thirdparty/org/acegisecurity/acegi-security/0.8.2_patched/
  192 + -->
  193 + <dependency>
  194 + <groupId>org.acegisecurity</groupId>
  195 + <artifactId>acegi-security</artifactId>
  196 + <version>0.8.2_patched</version>
  197 + </dependency>
  198 + <dependency>
  199 + <groupId>org.alfresco</groupId>
  200 + <artifactId>alfresco-xmlfactory</artifactId>
  201 + </dependency>
  202 + <dependency>
  203 + <groupId>xpp3</groupId>
  204 + <artifactId>xpp3</artifactId>
  205 + <version>1.1.3_8</version>
  206 + </dependency>
  207 + <!-- Tika -->
  208 + <dependency>
  209 + <groupId>org.apache.tika</groupId>
  210 + <artifactId>tika-core</artifactId>
  211 + <version>${dependency.tika.version}</version>
  212 + </dependency>
  213 + <dependency>
  214 + <groupId>org.apache.tika</groupId>
  215 + <artifactId>tika-parsers</artifactId>
  216 + <version>${dependency.tika.version}</version>
  217 + </dependency>
  218 + <dependency>
  219 + <groupId>org.gagravarr</groupId>
  220 + <artifactId>vorbis-java-core</artifactId>
  221 + <version>${dependency.vorbisJava.version}</version>
  222 + </dependency>
  223 + <dependency>
  224 + <groupId>org.gagravarr</groupId>
  225 + <artifactId>vorbis-java-tika</artifactId>
  226 + <version>${dependency.vorbisJava.version}</version>
  227 + </dependency>
  228 + <dependency>
  229 + <groupId>com.googlecode.juniversalchardet</groupId>
  230 + <artifactId>juniversalchardet</artifactId>
  231 + <version>1.0.3</version>
  232 + </dependency>
  233 +
  234 + <!-- Test dependencies -->
  235 + <dependency>
  236 + <groupId>junit</groupId>
  237 + <artifactId>junit</artifactId>
  238 + <scope>test</scope>
  239 + </dependency>
  240 + <dependency>
  241 + <groupId>org.antlr</groupId>
  242 + <artifactId>gunit</artifactId>
  243 + <version>${dependency.antlr.version}</version>
  244 + <scope>test</scope>
  245 + </dependency>
  246 + <dependency>
  247 + <groupId>org.mockito</groupId>
  248 + <artifactId>mockito-all</artifactId>
  249 + <scope>test</scope>
  250 + </dependency>
  251 + </dependencies>
  252 +</project>
... ...
src/main/java/org/alfresco/encoding/TikaCharsetFinder.java
... ... @@ -0,0 +1,95 @@
  1 +/*
  2 + * #%L
  3 + * Alfresco Data model classes
  4 + * %%
  5 + * Copyright (C) 2005 - 2016 Alfresco Software Limited
  6 + * %%
  7 + * This file is part of the Alfresco software.
  8 + * If the software was purchased under a paid Alfresco license, the terms of
  9 + * the paid license agreement will prevail. Otherwise, the software is
  10 + * provided under the following open source license terms:
  11 + *
  12 + * Alfresco is free software: you can redistribute it and/or modify
  13 + * it under the terms of the GNU Lesser General Public License as published by
  14 + * the Free Software Foundation, either version 3 of the License, or
  15 + * (at your option) any later version.
  16 + *
  17 + * Alfresco is distributed in the hope that it will be useful,
  18 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20 + * GNU Lesser General Public License for more details.
  21 + *
  22 + * You should have received a copy of the GNU Lesser General Public License
  23 + * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
  24 + * #L%
  25 + */
  26 +package org.alfresco.encoding;
  27 +
  28 +import java.nio.charset.Charset;
  29 +import java.nio.charset.UnsupportedCharsetException;
  30 +
  31 +import org.apache.commons.logging.Log;
  32 +import org.apache.commons.logging.LogFactory;
  33 +import org.apache.tika.parser.txt.CharsetDetector;
  34 +import org.apache.tika.parser.txt.CharsetMatch;
  35 +
  36 +/**
  37 + * Uses Apache Tika as a fallback encoding detector
  38 + *
  39 + * @since 3.4
  40 + * @author Nick Burch
  41 + */
  42 +public class TikaCharsetFinder extends AbstractCharactersetFinder
  43 +{
  44 + private static Log logger = LogFactory.getLog(TikaCharsetFinder.class);
  45 +
  46 + private int threshold = 35;
  47 +
  48 + @Override
  49 + protected Charset detectCharsetImpl(byte[] buffer) throws Exception
  50 + {
  51 + CharsetDetector detector = new CharsetDetector();
  52 + detector.setText(buffer);
  53 + CharsetMatch match = detector.detect();
  54 +
  55 + if(match != null && match.getConfidence() > threshold)
  56 + {
  57 + try
  58 + {
  59 + return Charset.forName(match.getName());
  60 + }
  61 + catch(UnsupportedCharsetException e)
  62 + {
  63 + logger.info("Charset detected as " + match.getName() + " but the JVM does not support this, detection skipped");
  64 + }
  65 + }
  66 + return null;
  67 + }
  68 +
  69 + /**
  70 + * Return the matching threshold before we decide that
  71 + * what we detected is a good match. In the range
  72 + * 0-100.
  73 + */
  74 + public int getThreshold()
  75 + {
  76 + return threshold;
  77 + }
  78 +
  79 + /**
  80 + * At what point do we decide our match is good enough?
  81 + * In the range 0-100. If we don't reach the threshold,
  82 + * we'll decline, and either another finder will work on
  83 + * it or the fallback encoding will be taken.
  84 + */
  85 + public void setThreshold(int threshold)
  86 + {
  87 + if(threshold < 0)
  88 + threshold = 0;
  89 + if(threshold > 100)
  90 + threshold = 100;
  91 +
  92 + this.threshold = threshold;
  93 + }
  94 +
  95 +}
... ...
src/main/java/org/alfresco/model/ContentModel.java
... ... @@ -0,0 +1,470 @@
  1 +/*
  2 + * #%L
  3 + * Alfresco Data model classes
  4 + * %%
  5 + * Copyright (C) 2005 - 2016 Alfresco Software Limited
  6 + * %%
  7 + * This file is part of the Alfresco software.
  8 + * If the software was purchased under a paid Alfresco license, the terms of
  9 + * the paid license agreement will prevail. Otherwise, the software is
  10 + * provided under the following open source license terms:
  11 + *
  12 + * Alfresco is free software: you can redistribute it and/or modify
  13 + * it under the terms of the GNU Lesser General Public License as published by
  14 + * the Free Software Foundation, either version 3 of the License, or
  15 + * (at your option) any later version.
  16 + *
  17 + * Alfresco is distributed in the hope that it will be useful,
  18 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20 + * GNU Lesser General Public License for more details.
  21 + *
  22 + * You should have received a copy of the GNU Lesser General Public License
  23 + * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
  24 + * #L%
  25 + */
  26 +package org.alfresco.model;
  27 +
  28 +import org.alfresco.api.AlfrescoPublicApi;
  29 +import org.alfresco.service.namespace.NamespaceService;
  30 +import org.alfresco.service.namespace.QName;
  31 +
  32 +
  33 +/**
  34 + * Content Model Constants
  35 + */
  36 +@AlfrescoPublicApi
  37 +public interface ContentModel
  38 +{
  39 + //
  40 + // System Model Definitions
  41 + //
  42 +
  43 + // type for deleted nodes
  44 + static final QName TYPE_DELETED = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "deleted");
  45 + static final QName PROP_ORIGINAL_ID = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "originalId");
  46 +
  47 + // base type constants
  48 + static final QName TYPE_BASE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "base");
  49 + static final QName ASPECT_REFERENCEABLE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "referenceable");
  50 + static final QName PROP_STORE_PROTOCOL = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "store-protocol");
  51 + static final QName PROP_STORE_IDENTIFIER = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "store-identifier");
  52 + static final QName PROP_NODE_UUID = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "node-uuid");
  53 + static final QName PROP_NODE_DBID = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "node-dbid");
  54 +
  55 + // tag for incomplete nodes
  56 + static final QName ASPECT_INCOMPLETE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "incomplete");
  57 +
  58 + // tag for temporary nodes
  59 + static final QName ASPECT_TEMPORARY = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "temporary");
  60 +
  61 + // tag for nodes being formed (CIFS)
  62 + static final QName ASPECT_NO_CONTENT = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "noContent");
  63 +
  64 + // tag for nodes being formed (WebDAV)
  65 + static final QName ASPECT_WEBDAV_NO_CONTENT = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "webdavNoContent");
  66 +
  67 + static final QName ASPECT_WEBDAV_OBJECT = QName.createQName(NamespaceService.WEBDAV_MODEL_1_0_URI, "object");
  68 + static final QName PROP_DEAD_PROPERTIES = QName.createQName(NamespaceService.WEBDAV_MODEL_1_0_URI, "deadproperties");
  69 +
  70 + // tag for localized nodes
  71 + static final QName ASPECT_LOCALIZED = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "localized");
  72 + static final QName PROP_LOCALE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "locale");
  73 +
  74 + // tag for hidden nodes
  75 + static final QName ASPECT_HIDDEN = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "hidden");
  76 + static final QName PROP_VISIBILITY_MASK = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "clientVisibilityMask");
  77 + static final QName PROP_HIDDEN_FLAG = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "hiddenFlag");
  78 + static final QName PROP_CASCADE_HIDDEN = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "cascadeHidden");
  79 + static final QName PROP_CASCADE_INDEX_CONTROL = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "cascadeIndexControl");
  80 + static final QName PROP_CLIENT_CONTROLLED = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "clientControlled");
  81 +
  82 + // tag for soft delete (CIFS rename shuffle)
  83 + static final QName ASPECT_SOFT_DELETE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "softDelete");
  84 +
  85 + // archived nodes aspect constants
  86 + static final QName ASPECT_ARCHIVE_ROOT = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archiveRoot");
  87 + static final QName ASSOC_ARCHIVE_USER_LINK = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archiveUserLink");
  88 + static final QName TYPE_ARCHIVE_USER = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archiveUser");
  89 + static final QName ASSOC_ARCHIVED_LINK = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedLink");
  90 + static final QName ASPECT_ARCHIVED = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archived");
  91 + static final QName PROP_ARCHIVED_ORIGINAL_PARENT_ASSOC = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedOriginalParentAssoc");
  92 + static final QName PROP_ARCHIVED_BY = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedBy");
  93 + static final QName PROP_ARCHIVED_DATE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedDate");
  94 + static final QName PROP_ARCHIVED_ORIGINAL_OWNER = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedOriginalOwner");
  95 + static final QName ASPECT_ARCHIVED_ASSOCS = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archived-assocs");
  96 + static final QName PROP_ARCHIVED_PARENT_ASSOCS = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedParentAssocs");
  97 + static final QName PROP_ARCHIVED_CHILD_ASSOCS = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedChildAssocs");
  98 + static final QName PROP_ARCHIVED_SOURCE_ASSOCS = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedSourceAssocs");
  99 + static final QName PROP_ARCHIVED_TARGET_ASSOCS = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedTargetAssocs");
  100 + static final QName ASPECT_ARCHIVE_LOCKABLE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedLockable");
  101 + static final QName PROP_ARCHIVED_LOCK_OWNER = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedLockOwner");
  102 + static final QName PROP_ARCHIVED_LOCK_TYPE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedLockType");
  103 + static final QName PROP_ARCHIVED_LOCK_LIFETIME = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedLockLifetime");
  104 + static final QName PROP_ARCHIVED_EXPIRY_DATE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedExpiryDate");
  105 + static final QName PROP_ARCHIVED_LOCK_ADDITIONAL_INFO = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedLockAdditionalInfo");
  106 +
  107 +
  108 + // referenceable aspect constants
  109 + static final QName TYPE_REFERENCE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "reference");
  110 + static final QName PROP_REFERENCE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "reference");
  111 +
  112 + // container type constants
  113 + static final QName TYPE_CONTAINER = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "container");
  114 + /** child association type supported by {@link #TYPE_CONTAINER} */
  115 + static final QName ASSOC_CHILDREN =QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "children");
  116 +
  117 + // roots
  118 + static final QName ASPECT_ROOT = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "aspect_root");
  119 + static final QName TYPE_STOREROOT = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "store_root");
  120 +
  121 + // for internal use only: see ALF-13066 / ALF-12358
  122 + static final QName TYPE_LOST_AND_FOUND = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "lost_found");
  123 + static final QName ASSOC_LOST_AND_FOUND = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "lost_found");
  124 +
  125 + // descriptor properties
  126 + static final QName PROP_SYS_NAME = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "name");
  127 + static final QName PROP_SYS_VERSION_MAJOR = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "versionMajor");
  128 + static final QName PROP_SYS_VERSION_MINOR = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "versionMinor");
  129 + static final QName PROP_SYS_VERSION_REVISION = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "versionRevision");
  130 + static final QName PROP_SYS_VERSION_LABEL = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "versionLabel");
  131 + static final QName PROP_SYS_VERSION_BUILD = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "versionBuild");
  132 + static final QName PROP_SYS_VERSION_SCHEMA = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "versionSchema");
  133 + static final QName PROP_SYS_VERSION_EDITION = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "versionEdition");
  134 + static final QName PROP_SYS_VERSION_PROPERTIES = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "versionProperties");
  135 + static final QName PROP_SYS_LICENSE_MODE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "licenseMode");
  136 +
  137 + /**
  138 + * Aspect for nodes which are by default not deletable.
  139 + * @since 3.5.0
  140 + */
  141 + static final QName ASPECT_UNDELETABLE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "undeletable");
  142 +
  143 + /**
  144 + * Aspect for nodes which are by default not movable.
  145 + */
  146 + static final QName ASPECT_UNMOVABLE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "unmovable");
  147 +
  148 + /**
  149 + * Aspects marking nodes that are pending deletion.
  150 + * This aspect is applied to all nodes that are about to be deleted within a transaction.
  151 + * The aspect survives only for the duration of calls to delete nodes and their children.
  152 + */
  153 + static final QName ASPECT_PENDING_DELETE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "pendingDelete");
  154 +
  155 + /**
  156 + * Aspect marking nodes for pending set fixed ACL operation and it's contants
  157 + */
  158 + static final QName ASPECT_PENDING_FIX_ACL = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "pendingFixAcl");
  159 + static final QName PROP_SHARED_ACL_TO_REPLACE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "sharedAclToReplace");
  160 + static final QName PROP_INHERIT_FROM_ACL = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "inheritFromAcl");
  161 +
  162 + //
  163 + // Content Model Definitions
  164 + //
  165 +
  166 + // content management type constants
  167 + static final QName TYPE_CMOBJECT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "cmobject");
  168 + static final QName PROP_NAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "name");
  169 +
  170 + // copy aspect constants
  171 + static final QName ASPECT_COPIEDFROM = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "copiedfrom");
  172 + static final QName ASSOC_ORIGINAL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "original");
  173 +
  174 + // working copy aspect contants
  175 + static final QName ASPECT_CHECKED_OUT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "checkedOut");
  176 + static final QName ASSOC_WORKING_COPY_LINK = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "workingcopylink");
  177 + static final QName ASPECT_WORKING_COPY = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "workingcopy");
  178 + static final QName PROP_WORKING_COPY_OWNER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "workingCopyOwner");
  179 + static final QName PROP_WORKING_COPY_MODE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "workingCopyMode");
  180 + static final QName PROP_WORKING_COPY_LABEL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "workingCopyLabel");
  181 +
  182 + // content type and aspect constants
  183 + static final QName TYPE_CONTENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "content");
  184 + static final QName PROP_CONTENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "content");
  185 +
  186 + // title aspect
  187 + static final QName ASPECT_TITLED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "titled");
  188 + static final QName PROP_TITLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "title");
  189 + static final QName PROP_DESCRIPTION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "description");
  190 +
  191 + // auditable aspect
  192 + static final QName ASPECT_AUDITABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "auditable");
  193 + static final QName PROP_CREATED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "created");
  194 + static final QName PROP_CREATOR = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "creator");
  195 + static final QName PROP_MODIFIED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "modified");
  196 + static final QName PROP_MODIFIER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "modifier");
  197 + static final QName PROP_ACCESSED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "accessed");
  198 +
  199 + // author aspect
  200 + static final QName ASPECT_AUTHOR = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "author");
  201 + static final QName PROP_AUTHOR = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "author");
  202 +
  203 + // categories
  204 + static final QName TYPE_CATEGORYROOT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "category_root");
  205 + static final QName ASPECT_CLASSIFIABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "classifiable");
  206 + //static final QName ASPECT_CATEGORISATION = QName.createQName(NamespaceService.ALFRESCO_URI, "aspect_categorisation");
  207 + static final QName ASPECT_GEN_CLASSIFIABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "generalclassifiable");
  208 + static final QName TYPE_CATEGORY = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "category");
  209 + static final QName PROP_CATEGORIES = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "categories");
  210 + static final QName ASSOC_CATEGORIES = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "categories");
  211 + static final QName ASSOC_SUBCATEGORIES = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "subcategories");
  212 +
  213 + // tags - a subsection of categories
  214 + static final QName ASPECT_TAGGABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "taggable");
  215 + static final QName PROP_TAGS = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "taggable");
  216 +
  217 + // tagscope aspect
  218 + static final QName ASPECT_TAGSCOPE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "tagscope");
  219 + static final QName PROP_TAGSCOPE_CACHE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "tagScopeCache");
  220 + static final QName PROP_TAGSCOPE_SUMMARY = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "tagScopeSummary");
  221 +
  222 + // ratings
  223 + static final QName ASPECT_RATEABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "rateable");
  224 + static final QName ASPECT_LIKES_RATING_SCHEME_ROLLUPS = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "likesRatingSchemeRollups");
  225 + static final QName ASPECT_FIVESTAR_RATING_SCHEME_ROLLUPS = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "fiveStarRatingSchemeRollups");
  226 + static final QName ASSOC_RATINGS = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "ratings");
  227 + static final QName TYPE_RATING = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "rating");
  228 + static final QName PROP_RATING_SCORE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "ratingScore");
  229 + static final QName PROP_RATING_SCHEME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "ratingScheme");
  230 + static final QName PROP_RATED_AT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "ratedAt");
  231 +
  232 + // lock aspect
  233 + public final static QName ASPECT_LOCKABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "lockable");
  234 + public final static QName PROP_LOCK_OWNER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "lockOwner");
  235 + public final static QName PROP_LOCK_TYPE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "lockType");
  236 + public final static QName PROP_LOCK_LIFETIME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "lockLifetime");
  237 + public final static QName PROP_EXPIRY_DATE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "expiryDate");
  238 + public final static QName PROP_LOCK_ADDITIONAL_INFO = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "lockAdditionalInfo");
  239 +
  240 + // version aspect
  241 + static final QName ASPECT_VERSIONABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "versionable");
  242 + static final QName PROP_VERSION_LABEL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "versionLabel");
  243 + static final QName PROP_INITIAL_VERSION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "initialVersion");
  244 + static final QName PROP_AUTO_VERSION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "autoVersion");
  245 + static final QName PROP_AUTO_VERSION_PROPS = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "autoVersionOnUpdateProps");
  246 + static final QName PROP_VERSION_TYPE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "versionType");
  247 +
  248 + // folders
  249 + static final QName TYPE_SYSTEM_FOLDER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "systemfolder");
  250 + static final QName TYPE_FOLDER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "folder");
  251 + /** child association type supported by {@link #TYPE_FOLDER} */
  252 + static final QName ASSOC_CONTAINS = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "contains");
  253 +
  254 + // person
  255 + static final QName TYPE_PERSON = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "person");
  256 + static final QName PROP_USERNAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "userName");
  257 + static final QName PROP_HOMEFOLDER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "homeFolder");
  258 + static final QName PROP_FIRSTNAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "firstName");
  259 + static final QName PROP_LASTNAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "lastName");
  260 + static final QName PROP_EMAIL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "email");
  261 + static final QName PROP_ORGID = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "organizationId");
  262 + static final QName PROP_HOME_FOLDER_PROVIDER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "homeFolderProvider");
  263 + static final QName PROP_DEFAULT_HOME_FOLDER_PATH = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "defaultHomeFolderPath");
  264 + static final QName PROP_PRESENCEPROVIDER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "presenceProvider");
  265 + static final QName PROP_PRESENCEUSERNAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "presenceUsername");
  266 + static final QName PROP_ORGANIZATION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "organization");
  267 + static final QName PROP_JOBTITLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "jobtitle");
  268 + static final QName PROP_LOCATION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "location");
  269 + static final QName PROP_PERSONDESC = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "persondescription");
  270 + static final QName PROP_TELEPHONE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "telephone");
  271 + static final QName PROP_MOBILE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "mobile");
  272 + static final QName PROP_COMPANYADDRESS1 = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "companyaddress1");
  273 + static final QName PROP_COMPANYADDRESS2 = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "companyaddress2");
  274 + static final QName PROP_COMPANYADDRESS3 = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "companyaddress3");
  275 + static final QName PROP_COMPANYPOSTCODE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "companypostcode");
  276 + static final QName PROP_COMPANYTELEPHONE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "companytelephone");
  277 + static final QName PROP_COMPANYFAX = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "companyfax");
  278 + static final QName PROP_COMPANYEMAIL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "companyemail");
  279 + static final QName PROP_SKYPE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "skype");
  280 + static final QName PROP_GOOGLEUSERNAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "googleusername");
  281 + static final QName PROP_INSTANTMSG = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "instantmsg");
  282 + static final QName PROP_USER_STATUS = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "userStatus");
  283 + static final QName PROP_USER_STATUS_TIME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "userStatusTime");
  284 +
  285 + static final QName PROP_SIZE_CURRENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "sizeCurrent"); // system-maintained
  286 + static final QName PROP_SIZE_QUOTA = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "sizeQuota");
  287 +
  288 + static final QName PROP_EMAIL_FEED_ID = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "emailFeedId"); // system-maintained
  289 + static final QName PROP_EMAIL_FEED_DISABLED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "emailFeedDisabled");
  290 +
  291 + static final QName PROP_SUBSCRIPTIONS_PRIVATE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "subscriptionsPrivate");
  292 +
  293 + static final QName ASPECT_PERSON_DISABLED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "personDisabled");
  294 +
  295 + static final QName ASPECT_ANULLABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "annullable");
  296 +
  297 + static final QName ASSOC_AVATAR = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avatar");
  298 +
  299 + // Authority
  300 + static final QName TYPE_AUTHORITY = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "authority");
  301 +
  302 + static final QName TYPE_AUTHORITY_CONTAINER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "authorityContainer");
  303 + static final QName PROP_AUTHORITY_NAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "authorityName");
  304 + static final QName PROP_AUTHORITY_DISPLAY_NAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "authorityDisplayName");
  305 +
  306 + static final QName ASSOC_MEMBER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "member");
  307 +
  308 + // Zone
  309 + static final QName TYPE_ZONE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "zone");
  310 + static final QName ASSOC_IN_ZONE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "inZone");
  311 +
  312 + // Ownable aspect
  313 + static final QName ASPECT_OWNABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "ownable");
  314 + static final QName PROP_OWNER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "owner");
  315 +
  316 + // Templatable aspect
  317 + static final QName ASPECT_TEMPLATABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "templatable");
  318 + static final QName PROP_TEMPLATE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "template");
  319 +
  320 + // Webscriptable aspect
  321 + static final QName ASPECT_WEBSCRIPTABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "webscriptable");
  322 + static final QName PROP_WEBSCRIPT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "webscript");
  323 +
  324 + // Dictionary model
  325 + static final QName TYPE_DICTIONARY_MODEL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "dictionaryModel");
  326 + static final QName PROP_MODEL_NAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "modelName");
  327 + static final QName PROP_MODEL_DESCRIPTION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "modelDescription");
  328 + static final QName PROP_MODEL_AUTHOR = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "modelAuthor");
  329 + static final QName PROP_MODEL_PUBLISHED_DATE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "modelPublishedDate");
  330 + static final QName PROP_MODEL_VERSION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "modelVersion");
  331 + static final QName PROP_MODEL_ACTIVE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "modelActive");
  332 +
  333 + // referencing aspect
  334 + static final QName ASPECT_REFERENCING = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "referencing");
  335 + static final QName ASSOC_REFERENCES = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "references");
  336 +
  337 + // link object
  338 + static final QName TYPE_LINK = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "link");
  339 + static final QName PROP_LINK_DESTINATION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "destination");
  340 +
  341 + // attachable aspect
  342 + static final QName ASPECT_ATTACHABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "attachable");
  343 + static final QName ASSOC_ATTACHMENTS = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "attachments");
  344 +
  345 + // emailed aspect
  346 + static final QName ASPECT_EMAILED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "emailed");
  347 + static final QName PROP_SENTDATE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "sentdate");
  348 + static final QName PROP_ORIGINATOR = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "originator");
  349 + static final QName PROP_ADDRESSEE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "addressee");
  350 + static final QName PROP_ADDRESSEES = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "addressees");
  351 + static final QName PROP_SUBJECT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "subjectline");
  352 +
  353 + // countable aspect
  354 + static final QName ASPECT_COUNTABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "countable");
  355 + static final QName PROP_HITS = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "hits");
  356 + static final QName PROP_COUNTER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "counter");
  357 +
  358 + // References Node Aspect.
  359 + static final QName ASPECT_REFERENCES_NODE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "referencesnode");
  360 + static final QName PROP_NODE_REF = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "noderef");
  361 +
  362 + // Geographic Aspect.
  363 + static final QName ASPECT_GEOGRAPHIC = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "geographic");
  364 + static final QName PROP_LATITUDE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "latitude");
  365 + static final QName PROP_LONGITUDE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "longitude");
  366 +
  367 + // Multilingual Type
  368 + static final QName TYPE_MULTILINGUAL_CONTAINER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "mlContainer");
  369 + static final QName ASSOC_MULTILINGUAL_CHILD = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "mlChild");
  370 + static final QName ASPECT_MULTILINGUAL_DOCUMENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "mlDocument");
  371 + static final QName ASPECT_MULTILINGUAL_EMPTY_TRANSLATION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "mlEmptyTranslation");
  372 +
  373 + // Thumbnail Type
  374 + static final QName TYPE_THUMBNAIL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "thumbnail");
  375 + static final QName PROP_THUMBNAIL_NAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "thumbnailName");
  376 + static final QName PROP_CONTENT_PROPERTY_NAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "contentPropertyName");
  377 + static final QName PROP_AUTOMATIC_UPDATE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "automaticUpdate");
  378 +
  379 + // Thumbnail modification handling
  380 + public static final QName ASPECT_THUMBNAIL_MODIFICATION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "thumbnailModification");
  381 + public static final QName PROP_LAST_THUMBNAIL_MODIFICATION_DATA = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "lastThumbnailModification");
  382 +
  383 + // The below content entities can be used to manage 'failed' thumbnails. These are thumbnails that execute and fail with an
  384 + // exception that likely means a reattempt will fail. The failedThumbnailSource aspect can be used to mark a node as
  385 + // having tried and failed to use a particular thumbnail definition. This can then be checked and reattempts at that thumbnail
  386 + // can be prevented or throttled.
  387 + static final QName ASPECT_FAILED_THUMBNAIL_SOURCE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "failedThumbnailSource");
  388 + static final QName ASSOC_FAILED_THUMBNAIL= QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "failedThumbnail");
  389 + static final QName TYPE_FAILED_THUMBNAIL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "failedThumbnail");
  390 + static final QName PROP_FAILED_THUMBNAIL_TIME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "failedThumbnailTime");
  391 + static final QName PROP_FAILURE_COUNT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "failureCount");
  392 +
  393 + // Thumbnailed Aspect
  394 + /**
  395 + * This aspect type has been deprecated.
  396 + * From Alfresco 3.3 the {@link RenditionModel#ASPECT_RENDITIONED rn:renditioned}
  397 + * (which is a child of cm:thumbnailed) should be used instead.
  398 + */
  399 + @Deprecated
  400 + static final QName ASPECT_THUMBNAILED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "thumbnailed");
  401 + /**
  402 + * This association type has been deprecated.
  403 + * From Alfresco 3.3 this association no longer exists and has been replaced with
  404 + * {@link RenditionModel#ASSOC_RENDITION rn:rendition} association. From Alfresco
  405 + * 3.3 onwards a patch is executed at startup which renames
  406 + * the cm:thumbnails QName to rn:rendition in the database.
  407 + * <P/>
  408 + * This field has been updated to point to that association and references to this
  409 + * field should be updated to use the new field.
  410 + */
  411 + @Deprecated
  412 + static final QName ASSOC_THUMBNAILS = RenditionModel.ASSOC_RENDITION;
  413 +
  414 + // StoreSelector Aspect
  415 + static final QName ASPECT_STORE_SELECTOR = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "storeSelector");
  416 + static final QName PROP_STORE_NAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "storeName");
  417 +
  418 + // Preference Aspect
  419 + static final QName ASPECT_PREFERENCES = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "preferences");
  420 + static final QName PROP_PREFERENCE_VALUES = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "preferenceValues");
  421 + static final QName ASSOC_PREFERENCE_IMAGE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "preferenceImage");
  422 +
  423 + // Syndication Aspect
  424 + static final QName ASPECT_SYNDICATION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "syndication");
  425 + static final QName PROP_PUBLISHED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "published");
  426 + static final QName PROP_UPDATED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "updated");
  427 +
  428 + // Dublin core aspect
  429 + static final QName ASPECT_DUBLINCORE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "dublincore");
  430 +
  431 + //
  432 + // User Model Definitions
  433 + //
  434 +
  435 + static final String USER_MODEL_URI = "http://www.alfresco.org/model/user/1.0";
  436 + static final String USER_MODEL_PREFIX = "usr";
  437 +
  438 + static final QName TYPE_USER = QName.createQName(USER_MODEL_URI, "user");
  439 + static final QName PROP_USER_USERNAME = QName.createQName(USER_MODEL_URI, "username");
  440 + static final QName PROP_PASSWORD = QName.createQName(USER_MODEL_URI, "password");
  441 + static final QName PROP_PASSWORD_SHA256 = QName.createQName(USER_MODEL_URI, "password2");
  442 + static final QName PROP_PASSWORD_HASH = QName.createQName(USER_MODEL_URI, "passwordHash");
  443 + static final QName PROP_ENABLED = QName.createQName(USER_MODEL_URI, "enabled");
  444 + static final QName PROP_ACCOUNT_EXPIRES = QName.createQName(USER_MODEL_URI, "accountExpires");
  445 + static final QName PROP_ACCOUNT_EXPIRY_DATE = QName.createQName(USER_MODEL_URI, "accountExpiryDate");
  446 + static final QName PROP_CREDENTIALS_EXPIRE = QName.createQName(USER_MODEL_URI, "credentialsExpire");
  447 + static final QName PROP_CREDENTIALS_EXPIRY_DATE = QName.createQName(USER_MODEL_URI, "credentialsExpiryDate");
  448 + static final QName PROP_ACCOUNT_LOCKED = QName.createQName(USER_MODEL_URI, "accountLocked");
  449 + static final QName PROP_SALT = QName.createQName(USER_MODEL_URI, "salt");
  450 + static final QName PROP_HASH_INDICATOR = QName.createQName(USER_MODEL_URI, "hashIndicator");
  451 +
  452 + //
  453 + // Indexing control
  454 + //
  455 +
  456 + static final QName ASPECT_INDEX_CONTROL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "indexControl");
  457 + static final QName PROP_IS_INDEXED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "isIndexed");
  458 + static final QName PROP_IS_CONTENT_INDEXED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "isContentIndexed");
  459 +
  460 + // CMIS aspects
  461 + static final QName ASPECT_CMIS_UPDATE_CONTEXT = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "CMISUpdateContext");
  462 + static final QName PROP_GOT_FIRST_CHUNK = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "gotFirstChunk");
  463 + static final QName ASPECT_CMIS_CREATED_CHECKEDOUT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "cmisCreatedCheckedOut");
  464 +
  465 + // Cascade Update
  466 + static final QName ASPECT_CASCADE_UPDATE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "cascadeUpdate");
  467 + static final QName PROP_CASCADE_CRC = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "cascadeCRC");
  468 + static final QName PROP_CASCADE_TX = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "cascadeTx");
  469 +
  470 +}
... ...
src/main/java/org/alfresco/model/RenditionModel.java
... ... @@ -0,0 +1,49 @@
  1 +/*
  2 + * #%L
  3 + * Alfresco Data model classes
  4 + * %%
  5 + * Copyright (C) 2005 - 2016 Alfresco Software Limited
  6 + * %%
  7 + * This file is part of the Alfresco software.
  8 + * If the software was purchased under a paid Alfresco license, the terms of
  9 + * the paid license agreement will prevail. Otherwise, the software is
  10 + * provided under the following open source license terms:
  11 + *
  12 + * Alfresco is free software: you can redistribute it and/or modify
  13 + * it under the terms of the GNU Lesser General Public License as published by
  14 + * the Free Software Foundation, either version 3 of the License, or
  15 + * (at your option) any later version.
  16 + *
  17 + * Alfresco is distributed in the hope that it will be useful,
  18 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20 + * GNU Lesser General Public License for more details.
  21 + *
  22 + * You should have received a copy of the GNU Lesser General Public License
  23 + * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
  24 + * #L%
  25 + */
  26 +package org.alfresco.model;
  27 +
  28 +import org.alfresco.api.AlfrescoPublicApi;
  29 +import org.alfresco.service.namespace.NamespaceService;
  30 +import org.alfresco.service.namespace.QName;
  31 +
  32 +/**
  33 + * Rendition Model Constants
  34 + */
  35 +@AlfrescoPublicApi
  36 +public interface RenditionModel
  37 +{
  38 + static final QName ASPECT_RENDITION = QName.createQName(NamespaceService.RENDITION_MODEL_1_0_URI, "rendition");
  39 + static final QName ASPECT_HIDDEN_RENDITION = QName.createQName(NamespaceService.RENDITION_MODEL_1_0_URI, "hiddenRendition");
  40 + static final QName ASPECT_VISIBLE_RENDITION = QName.createQName(NamespaceService.RENDITION_MODEL_1_0_URI, "visibleRendition");
  41 +
  42 + static final QName ASPECT_RENDITIONED = QName.createQName(NamespaceService.RENDITION_MODEL_1_0_URI, "renditioned");
  43 + static final QName ASSOC_RENDITION = QName.createQName(NamespaceService.RENDITION_MODEL_1_0_URI, "rendition");
  44 +
  45 + /**
  46 + * @since 4.0.1
  47 + */
  48 + static final QName ASPECT_PREVENT_RENDITIONS = QName.createQName(NamespaceService.RENDITION_MODEL_1_0_URI, "preventRenditions");
  49 +}
... ...
src/main/java/org/alfresco/opencmis/CMISAccessControlFormatEnum.java
... ... @@ -0,0 +1,71 @@
  1 +/*
  2 + * #%L
  3 + * Alfresco Data model classes
  4 + * %%
  5 + * Copyright (C) 2005 - 2016 Alfresco Software Limited
  6 + * %%
  7 + * This file is part of the Alfresco software.
  8 + * If the software was purchased under a paid Alfresco license, the terms of
  9 + * the paid license agreement will prevail. Otherwise, the software is
  10 + * provided under the following open source license terms:
  11 + *
  12 + * Alfresco is free software: you can redistribute it and/or modify
  13 + * it under the terms of the GNU Lesser General Public License as published by
  14 + * the Free Software Foundation, either version 3 of the License, or
  15 + * (at your option) any later version.
  16 + *
  17 + * Alfresco is distributed in the hope that it will be useful,
  18 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20 + * GNU Lesser General Public License for more details.
  21 + *
  22 + * You should have received a copy of the GNU Lesser General Public License
  23 + * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
  24 + * #L%
  25 + */
  26 +package org.alfresco.opencmis;
  27 +
  28 +/**
  29 + * @author andyh
  30 + *
  31 + */
  32 +public enum CMISAccessControlFormatEnum implements EnumLabel
  33 +{
  34 + /**
  35 + * Report only CMIS basic permissions
  36 + */
  37 + CMIS_BASIC_PERMISSIONS("onlyBasicPermissions"),
  38 +
  39 + /**
  40 + * May report CMIS basic permission, repository specific permissions or a mixture of both.
  41 + */
  42 + REPOSITORY_SPECIFIC_PERMISSIONS("repositorySpecificPermissions");
  43 +
  44 + private String label;
  45 +
  46 + /**
  47 + * Construct
  48 + *
  49 + * @param label String
  50 + */
  51 + CMISAccessControlFormatEnum(String label)
  52 + {
  53 + this.label = label;
  54 + }
  55 +
  56 + /*
  57 + * (non-Javadoc)
  58 + *
  59 + * @see org.alfresco.cmis.EnumLabel#label()
  60 + */
  61 + public String getLabel()
  62 + {
  63 + return label;
  64 + }
  65 +
  66 + /**
  67 + * Factory for CMISAclPropagationEnum
  68 + */
  69 + public static EnumFactory<CMISAccessControlFormatEnum> FACTORY = new EnumFactory<CMISAccessControlFormatEnum>(CMISAccessControlFormatEnum.class, CMIS_BASIC_PERMISSIONS, true);