rename the DefaultAccessCondition classes in AccessCondition

This commit is contained in:
Andrea Bollini
2017-11-13 19:29:08 +01:00
parent e386f0d49e
commit 0e9d7521ab
5 changed files with 38 additions and 31 deletions

View File

@@ -7,7 +7,7 @@
*/ */
package org.dspace.app.rest.converter; package org.dspace.app.rest.converter;
import org.dspace.app.rest.model.DefaultAccessConditionRest; import org.dspace.app.rest.model.AccessConditionRest;
import org.dspace.authorize.ResourcePolicy; import org.dspace.authorize.ResourcePolicy;
import org.dspace.eperson.Group; import org.dspace.eperson.Group;
import org.dspace.services.ConfigurationService; import org.dspace.services.ConfigurationService;
@@ -22,17 +22,17 @@ import org.springframework.stereotype.Component;
* @author Luigi Andrea Pascarelli (luigiandrea.pascarelli at 4science.it) * @author Luigi Andrea Pascarelli (luigiandrea.pascarelli at 4science.it)
*/ */
@Component @Component
public class AccessConditionsConverter extends DSpaceConverter<ResourcePolicy, DefaultAccessConditionRest> { public class AccessConditionsConverter extends DSpaceConverter<ResourcePolicy, AccessConditionRest> {
@Autowired @Autowired
ConfigurationService configurationService; ConfigurationService configurationService;
@Override @Override
public DefaultAccessConditionRest fromModel(ResourcePolicy obj) { public AccessConditionRest fromModel(ResourcePolicy obj) {
DefaultAccessConditionRest model = new DefaultAccessConditionRest(); AccessConditionRest model = new AccessConditionRest();
model.setPolicyType("openaccess"); model.setPolicyType("openaccess");
if (obj.getGroup() != null) { if (obj.getGroup() != null) {
model.setGroupUuid(obj.getGroup().getID()); model.setGroupUUID(obj.getGroup().getID());
if (Group.ADMIN.equals(obj.getGroup().getName())) { if (Group.ADMIN.equals(obj.getGroup().getName())) {
model.setPolicyType("administrator"); model.setPolicyType("administrator");
} }
@@ -53,7 +53,7 @@ public class AccessConditionsConverter extends DSpaceConverter<ResourcePolicy, D
} }
@Override @Override
public ResourcePolicy toModel(DefaultAccessConditionRest obj) { public ResourcePolicy toModel(AccessConditionRest obj) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }

View File

@@ -12,27 +12,28 @@ import java.util.Date;
import java.util.UUID; import java.util.UUID;
/** /**
* The Access Condition (ResourcePolicy) REST Resource * The Access Condition REST Resource. It is intent to be an human or REST
* client understandable representation of the DSpace ResourcePolicy.
* *
* @author Luigi Andrea Pascarelli (luigiandrea.pascarelli at 4science.it) * @author Luigi Andrea Pascarelli (luigiandrea.pascarelli at 4science.it)
* *
*/ */
public class DefaultAccessConditionRest implements Serializable { public class AccessConditionRest implements Serializable {
public static final String NAME = "accessCondition"; public static final String NAME = "accessCondition";
private String policyType; private String policyType;
private UUID groupUuid; private UUID groupUUID;
private Date endDate; private Date endDate;
public UUID getGroupUuid() { public UUID getGroupUUUI() {
return groupUuid; return groupUUID;
} }
public void setGroupUuid(UUID groupUuid) { public void setGroupUUID(UUID groupUuid) {
this.groupUuid = groupUuid; this.groupUUID = groupUuid;
} }
public Date getEndDate() { public Date getEndDate() {

View File

@@ -19,7 +19,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
*/ */
@LinksRest(links = { @LinksRest(links = {
@LinkRest(name = CollectionRest.LICENSE, linkClass = LicenseRest.class, method = "getLicenseCollection", optional = true), @LinkRest(name = CollectionRest.LICENSE, linkClass = LicenseRest.class, method = "getLicenseCollection", optional = true),
@LinkRest(name = CollectionRest.DEFAULT_ACCESS_CONDITIONS, linkClass = DefaultAccessConditionRest.class, method = "getDefaultBitstreamPoliciesForCollection", optional = true) @LinkRest(name = CollectionRest.DEFAULT_ACCESS_CONDITIONS, linkClass = AccessConditionRest.class, method = "getDefaultBitstreamPoliciesForCollection", optional = true)
}) })
public class CollectionRest extends DSpaceObjectRest { public class CollectionRest extends DSpaceObjectRest {
public static final String NAME = "collection"; public static final String NAME = "collection";

View File

@@ -7,8 +7,7 @@
*/ */
package org.dspace.app.rest.model.hateoas; package org.dspace.app.rest.model.hateoas;
import org.dspace.app.rest.model.DefaultAccessConditionRest; import org.dspace.app.rest.model.AccessConditionRest;
import org.dspace.app.rest.model.LicenseRest;
import org.dspace.app.rest.model.hateoas.annotations.RelNameDSpaceResource; import org.dspace.app.rest.model.hateoas.annotations.RelNameDSpaceResource;
import org.springframework.hateoas.ResourceSupport; import org.springframework.hateoas.ResourceSupport;
@@ -21,17 +20,17 @@ import com.fasterxml.jackson.annotation.JsonUnwrapped;
* @author Luigi Andrea Pascarelli (luigiandrea.pascarelli at 4science.it) * @author Luigi Andrea Pascarelli (luigiandrea.pascarelli at 4science.it)
* *
*/ */
@RelNameDSpaceResource(DefaultAccessConditionRest.NAME) @RelNameDSpaceResource(AccessConditionRest.NAME)
public class DefaultAccessConditionResource extends ResourceSupport { public class AccessConditionResource extends ResourceSupport {
@JsonUnwrapped @JsonUnwrapped
private final DefaultAccessConditionRest data; private final AccessConditionRest data;
public DefaultAccessConditionResource(DefaultAccessConditionRest entry) { public AccessConditionResource(AccessConditionRest entry) {
this.data = entry; this.data = entry;
} }
public DefaultAccessConditionRest getData() { public AccessConditionRest getData() {
return data; return data;
} }

View File

@@ -14,9 +14,10 @@ import java.util.UUID;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.dspace.app.rest.converter.AccessConditionsConverter; import org.dspace.app.rest.converter.AccessConditionsConverter;
import org.dspace.app.rest.model.DefaultAccessConditionRest; import org.dspace.app.rest.model.AccessConditionRest;
import org.dspace.app.rest.model.CollectionRest; import org.dspace.app.rest.model.CollectionRest;
import org.dspace.app.rest.model.hateoas.DefaultAccessConditionResource; import org.dspace.app.rest.model.hateoas.AccessConditionResource;
import org.dspace.app.rest.utils.Utils;
import org.dspace.authorize.ResourcePolicy; import org.dspace.authorize.ResourcePolicy;
import org.dspace.authorize.service.AuthorizeService; import org.dspace.authorize.service.AuthorizeService;
import org.dspace.content.Collection; import org.dspace.content.Collection;
@@ -38,7 +39,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component(CollectionRest.CATEGORY + "." + CollectionRest.NAME + "." + CollectionRest.DEFAULT_ACCESS_CONDITIONS) @Component(CollectionRest.CATEGORY + "." + CollectionRest.NAME + "." + CollectionRest.DEFAULT_ACCESS_CONDITIONS)
public class DefaultAccessConditionRestLinkRepository extends AbstractDSpaceRestRepository public class DefaultAccessConditionRestLinkRepository extends AbstractDSpaceRestRepository
implements LinkRestRepository<DefaultAccessConditionRest> { implements LinkRestRepository<AccessConditionRest> {
@Autowired @Autowired
CollectionService collectionService; CollectionService collectionService;
@@ -49,23 +50,29 @@ public class DefaultAccessConditionRestLinkRepository extends AbstractDSpaceRest
@Autowired @Autowired
AccessConditionsConverter accessConditionsConverter; AccessConditionsConverter accessConditionsConverter;
@Autowired
Utils utils;
@Override @Override
public ResourceSupport wrapResource(DefaultAccessConditionRest model, String... rels) { public ResourceSupport wrapResource(AccessConditionRest model, String... rels) {
return new DefaultAccessConditionResource(model); return new AccessConditionResource(model);
} }
public Page<DefaultAccessConditionRest> getDefaultBitstreamPoliciesForCollection(HttpServletRequest request, UUID uuid, Pageable pageable, String projection) throws Exception { public Page<AccessConditionRest> getDefaultBitstreamPoliciesForCollection(HttpServletRequest request, UUID uuid, Pageable pageable, String projection) throws Exception {
Context context = obtainContext(); Context context = obtainContext();
Collection collection = collectionService.find(context, uuid); Collection collection = collectionService.find(context, uuid);
List<DefaultAccessConditionRest> results = new ArrayList<DefaultAccessConditionRest>(); List<AccessConditionRest> results = new ArrayList<AccessConditionRest>();
List<ResourcePolicy> defaultCollectionPolicies = authorizeService.getPoliciesActionFilter(context, collection, Constants.DEFAULT_BITSTREAM_READ); List<ResourcePolicy> defaultCollectionPolicies = authorizeService.getPoliciesActionFilter(context, collection, Constants.DEFAULT_BITSTREAM_READ);
for(ResourcePolicy pp : defaultCollectionPolicies) { for(ResourcePolicy pp : defaultCollectionPolicies) {
results.add(accessConditionsConverter.convert(pp)); AccessConditionRest accessCondition = accessConditionsConverter.convert(pp);
} if (accessCondition != null) {
return new PageImpl<DefaultAccessConditionRest>(results, pageable, results.size()); results.add(accessCondition);
}
}
return utils.getPage(results, pageable);
} }
} }