<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.account</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.account</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
</jaxb:globalBindings>
</xs:appinfo>
</xs:annotation>
-
- <xs:element name="bar-common-list">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation>
- AccountsCommonList contains information about one or more
- accounts. An instance of this type could be returned on
- index and search operations.
- </xs:documentation>
- <xs:appinfo>
- <hj:ignored/>
- </xs:appinfo>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="abstractCommonList">
- <xs:sequence>
- <xs:element name="bar-list-item" maxOccurs="unbounded">
- <xs:complexType>
- <xs:annotation>
- <xs:appinfo>
- <hj:ignored/>
- </xs:appinfo>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="screenName" type="xs:string" minOccurs="1"/>
- <xs:element name="personRefName" type="xs:string" minOccurs="1" />
- <xs:element name="email" type="xs:string" minOccurs="1" />
- <!-- uri to retrive collection object details -->
- <xs:element name="uri" type="xs:anyURI" minOccurs="1" />
- <xs:element name="csid" type="xs:string" minOccurs="1" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
+
<!-- accounts-common -->
<!-- convention: <servicename>-common -->
<xs:element name="accounts_common">
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<artifactId>org.collectionspace.services.account</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<artifactId>org.collectionspace.services.account</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.acquisition.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.acquisition</artifactId>\r
- <version>2.1-SNAPSHOT</version> \r
+ <version>2.2-SNAPSHOT</version> \r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.acquisition</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<artifactId>org.collectionspace.services.acquisition</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<artifactId>org.collectionspace.services.acquisition</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.authentication</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.authentication</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.authentication</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.authentication</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.authority</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.authority</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.authorization-mgt</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.authorization-mgt</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
import org.collectionspace.services.authorization.importer.AuthorizationSeed;
import org.collectionspace.services.authorization.importer.AuthorizationStore;
import org.collectionspace.services.authorization.storage.PermissionRoleUtil;
+import org.hibernate.exception.ConstraintViolationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
setupSpring();
status = beginTransaction("seedData");
AuthorizationSeed authzSeed = new AuthorizationSeed();
- authzSeed.seedPermissions(exportDir + File.separator + PERMISSION_FILE,
- exportDir + File.separator + PERMISSION_ROLE_FILE);
+ authzSeed.seedPermissions(authzGen.getDefaultPermissions(), authzGen.getDefaultPermissionRoles());
+// authzSeed.seedPermissions(exportDir + File.separator + PERMISSION_FILE,
+// exportDir + File.separator + PERMISSION_ROLE_FILE);
if (logger.isDebugEnabled()) {
logger.debug("authorization seeding completed ");
}
private void store() throws Exception {
AuthorizationStore authzStore = new AuthorizationStore();
for (Role role : authzGen.getDefaultRoles()) {
- authzStore.store(role);
+ try {
+ authzStore.store(role);
+ } catch (Exception e) {
+ //
+ // If the role already exists, read it in and replace the instance
+ // we're trying to import with the exist one. This will ensure that the rest
+ // of import uses the correct CSID.
+ if (e.getCause() instanceof ConstraintViolationException) {
+ Role existingRole = authzStore.getRoleByName(role.getRoleName(), role.getTenantId());
+ //
+ role = existingRole;
+ }
+ }
}
for (Permission perm : authzGen.getDefaultPermissions()) {
private Role cspaceAdminRole;
private Hashtable<String, TenantBindingType> tenantBindings =
new Hashtable<String, TenantBindingType>();
+ //
+ // Store the list of default roles, perms, and roleperms
+ //
+ private List<PermissionRole> allPermRoleList = null;
+ private List<Permission> allPermList;
+ private List<Role> allRoleList;
public void initialize(String tenantRootDirPath) throws Exception {
TenantBindingConfigReaderImpl tenantBindingConfigReader =
}
public List<Permission> getDefaultPermissions() {
- List<Permission> allPermList = new ArrayList<Permission>();
- allPermList.addAll(adminPermList);
- allPermList.addAll(readerPermList);
+ if (allPermList == null) {
+ allPermList = new ArrayList<Permission>();
+ allPermList.addAll(adminPermList);
+ allPermList.addAll(readerPermList);
+ }
return allPermList;
}
}
private Role buildTenantRole(String tenantId, String name, String type) {
- Role role = new Role();
- role.setCreatedAtItem(new Date());
- role.setDisplayName(name);
- role.setRoleName(ROLE_PREFIX +
- tenantId + "_" +
- role.getDisplayName());
- String id = UUID.randomUUID().toString();
- role.setCsid(id);
- role.setDescription("generated tenant "+type+" role");
- role.setTenantId(tenantId);
- role.setMetadataProtection(RoleClient.IMMUTABLE);
- role.setPermsProtection(RoleClient.IMMUTABLE);
+ Role role = null;
+
+ String roleName = ROLE_PREFIX + tenantId + "_" + name;
+ role = AuthorizationStore.getRoleByName(roleName, tenantId);
+ if (role == null) {
+ // the role doesn't exist already, so we need to create it
+ role = new Role();
+ role.setCreatedAtItem(new Date());
+ role.setDisplayName(name);
+ role.setRoleName(roleName);
+ String id = UUID.randomUUID().toString();
+ role.setCsid(id);
+ role.setDescription("generated tenant " + type + " role");
+ role.setTenantId(tenantId);
+ role.setMetadataProtection(RoleClient.IMMUTABLE);
+ role.setPermsProtection(RoleClient.IMMUTABLE);
+ }
+
return role;
}
public List<Role> getDefaultRoles() {
- List<Role> allRoleList = new ArrayList<Role>();
- allRoleList.addAll(adminRoles);
- allRoleList.addAll(readerRoles);
+ if (allRoleList == null) {
+ allRoleList = new ArrayList<Role>();
+ allRoleList.addAll(adminRoles);
+ allRoleList.addAll(readerRoles);
+ }
return allRoleList;
}
}
public List<PermissionRole> getDefaultPermissionRoles() {
- List<PermissionRole> allPermRoleList = new ArrayList<PermissionRole>();
- allPermRoleList.addAll(adminPermRoleList);
- allPermRoleList.addAll(readerPermRoleList);
+ if (allPermRoleList == null) {
+ allPermRoleList = new ArrayList<PermissionRole>();
+ allPermRoleList.addAll(adminPermRoleList);
+ allPermRoleList.addAll(readerPermRoleList);
+ }
return allPermRoleList;
}
public void exportDefaultRoles(String fileName) {
RolesList rList = new RolesList();
- List<Role> allRoleList = new ArrayList<Role>();
- allRoleList.addAll(adminRoles);
- allRoleList.addAll(readerRoles);
- rList.setRole(allRoleList);
+ rList.setRole(this.getDefaultRoles());
//
// Since it is missing the @XMLRootElement annotation, create a JAXBElement wrapper for the RoleList instance
// so we can have it marshalled it correctly.
public void exportDefaultPermissions(String fileName) {
PermissionsList pcList = new PermissionsList();
- List<Permission> allPermList = new ArrayList<Permission>();
- allPermList.addAll(adminPermList);
- allPermList.addAll(readerPermList);
- pcList.setPermission(allPermList);
+ pcList.setPermission(this.getDefaultPermissions());
org.collectionspace.services.authorization.ObjectFactory objectFactory =
new org.collectionspace.services.authorization.ObjectFactory();
toFile(pcList, PermissionsList.class,
public void exportDefaultPermissionRoles(String fileName) {
PermissionsRolesList psrsl = new PermissionsRolesList();
- List<PermissionRole> allPermRoleList = new ArrayList<PermissionRole>();
- allPermRoleList.addAll(adminPermRoleList);
- allPermRoleList.addAll(readerPermRoleList);
- psrsl.setPermissionRole(allPermRoleList);
+ psrsl.setPermissionRole(this.getDefaultAdminPermissionRoles());
toFile(psrsl, PermissionsRolesList.class,
fileName);
if (logger.isDebugEnabled()) {
import java.io.FileInputStream;
import java.io.InputStream;
+
import java.util.ArrayList;
import java.util.List;
+
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
-import org.collectionspace.services.authorization.perms.ActionType;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
+import org.springframework.security.acls.model.AlreadyExistsException;
import org.collectionspace.services.authorization.AuthZ;
import org.collectionspace.services.authorization.CSpaceAction;
import org.collectionspace.services.authorization.perms.EffectType;
*/
public void seedPermissions(PermissionsList permList, PermissionsRolesList permRoleList)
throws Exception {
- for (Permission p : permList.getPermission()) {
+
+ seedPermissions(permList.getPermission(), permRoleList.getPermissionRole());
+ }
+
+ /**
+ * seedPermissions seed permissions from given permisison and permission role lists
+ * @param permList
+ * @param permRoleList
+ * @throws Exception
+ */
+ public void seedPermissions(List<Permission> permList, List<PermissionRole> permRoleList)
+ throws Exception {
+ for (Permission p : permList) {
if (logger.isTraceEnabled()) {
logger.trace("adding permission for res=" + p.getResourceName() +
" for tenant=" + p.getTenantId());
}
- for (PermissionRole pr : permRoleList.getPermissionRole()) {
+ for (PermissionRole pr : permRoleList) {
if (pr.getPermission().get(0).getPermissionId().equals(p.getCsid())) {
addPermissionsForUri(p, pr);
}
}
}
}
-
+
/**
* addPermissionsForUri add permissions from given permission configuration
* with assumption that resource is of type URI
}
List<PermissionAction> permActions = perm.getAction();
for (PermissionAction permAction : permActions) {
- CSpaceAction action = URIResourceImpl.getAction(permAction.getName());
- URIResourceImpl uriRes = new URIResourceImpl(perm.getTenantId(),
- perm.getResourceName(), action);
- boolean grant = perm.getEffect().equals(EffectType.PERMIT) ? true : false;
- AuthZ.get().addPermissions(uriRes, principals.toArray(new String[0]), grant);
+ try {
+ CSpaceAction action = URIResourceImpl.getAction(permAction.getName());
+ URIResourceImpl uriRes = new URIResourceImpl(perm.getTenantId(),
+ perm.getResourceName(), action);
+ boolean grant = perm.getEffect().equals(EffectType.PERMIT) ? true : false;
+ AuthZ.get().addPermissions(uriRes, principals.toArray(new String[0]), grant);
+ } catch (PermissionException e) {
+ //
+ // Only throw the exception if it is *not* an already-exists exception
+ //
+ if (e.getCause() instanceof AlreadyExistsException == false) {
+ throw e;
+ }
+ }
}
}
import java.util.Date;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
+
+import org.collectionspace.services.authorization.Role;
+import org.collectionspace.services.authorization.perms.Permission;
+import org.collectionspace.services.authorization.storage.RoleStorageConstants;
import org.collectionspace.services.common.document.JaxbUtils;
import org.collectionspace.services.common.storage.jpa.JpaStorageUtils;
import org.slf4j.Logger;
*/
public class AuthorizationStore {
- private final Logger logger = LoggerFactory.getLogger(AuthorizationStore.class);
+ private static final Logger logger = LoggerFactory.getLogger(AuthorizationStore.class);
private final static String PERSISTENCE_UNIT = "org.collectionspace.services.authorization";
+ static public Role getRoleByName(String roleName, String tenantId) {
+ Role theRole = null;
+
+ try {
+ theRole = (Role)JpaStorageUtils.getEnityByKey(Role.class.getName(),
+ RoleStorageConstants.ROLE_NAME, roleName, tenantId);
+ } catch (Exception e) {
+ if (logger.isTraceEnabled() == true) {
+ logger.trace("Could not retrieve role with name =" + roleName, e);
+ }
+ }
+
+ return theRole;
+ }
+
+ static public Permission getPermission(Permission permission) {
+ Permission result = null;
+ //
+ // We need to perform a DB lookup to see if this permission already exists. If so,
+ // we should return the existing permission.
+ //
+ result = permission;
+
+ return result;
+ }
+
/**
* store the given entity
* @param entity
<parent>
<artifactId>org.collectionspace.services.main</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<groupId>org.collectionspace.services</groupId>
<parent>\r
<artifactId>org.collectionspace.services.authorization-mgt</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.authorization-mgt.service</artifactId>\r
<parent>\r
<artifactId>org.collectionspace.services.authorization</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<artifactId>org.collectionspace.services.main</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.authorization</artifactId>
<parent>\r
<artifactId>org.collectionspace.services.authorization</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<artifactId>org.collectionspace.services.authorization</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.authorization.service</artifactId>
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+
import org.collectionspace.services.authorization.CSpaceAction;
import org.collectionspace.services.authorization.spi.CSpacePermissionManager;
import org.collectionspace.services.authorization.CSpaceResource;
import org.collectionspace.services.authorization.PermissionException;
import org.collectionspace.services.authorization.PermissionNotFoundException;
+
import org.springframework.security.acls.model.AccessControlEntry;
import org.springframework.security.acls.model.AclDataAccessException;
import org.springframework.security.acls.model.AlreadyExistsException;
+ " oid=" + oid.toString()
+ " perm=" + p.toString(), aex);
}
- //keep going
+ throw new PermissionException("Permission already exists", aex);
} catch (Exception ex) {
String msg = "addpermissions(res,action,prin[], grant) failed,"
+ " oid=" + oid.toString()
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.batch.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.batch</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.batch</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.batch</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.main</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.batch</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.blob.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<groupId>org.collectionspace.services</groupId>
<parent>
<artifactId>org.collectionspace.services.blob</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.blob</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.blob</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.main</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<artifactId>org.collectionspace.services.blob</artifactId>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.blob</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
// fall into this block of code. Otherwise, we'll just call our parent to deal with a plain-old-blob payload.
//
if (derivativeTerm != null || getContentFlag == true) {
- BlobOutput blobOutput = NuxeoImageUtils.getBlobOutput(ctx, repoSession,
+ BlobOutput blobOutput = NuxeoImageUtils.getBlobOutput(ctx, repoSession, //FIXME: REM - If the blob's binary has been removed from the file system, then this call will return null. We need to at least spit out a meaningful error/warning message
blobRepositoryId, derivativeTerm, getContentFlag);
if (getContentFlag == true) {
blobInput.setContentStream(blobOutput.getBlobInputStream());
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.collectionobject.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.collectionobject.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.collectionobject</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.collectionobject</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.collectionobject</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version> \r
+ <version>2.2-SNAPSHOT</version> \r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.collectionobject.client.samples</artifactId>
<packaging>pom</packaging>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
<name>collectionobject.client.samples</name>
<modules>
<artifactId>org.collectionspace.services.collectionobject.client.sample</artifactId>
<packaging>jar</packaging>
<name>collectionobject.client.sample</name>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
<dependencies>
<!-- keep slf4j dependencies on the top -->
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.collectionobject</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<artifactId>org.collectionspace.services.main</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.common-test</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
<name>services.common-test</name>
<url>http://maven.apache.org</url>
<packaging>jar</packaging>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
package org.collectionspace.services.common;
-import org.collectionspace.services.authorization.Role;
import org.collectionspace.services.common.context.ServiceContext;
import org.collectionspace.services.common.document.DocumentFilter;
import org.collectionspace.services.common.document.DocumentHandler;
/**
* This document is a part of the source code and related artifacts
* for CollectionSpace, an open source collections management system
- * for museums and related institutions:
+ * for museums and related institutions.
* http://www.collectionspace.org
* http://wiki.collectionspace.org
* http://www.collectionspace.org\r
* http://wiki.collectionspace.org\r
*\r
- * Copyright © 2009 {Contributing Institution}\r
+ * Copyright © 2009 {Contributing Institution}.\r
*\r
* Licensed under the Educational Community License (ECL), Version 2.0.\r
* You may not use this file except in compliance with this License.\r
import java.util.Map;\r
\r
import org.nuxeo.runtime.api.Framework;\r
-import org.nuxeo.runtime.api.ServiceManager;\r
-import org.nuxeo.runtime.api.ServiceDescriptor;\r
+//import org.nuxeo.runtime.api.ServiceManager;\r
+//import org.nuxeo.runtime.api.ServiceDescriptor;\r
\r
//import org.nuxeo.common.utils.FileUtils;\r
\r
import org.nuxeo.ecm.core.repository.RepositoryManager;\r
\r
import org.nuxeo.ecm.core.repository.RepositoryService;\r
-import org.nuxeo.runtime.model.ComponentManager;\r
-import org.nuxeo.runtime.model.impl.ComponentManagerImpl;\r
+//import org.nuxeo.runtime.model.ComponentManager;\r
+//import org.nuxeo.runtime.model.impl.ComponentManagerImpl;\r
//import org.nuxeo.ecm.core.api.ejb.DocumentManagerBean;\r
//import org.nuxeo.ecm.core.storage.sql.RepositoryImpl;\r
//import org.nuxeo.ecm.core.storage.sql.Repository;\r
*/
public class SecurityUtils {
+ private static final String ADMIN_TENANT_ID = "0";
private static final Logger logger = LoggerFactory.getLogger(SecurityUtils.class);
public static final String URI_PATH_SEPARATOR = "/";
public static final int MIN_PASSWORD_LENGTH = 8;
* @return
*/
public static boolean isCSpaceAdmin() {
- String tenantId = AuthN.get().getCurrentTenantId();
+ boolean result = false;
+
+ String tenantId = null;
+ try {
+ tenantId = AuthN.get().getCurrentTenantId();
+ } catch (Throwable e) {
+ tenantId = ADMIN_TENANT_ID;
+ }
+
if (tenantId != null) {
- if (!"0".equals(tenantId)) {
- return false;
- } else {
- return true;
+ if (ADMIN_TENANT_ID.equals(tenantId) == true) {
+ result = true;
}
- } else {
- return false;
}
+
+ return result;
}
public static String createPasswordHash(String hashAlgorithm, String hashEncoding, String hashCharset, String username, String password)
* Licensed under the Educational Community License (ECL), Version 2.0.
* You may not use this file except in compliance with this License.
- * You may obtain a copy of the ECL 2.0 License at
+ * You may obtain a copy of the ECL 2.0 License at:
* https://source.collectionspace.org/collection-space/LICENSE.txt
import javax.persistence.NoResultException;
import javax.persistence.Persistence;
import javax.persistence.Query;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
import org.collectionspace.authentication.AuthN;
import org.collectionspace.services.authorization.AccountPermission;
import org.collectionspace.services.authorization.AccountValue;
-import org.collectionspace.services.authorization.AccountRole;
import org.collectionspace.services.authorization.AccountRoleRel;
import org.collectionspace.services.authorization.AuthZ;
import org.collectionspace.services.authorization.CSpaceResource;
-import org.collectionspace.services.authorization.PermissionRole;
import org.collectionspace.services.authorization.PermissionRoleRel;
import org.collectionspace.services.authorization.PermissionValue;
import org.collectionspace.services.authorization.URIResourceImpl;
public class JpaStorageUtils {
final private static Logger logger = LoggerFactory.getLogger(JpaStorageUtils.class);
+
/** The Constant CS_PERSISTENCE_UNIT. */
public final static String CS_PERSISTENCE_UNIT = "org.collectionspace.services";
private final static String CS_AUTHZ_PERSISTENCE_UNIT = "org.collectionspace.services.authorization";
public final static String CS_CURRENT_USER = "0";
+
+ // This is the column name for ID field of all the JPA objects
+ public static final String CSID_LABEL = "csid";
/**
* getEntity for given id and class
}
return result;
}
+
+ public static Object getEnityByKey(String entityName, String key, String value,
+ String tenantId) {
+ EntityManagerFactory emf = null;
+ EntityManager em = null;
+ Object o = null;
+
+ if (entityName == null) {
+ throw new IllegalArgumentException("entityName is required");
+ }
+ if (key == null) {
+ throw new IllegalArgumentException("id is required");
+ }
+ if (tenantId == null) {
+ throw new IllegalArgumentException("tenantId is required");
+ }
+ try {
+ StringBuilder queryStrBldr = new StringBuilder("SELECT a FROM ");
+ queryStrBldr.append(entityName);
+ queryStrBldr.append(" a");
+ queryStrBldr.append(" WHERE " + key + " = :" + key);
+ boolean csAdmin = SecurityUtils.isCSpaceAdmin();
+ if (!csAdmin) {
+ queryStrBldr.append(" AND tenantId = :tenantId");
+ }
+ emf = getEntityManagerFactory();
+ em = emf.createEntityManager();
+ String queryStr = queryStrBldr.toString(); //for debugging
+ Query q = em.createQuery(queryStr);
+ q.setParameter(key, value);
+ if (!csAdmin) {
+ q.setParameter("tenantId", tenantId);
+ }
+ o = q.getSingleResult();
+ } catch (NoResultException nre) {
+ if (em != null && em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ if (logger.isDebugEnabled()) {
+ logger.debug("Could not find entity with key ={" + key + "=" + value + "}", nre);
+ }
+ //returns null
+ } catch (Exception e) {
+ if (em != null && em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ if (logger.isDebugEnabled()) {
+ logger.debug("could not find entity(2) with id=" + key, e);
+ }
+ //returns null
+ } finally {
+ if (em != null) {
+ releaseEntityManagerFactory(emf);
+ }
+ }
+
+ return o;
+ }
+ public static Object getEntity(String entityName, String id,
+ String tenantId) {
+ return getEnityByKey(entityName, CSID_LABEL, id, tenantId);
+ }
+
/**
* getEntity
* @param entityName fully qualified entity name
* @param tenantId
* @return null if entity is not found
*/
- public static Object getEntity(String entityName, String id,
+ @Deprecated
+ public static Object oldgetEntity(String entityName, String id,
String tenantId) {
EntityManagerFactory emf = null;
EntityManager em = null;
*/
package org.collectionspace.services.nuxeo.client.java;
+import java.util.ArrayList;
import java.util.Hashtable;
+import java.util.Iterator;
import java.util.List;
import java.util.UUID;
return domainId;
}
+ /*
+ * Returns the workspaces root directory for a given domain.
+ */
+ private DocumentModel getWorkspacesRoot(RepositoryInstance repoSession,
+ String domainName) throws Exception {
+ DocumentModel result = null;
+
+ String domainPath = "/" + domainName;
+ DocumentRef parentDocRef = new PathRef(domainPath);
+ DocumentModelList domainChildrenList = repoSession.getChildren(
+ parentDocRef);
+ Iterator<DocumentModel> witer = domainChildrenList.iterator();
+ while (witer.hasNext()) {
+ DocumentModel childNode = witer.next();
+ if (NuxeoUtils.Workspaces.equalsIgnoreCase(childNode.getName())) {
+ result = childNode;
+ logger.trace("Found workspaces directory at: " + result.getPathAsString());
+ break;
+ }
+ }
+
+ if (result == null) {
+ throw new ClientException("Could not find workspace root directory in: "
+ + domainPath);
+ }
+
+ return result;
+ }
+
/* (non-Javadoc)
* @see org.collectionspace.services.common.repository.RepositoryClient#createWorkspace(java.lang.String, java.lang.String)
*/
String workspaceId = null;
try {
repoSession = getRepositorySession();
- String parentDocRefPath = "/" + domainName + "/" + NuxeoUtils.Workspaces;
- DocumentRef parentDocRef = new PathRef(
- "/" + domainName
- + "/" + NuxeoUtils.Workspaces);
- if (logger.isDebugEnabled()) {
- logger.debug("Fetching "+NuxeoUtils.Workspaces+", path=" + parentDocRefPath
- + " docRef:" + parentDocRef.toString());
- }
- DocumentModel parentDoc = null;
- try {
- parentDoc = repoSession.getDocument(parentDocRef);
- } catch(ClientException ce) {
- logger.error("Failed to get "+NuxeoUtils.Workspaces+", path=" + parentDocRefPath
- + " docRef:" + parentDocRef.toString());
- // try again for debugging
- parentDoc = repoSession.getDocument(parentDocRef);
- //throw ce;
- }
+ DocumentModel parentDoc = getWorkspacesRoot(repoSession, domainName);
DocumentModel doc = repoSession.createDocumentModel(parentDoc.getPathAsString(),
- workspaceName, "Workspace");
+ workspaceName, NuxeoUtils.WORKSPACE_DOCUMENT_TYPE);
doc.setPropertyValue("dc:title", workspaceName);
doc.setPropertyValue("dc:description", "A CollectionSpace workspace for "
+ workspaceName);
workspaceId = doc.getId();
repoSession.save();
if (logger.isDebugEnabled()) {
- logger.debug("created workspace name=" + workspaceName
+ logger.debug("Created workspace name=" + workspaceName
+ " id=" + workspaceId);
}
} catch (Exception e) {
// Base document type in Nuxeo is "Document"
//
public static final String BASE_DOCUMENT_TYPE = "Document";
-// public static final String WORKSPACES = "workspaces";
- public static final String Workspaces = "Workspaces";
+ public static final String WORKSPACE_DOCUMENT_TYPE = "Workspace";
+ public static final String Workspaces = "Workspaces";
+ public static final String workspaces = "workspaces"; // to make it easier to migrate older versions of the CollectionSpace services -i.e., pre v2.0.
+
// Regular expressions pattern for identifying valid ORDER BY clauses.
// FIXME: Currently supports only USASCII word characters in field names.
//private static final String ORDER_BY_CLAUSE_REGEX = "\\w+(_\\w+)?:\\w+( ASC| DESC)?(, \\w+(_\\w+)?:\\w+( ASC| DESC)?)*";
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.contact.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.contact</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.contact</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.contact</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.main</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.contact</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.dimension.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.dimension</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.dimension</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.dimension</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.dimension</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.group.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.group</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.group</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.group</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.main</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.group</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.id</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.id</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<dependency>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.id.service</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
<scope>test</scope>
<type>jar</type>
</dependency>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.id</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.main</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.id</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.imports.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.imports</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.imports</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.main</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.imports</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.intake.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<artifactId>org.collectionspace.services.intake</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.intake</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<artifactId>org.collectionspace.services.intake</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.intake</artifactId> \r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.loanin.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.loanin</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.loanin</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.loanin</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.main</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.loanin</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.loanout.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.loanout</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.loanout</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.loanout</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.main</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.loanout</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.location.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.location</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.location</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.location</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.location</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.media.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.media</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.media</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.media</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.main</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.media</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.movement.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.movement</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.movement</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.movement</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.main</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.movement</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.note.3rdparty</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.note</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<artifactId>org.collectionspace.services.note</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.note</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<artifactId>org.collectionspace.services.note</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.objectexit.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.objectexit</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.objectexit</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.objectexit</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.main</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.objectexit</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.organization.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.organization</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.organization</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<artifactId>org.collectionspace.services.organization</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.organization.client.samples</artifactId>\r
<packaging>pom</packaging>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
<name>organization.client.samples</name>\r
\r
<modules>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.organization.client.sample</artifactId>\r
<packaging>jar</packaging>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
<name>organization.client.sample</name>\r
\r
<dependencies>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.organization</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.person.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.person</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.person</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.person</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<dependency>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.person.jaxb</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</dependency>\r
<dependency>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.client</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</dependency>\r
<dependency>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.person.client</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</dependency>\r
</dependencies>\r
\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.person</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.query</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.relation.3rdparty</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<artifactId>org.collectionspace.services.relation</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.relation</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.relation</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.report.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<artifactId>org.collectionspace.services.report</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.report</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<artifactId>org.collectionspace.services.report</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.report</artifactId> \r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<artifactId>org.collectionspace.services.sdk</artifactId>\r
<packaging>pom</packaging>\r
<name>services.sdk</name>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
\r
<distributionManagement>\r
<repository>\r
<artifactId>org.collectionspace.services.client.sample</artifactId>\r
<packaging>jar</packaging>\r
<name>client.sample</name>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
\r
<dependencies>\r
<dependency>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.collectionobject.client</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</dependency>\r
<dependency>\r
<groupId>org.slf4j</groupId>\r
<parent>\r
<artifactId>org.collectionspace.services.security</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.taxonomy.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.taxonomy</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.taxonomy</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.taxonomy</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.main</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.taxonomy</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.vocabulary.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.vocabulary</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.vocabulary</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.vocabulary</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<artifactId>org.collectionspace.services.main</artifactId>\r
<groupId>org.collectionspace.services</groupId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.vocabulary.client.sample</artifactId>\r
<packaging>jar</packaging>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
<name>vocabulary.client.sample</name>\r
\r
<dependencies>\r
<parent>\r
<groupId>org.collectionspace.services</groupId>\r
<artifactId>org.collectionspace.services.vocabulary</artifactId>\r
- <version>2.1-SNAPSHOT</version>\r
+ <version>2.2-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.workflow.3rdparty</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<groupId>org.collectionspace.services</groupId>
<parent>
<artifactId>org.collectionspace.services.workflow</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.workflow</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>org.collectionspace.services.workflow</artifactId>
<groupId>org.collectionspace.services</groupId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.main</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.collectionspace.services</groupId>
<artifactId>org.collectionspace.services.workflow</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>