Loading src/main/java/com/inteligr8/alfresco/acs/AcsPublicRestApi.java +7 −10 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import com.inteligr8.alfresco.acs.api.SharedLinksApi; import com.inteligr8.alfresco.acs.api.SitesApi; import com.inteligr8.alfresco.acs.api.TagsApi; import com.inteligr8.alfresco.acs.api.TrashcanApi; import com.inteligr8.alfresco.acs.api.V0Api; import com.inteligr8.alfresco.acs.api.VersionsApi; import com.inteligr8.rs.ClientConfiguration; Loading @@ -41,11 +42,7 @@ public abstract class AcsPublicRestApi { public ActivitiesApi getActivitiesApi() { return this.getApi(ActivitiesApi.class); } /* v7 public AspectsApi getAspectsApi() { return this.getApi(AspectsApi.class); } */ public AuditApi getAuditApi() { return this.getApi(AuditApi.class); } Loading Loading @@ -125,13 +122,13 @@ public abstract class AcsPublicRestApi { public TrashcanApi getTrashcanApi() { return this.getApi(TrashcanApi.class); } /* public TypesApi getTypesApi() { return this.getApi(TypesApi.class); } */ public VersionsApi getVersionsApi() { return this.getApi(VersionsApi.class); } public V0Api getV0Api() { return this.getApi(V0Api.class); } } src/main/java/com/inteligr8/alfresco/acs/api/V0Api.java 0 → 100755 +92 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.acs.api; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import com.inteligr8.alfresco.acs.model.v0.AssociationInfo; import com.inteligr8.alfresco.acs.model.v0.ClassInfo; import com.inteligr8.alfresco.acs.model.v0.MimeTypesData; import com.inteligr8.alfresco.acs.model.v0.PropertyInfo; import com.inteligr8.alfresco.acs.model.v0.ServerData; @Path("/service/api") public interface V0Api { @GET @Path("/server") @Produces({ "application/json" }) public ServerData getServer(); @GET @Path("/mimetypes/descriptions") @Produces({ "application/json" }) public MimeTypesData getMimeTypes(); @GET @Path("/defclasses") @Produces({ "application/json" }) public List<ClassInfo> getClasses( @QueryParam("cf") String classFilter, @QueryParam("nsp") String namespacePrefix, @QueryParam("n") String name); @GET @Path("/defclasses/{classPrefix}/{classLocalName}") @Produces({ "application/json" }) public ClassInfo getClass( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName); @GET @Path("/defclasses/{classPrefix}/{classLocalName}/subclasses") @Produces({ "application/json" }) public List<ClassInfo> getClassSubclasses( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName); @GET @Path("/defclasses/{classPrefix}/{classLocalName}/associations") @Produces({ "application/json" }) public List<AssociationInfo> getClassAssociations( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName); @GET @Path("/defclasses/{classPrefix}/{classLocalName}/association/{assocPrefix}/{assocLocalName}") @Produces({ "application/json" }) public AssociationInfo getClassAssociation( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName, @PathParam("assocPrefix") String assocPrefix, @PathParam("assocLocalName") String assocLocalName); @GET @Path("/defclasses/{classPrefix}/{classLocalName}/properties") @Produces({ "application/json" }) public List<PropertyInfo> getClassProperties( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName); @GET @Path("/defclasses/{classPrefix}/{classLocalName}/property/{propPrefix}/{propLocalName}") @Produces({ "application/json" }) public PropertyInfo getClassProperty( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName, @PathParam("propPrefix") String propPrefix, @PathParam("propLocalName") String propLocalName); @GET @Path("/properties") @Produces({ "application/json" }) public List<PropertyInfo> getProperties( @QueryParam("nsp") String namespacePrefix, @QueryParam("name") String name, @QueryParam("type") String dataType); } src/main/java/com/inteligr8/alfresco/acs/model/v0/AssociationInfo.java 0 → 100755 +106 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.acs.model.v0; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; @JsonIgnoreProperties(ignoreUnknown = true) public class AssociationInfo extends NamedObject { @JsonProperty("isChildAssociation") private boolean childAssociation; @JsonProperty("protected") private boolean protected_; @JsonProperty private boolean duplicateChildNameAllowed; @JsonProperty private EndpointInfo source; @JsonProperty private EndpointInfo target; public boolean isChildAssociation() { return childAssociation; } public void setChildAssociation(boolean childAssociation) { this.childAssociation = childAssociation; } public boolean isProtected() { return protected_; } public void setProtected(boolean protected_) { this.protected_ = protected_; } public boolean isDuplicateChildNameAllowed() { return duplicateChildNameAllowed; } public void setDuplicateChildNameAllowed(boolean duplicateChildNameAllowed) { this.duplicateChildNameAllowed = duplicateChildNameAllowed; } public EndpointInfo getSource() { return source; } public void setSource(EndpointInfo source) { this.source = source; } public EndpointInfo getTarget() { return target; } public void setTarget(EndpointInfo target) { this.target = target; } @JsonIgnoreProperties(ignoreUnknown = true) public static class EndpointInfo { @JsonProperty("class") private String className; @JsonProperty private boolean mandatory; @JsonProperty private boolean many; public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public boolean isMandatory() { return mandatory; } public void setMandatory(boolean mandatory) { this.mandatory = mandatory; } public boolean isMany() { return many; } public void setMany(boolean many) { this.many = many; } } } src/main/java/com/inteligr8/alfresco/acs/model/v0/ClassInfo.java 0 → 100755 +135 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.acs.model.v0; import java.util.Map; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; @JsonIgnoreProperties(ignoreUnknown = true) public class ClassInfo extends NamedObject { @JsonProperty private boolean isAspect; @JsonProperty private boolean isContainer; @JsonProperty private String description; @JsonProperty private ParentInfo parent; @JsonProperty private Map<String, AspectInfo> defaultAspects; @JsonProperty private Map<String, PropertyInfo> properties; @JsonProperty private Map<String, AssociationInfo> associations; @JsonProperty("childassociations") private Map<String, AssociationInfo> childAssociations; private Object syncAssocs = new Object(); private boolean correctedAssocs = false; private Object syncChildAssocs = new Object(); private boolean correctedChildAssocs = false; public boolean isAspect() { return isAspect; } public void setAspect(boolean isAspect) { this.isAspect = isAspect; } public boolean isContainer() { return isContainer; } public void setContainer(boolean isContainer) { this.isContainer = isContainer; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public ParentInfo getParent() { return parent; } public void setParent(ParentInfo parent) { this.parent = parent; } public Map<String, AspectInfo> getDefaultAspects() { return defaultAspects; } public void setDefaultAspects(Map<String, AspectInfo> defaultAspects) { this.defaultAspects = defaultAspects; } public Map<String, PropertyInfo> getProperties() { return properties; } public void setProperties(Map<String, PropertyInfo> properties) { this.properties = properties; } public Map<String, AssociationInfo> getAssociations() { synchronized (this.syncAssocs) { if (!this.correctedAssocs) for (AssociationInfo assoc : this.associations.values()) assoc.setChildAssociation(false); this.correctedAssocs = true; } return associations; } public void setAssociations(Map<String, AssociationInfo> associations) { synchronized (this.syncAssocs) { this.associations = associations; this.correctedAssocs = false; } } public Map<String, AssociationInfo> getChildAssociations() { synchronized (this.syncChildAssocs) { if (!this.correctedChildAssocs) for (AssociationInfo assoc : this.childAssociations.values()) assoc.setChildAssociation(false); this.correctedChildAssocs = true; } return childAssociations; } public void setChildAssociations(Map<String, AssociationInfo> childAssociations) { synchronized (this.syncChildAssocs) { this.childAssociations = childAssociations; this.correctedChildAssocs = false; } } @JsonIgnoreProperties(ignoreUnknown = true) public static class ParentInfo extends NamedObject {} @JsonIgnoreProperties(ignoreUnknown = true) public static class AspectInfo extends NamedObject {} } src/main/java/com/inteligr8/alfresco/acs/model/v0/ConstraintInfo.java 0 → 100755 +34 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.acs.model.v0; import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; @JsonIgnoreProperties(ignoreUnknown = true) public class ConstraintInfo { @JsonProperty private String type; @JsonProperty private List<Map<String, String>> parameters; public String getType() { return type; } public void setType(String type) { this.type = type; } public List<Map<String, String>> getParameters() { return parameters; } public void setParameters(List<Map<String, String>> parameters) { this.parameters = parameters; } } Loading
src/main/java/com/inteligr8/alfresco/acs/AcsPublicRestApi.java +7 −10 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import com.inteligr8.alfresco.acs.api.SharedLinksApi; import com.inteligr8.alfresco.acs.api.SitesApi; import com.inteligr8.alfresco.acs.api.TagsApi; import com.inteligr8.alfresco.acs.api.TrashcanApi; import com.inteligr8.alfresco.acs.api.V0Api; import com.inteligr8.alfresco.acs.api.VersionsApi; import com.inteligr8.rs.ClientConfiguration; Loading @@ -41,11 +42,7 @@ public abstract class AcsPublicRestApi { public ActivitiesApi getActivitiesApi() { return this.getApi(ActivitiesApi.class); } /* v7 public AspectsApi getAspectsApi() { return this.getApi(AspectsApi.class); } */ public AuditApi getAuditApi() { return this.getApi(AuditApi.class); } Loading Loading @@ -125,13 +122,13 @@ public abstract class AcsPublicRestApi { public TrashcanApi getTrashcanApi() { return this.getApi(TrashcanApi.class); } /* public TypesApi getTypesApi() { return this.getApi(TypesApi.class); } */ public VersionsApi getVersionsApi() { return this.getApi(VersionsApi.class); } public V0Api getV0Api() { return this.getApi(V0Api.class); } }
src/main/java/com/inteligr8/alfresco/acs/api/V0Api.java 0 → 100755 +92 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.acs.api; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import com.inteligr8.alfresco.acs.model.v0.AssociationInfo; import com.inteligr8.alfresco.acs.model.v0.ClassInfo; import com.inteligr8.alfresco.acs.model.v0.MimeTypesData; import com.inteligr8.alfresco.acs.model.v0.PropertyInfo; import com.inteligr8.alfresco.acs.model.v0.ServerData; @Path("/service/api") public interface V0Api { @GET @Path("/server") @Produces({ "application/json" }) public ServerData getServer(); @GET @Path("/mimetypes/descriptions") @Produces({ "application/json" }) public MimeTypesData getMimeTypes(); @GET @Path("/defclasses") @Produces({ "application/json" }) public List<ClassInfo> getClasses( @QueryParam("cf") String classFilter, @QueryParam("nsp") String namespacePrefix, @QueryParam("n") String name); @GET @Path("/defclasses/{classPrefix}/{classLocalName}") @Produces({ "application/json" }) public ClassInfo getClass( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName); @GET @Path("/defclasses/{classPrefix}/{classLocalName}/subclasses") @Produces({ "application/json" }) public List<ClassInfo> getClassSubclasses( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName); @GET @Path("/defclasses/{classPrefix}/{classLocalName}/associations") @Produces({ "application/json" }) public List<AssociationInfo> getClassAssociations( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName); @GET @Path("/defclasses/{classPrefix}/{classLocalName}/association/{assocPrefix}/{assocLocalName}") @Produces({ "application/json" }) public AssociationInfo getClassAssociation( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName, @PathParam("assocPrefix") String assocPrefix, @PathParam("assocLocalName") String assocLocalName); @GET @Path("/defclasses/{classPrefix}/{classLocalName}/properties") @Produces({ "application/json" }) public List<PropertyInfo> getClassProperties( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName); @GET @Path("/defclasses/{classPrefix}/{classLocalName}/property/{propPrefix}/{propLocalName}") @Produces({ "application/json" }) public PropertyInfo getClassProperty( @PathParam("classPrefix") String classPrefix, @PathParam("classLocalName") String classLocalName, @PathParam("propPrefix") String propPrefix, @PathParam("propLocalName") String propLocalName); @GET @Path("/properties") @Produces({ "application/json" }) public List<PropertyInfo> getProperties( @QueryParam("nsp") String namespacePrefix, @QueryParam("name") String name, @QueryParam("type") String dataType); }
src/main/java/com/inteligr8/alfresco/acs/model/v0/AssociationInfo.java 0 → 100755 +106 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.acs.model.v0; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; @JsonIgnoreProperties(ignoreUnknown = true) public class AssociationInfo extends NamedObject { @JsonProperty("isChildAssociation") private boolean childAssociation; @JsonProperty("protected") private boolean protected_; @JsonProperty private boolean duplicateChildNameAllowed; @JsonProperty private EndpointInfo source; @JsonProperty private EndpointInfo target; public boolean isChildAssociation() { return childAssociation; } public void setChildAssociation(boolean childAssociation) { this.childAssociation = childAssociation; } public boolean isProtected() { return protected_; } public void setProtected(boolean protected_) { this.protected_ = protected_; } public boolean isDuplicateChildNameAllowed() { return duplicateChildNameAllowed; } public void setDuplicateChildNameAllowed(boolean duplicateChildNameAllowed) { this.duplicateChildNameAllowed = duplicateChildNameAllowed; } public EndpointInfo getSource() { return source; } public void setSource(EndpointInfo source) { this.source = source; } public EndpointInfo getTarget() { return target; } public void setTarget(EndpointInfo target) { this.target = target; } @JsonIgnoreProperties(ignoreUnknown = true) public static class EndpointInfo { @JsonProperty("class") private String className; @JsonProperty private boolean mandatory; @JsonProperty private boolean many; public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public boolean isMandatory() { return mandatory; } public void setMandatory(boolean mandatory) { this.mandatory = mandatory; } public boolean isMany() { return many; } public void setMany(boolean many) { this.many = many; } } }
src/main/java/com/inteligr8/alfresco/acs/model/v0/ClassInfo.java 0 → 100755 +135 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.acs.model.v0; import java.util.Map; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; @JsonIgnoreProperties(ignoreUnknown = true) public class ClassInfo extends NamedObject { @JsonProperty private boolean isAspect; @JsonProperty private boolean isContainer; @JsonProperty private String description; @JsonProperty private ParentInfo parent; @JsonProperty private Map<String, AspectInfo> defaultAspects; @JsonProperty private Map<String, PropertyInfo> properties; @JsonProperty private Map<String, AssociationInfo> associations; @JsonProperty("childassociations") private Map<String, AssociationInfo> childAssociations; private Object syncAssocs = new Object(); private boolean correctedAssocs = false; private Object syncChildAssocs = new Object(); private boolean correctedChildAssocs = false; public boolean isAspect() { return isAspect; } public void setAspect(boolean isAspect) { this.isAspect = isAspect; } public boolean isContainer() { return isContainer; } public void setContainer(boolean isContainer) { this.isContainer = isContainer; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public ParentInfo getParent() { return parent; } public void setParent(ParentInfo parent) { this.parent = parent; } public Map<String, AspectInfo> getDefaultAspects() { return defaultAspects; } public void setDefaultAspects(Map<String, AspectInfo> defaultAspects) { this.defaultAspects = defaultAspects; } public Map<String, PropertyInfo> getProperties() { return properties; } public void setProperties(Map<String, PropertyInfo> properties) { this.properties = properties; } public Map<String, AssociationInfo> getAssociations() { synchronized (this.syncAssocs) { if (!this.correctedAssocs) for (AssociationInfo assoc : this.associations.values()) assoc.setChildAssociation(false); this.correctedAssocs = true; } return associations; } public void setAssociations(Map<String, AssociationInfo> associations) { synchronized (this.syncAssocs) { this.associations = associations; this.correctedAssocs = false; } } public Map<String, AssociationInfo> getChildAssociations() { synchronized (this.syncChildAssocs) { if (!this.correctedChildAssocs) for (AssociationInfo assoc : this.childAssociations.values()) assoc.setChildAssociation(false); this.correctedChildAssocs = true; } return childAssociations; } public void setChildAssociations(Map<String, AssociationInfo> childAssociations) { synchronized (this.syncChildAssocs) { this.childAssociations = childAssociations; this.correctedChildAssocs = false; } } @JsonIgnoreProperties(ignoreUnknown = true) public static class ParentInfo extends NamedObject {} @JsonIgnoreProperties(ignoreUnknown = true) public static class AspectInfo extends NamedObject {} }
src/main/java/com/inteligr8/alfresco/acs/model/v0/ConstraintInfo.java 0 → 100755 +34 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.acs.model.v0; import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; @JsonIgnoreProperties(ignoreUnknown = true) public class ConstraintInfo { @JsonProperty private String type; @JsonProperty private List<Map<String, String>> parameters; public String getType() { return type; } public void setType(String type) { this.type = type; } public List<Map<String, String>> getParameters() { return parameters; } public void setParameters(List<Map<String, String>> parameters) { this.parameters = parameters; } }