CST-12105 refactor

This commit is contained in:
frabacche
2023-11-20 11:56:27 +01:00
parent 081d3ec23f
commit bfecb21337
6 changed files with 39 additions and 99 deletions

View File

@@ -27,41 +27,14 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
* *
* @author Francesco Bacchelli (francesco.bacchelli at 4science dot it) * @author Francesco Bacchelli (francesco.bacchelli at 4science dot it)
*/ */
public class ItemRequests extends Base { public class NotifyRequestStatus extends Base {
private ItemRequest endorsements;
private ItemRequest ingests;
private ItemRequest reviews;
private UUID itemUuid; private UUID itemUuid;
public ItemRequests() { public NotifyRequestStatus() {
super(); super();
} }
public ItemRequest getEndorsements() {
return endorsements;
}
public void setEndorsements(ItemRequest endorsements) {
this.endorsements = endorsements;
}
public ItemRequest getIngests() {
return ingests;
}
public void setIngests(ItemRequest ingests) {
this.ingests = ingests;
}
public ItemRequest getReviews() {
return reviews;
}
public void setReviews(ItemRequest reviews) {
this.reviews = reviews;
}
public UUID getItemUuid() { public UUID getItemUuid() {
return itemUuid; return itemUuid;
} }
@@ -70,12 +43,6 @@ public class ItemRequests extends Base {
this.itemUuid = itemUuid; this.itemUuid = itemUuid;
} }
public class ItemRequest {
Integer count;
Boolean accepted;
Boolean rejected;
Boolean tentative;
}
} }

View File

@@ -13,8 +13,8 @@ import java.util.UUID;
import org.dspace.app.ldn.LDNMessageEntity; import org.dspace.app.ldn.LDNMessageEntity;
import org.dspace.app.ldn.NotifyServiceEntity; import org.dspace.app.ldn.NotifyServiceEntity;
import org.dspace.app.ldn.model.ItemRequests;
import org.dspace.app.ldn.model.Notification; import org.dspace.app.ldn.model.Notification;
import org.dspace.app.ldn.model.NotifyRequestStatus;
import org.dspace.app.ldn.model.Service; import org.dspace.app.ldn.model.Service;
import org.dspace.core.Context; import org.dspace.core.Context;
@@ -117,5 +117,5 @@ public interface LDNMessageService {
* @return the item requests object * @return the item requests object
* @throws SQLException If something goes wrong in the database * @throws SQLException If something goes wrong in the database
*/ */
public ItemRequests findRequestsByItemUUID(Context context, UUID itemId) throws SQLException; public NotifyRequestStatus findRequestsByItemUUID(Context context, UUID itemId) throws SQLException;
} }

View File

@@ -26,9 +26,8 @@ import org.dspace.app.ldn.LDNRouter;
import org.dspace.app.ldn.NotifyServiceEntity; import org.dspace.app.ldn.NotifyServiceEntity;
import org.dspace.app.ldn.dao.LDNMessageDao; import org.dspace.app.ldn.dao.LDNMessageDao;
import org.dspace.app.ldn.dao.NotifyServiceDao; import org.dspace.app.ldn.dao.NotifyServiceDao;
import org.dspace.app.ldn.model.ItemRequests;
import org.dspace.app.ldn.model.ItemRequests.ItemRequest;
import org.dspace.app.ldn.model.Notification; import org.dspace.app.ldn.model.Notification;
import org.dspace.app.ldn.model.NotifyRequestStatus;
import org.dspace.app.ldn.model.Service; import org.dspace.app.ldn.model.Service;
import org.dspace.app.ldn.processor.LDNProcessor; import org.dspace.app.ldn.processor.LDNProcessor;
import org.dspace.app.ldn.service.LDNMessageService; import org.dspace.app.ldn.service.LDNMessageService;
@@ -272,11 +271,9 @@ public class LDNMessageServiceImpl implements LDNMessageService {
} }
@Override @Override
public ItemRequests findRequestsByItemUUID(Context context, UUID itemId) throws SQLException { public NotifyRequestStatus findRequestsByItemUUID(Context context, UUID itemId) throws SQLException {
ItemRequests result = new ItemRequests(); NotifyRequestStatus result = new NotifyRequestStatus();
result.setItemUuid(itemId); result.setItemUuid(itemId);
ItemRequest ingests = result.getIngests();
result.setIngests(ingests);
/* TODO SEARCH FOR LDN MESSAGES */ /* TODO SEARCH FOR LDN MESSAGES */
return result; return result;
} }

View File

@@ -7,8 +7,8 @@
*/ */
package org.dspace.app.rest.converter; package org.dspace.app.rest.converter;
import org.dspace.app.ldn.model.ItemRequests; import org.dspace.app.ldn.model.NotifyRequestStatus;
import org.dspace.app.rest.model.LDNItemRequestsRest; import org.dspace.app.rest.model.NotifyRequestStatusRest;
import org.dspace.app.rest.projection.Projection; import org.dspace.app.rest.projection.Projection;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -19,18 +19,18 @@ import org.springframework.stereotype.Component;
* @author Francesco Bacchelli (francesco.bacchelli at 4science.it) * @author Francesco Bacchelli (francesco.bacchelli at 4science.it)
*/ */
@Component @Component
public class LDNItemRequestsConverter implements DSpaceConverter<ItemRequests, LDNItemRequestsRest> { public class NotifyRequestStatusConverter implements DSpaceConverter<NotifyRequestStatus, NotifyRequestStatusRest> {
@Override @Override
public LDNItemRequestsRest convert(ItemRequests modelObject, Projection projection) { public NotifyRequestStatusRest convert(NotifyRequestStatus modelObject, Projection projection) {
LDNItemRequestsRest result = new LDNItemRequestsRest(); NotifyRequestStatusRest result = new NotifyRequestStatusRest();
result.setItemuuid(modelObject.getItemUuid()); result.setItemuuid(modelObject.getItemUuid());
return result; return result;
} }
@Override @Override
public Class<ItemRequests> getModelClass() { public Class<NotifyRequestStatus> getModelClass() {
return ItemRequests.class; return NotifyRequestStatus.class;
} }
} }

View File

@@ -7,6 +7,7 @@
*/ */
package org.dspace.app.rest.model; package org.dspace.app.rest.model;
import java.util.List;
import java.util.UUID; import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
@@ -19,49 +20,21 @@ import org.dspace.app.rest.RestResourceController;
* @author Francesco Bacchelli (francesco.bacchelli at 4science dot it) * @author Francesco Bacchelli (francesco.bacchelli at 4science dot it)
*/ */
@JsonPropertyOrder(value = { @JsonPropertyOrder(value = {
"itemuuid", "notifyStatus",
"endorsements", "itemuuid"
"ingests",
"reviews"
}) })
public class LDNItemRequestsRest extends BaseObjectRest<Integer> { public class NotifyRequestStatusRest extends RestAddressableModel {
public static final String CATEGORY = RestAddressableModel.LDN; public static final String CATEGORY = RestAddressableModel.LDN;
public static final String NAME = "ldnitemservice"; public static final String NAME = "ldnitemservice";
public static final String GET_ITEM_REQUESTS = "getItemRequests"; public static final String GET_ITEM_REQUESTS = "getItemRequests";
private ItemRequest endorsements; private List<NotifyRequestsStatus> notifyStatus;
private ItemRequest ingests;
private ItemRequest reviews;
private UUID itemuuid; private UUID itemuuid;
public LDNItemRequestsRest() { public NotifyRequestStatusRest() {
super(); super();
} }
public ItemRequest getEndorsements() {
return endorsements;
}
public void setEndorsements(ItemRequest endorsements) {
this.endorsements = endorsements;
}
public ItemRequest getIngests() {
return ingests;
}
public void setIngests(ItemRequest ingests) {
this.ingests = ingests;
}
public ItemRequest getReviews() {
return reviews;
}
public void setReviews(ItemRequest reviews) {
this.reviews = reviews;
}
public UUID getItemuuid() { public UUID getItemuuid() {
return itemuuid; return itemuuid;
} }
@@ -87,9 +60,12 @@ public class LDNItemRequestsRest extends BaseObjectRest<Integer> {
} }
class ItemRequest { enum NotifyStatus {
Integer count; REJECTED, ACCEPTED, REQUESTED
Boolean accepted; }
Boolean rejected;
Boolean tentative; class NotifyRequestsStatus {
String serviceName;
String serviceUrl;
NotifyStatus status;
} }

View File

@@ -12,11 +12,11 @@ import java.util.UUID;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.dspace.app.ldn.model.ItemRequests; import org.dspace.app.ldn.model.NotifyRequestStatus;
import org.dspace.app.ldn.service.LDNMessageService; import org.dspace.app.ldn.service.LDNMessageService;
import org.dspace.app.rest.Parameter; import org.dspace.app.rest.Parameter;
import org.dspace.app.rest.SearchRestMethod; import org.dspace.app.rest.SearchRestMethod;
import org.dspace.app.rest.model.LDNItemRequestsRest; import org.dspace.app.rest.model.NotifyRequestStatusRest;
import org.dspace.core.Context; import org.dspace.core.Context;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
@@ -28,22 +28,22 @@ import org.springframework.stereotype.Component;
* *
* @author Francesco Bacchelli (francesco.bacchelli at 4science dot it) * @author Francesco Bacchelli (francesco.bacchelli at 4science dot it)
*/ */
@Component(LDNItemRequestsRest.CATEGORY + "." + LDNItemRequestsRest.NAME) @Component(NotifyRequestStatusRest.CATEGORY + "." + NotifyRequestStatusRest.NAME)
public class LDNItemRequestsRestRepository extends DSpaceRestRepository<LDNItemRequestsRest, String> { public class NotifyRequestStatusRestRepository extends DSpaceRestRepository<NotifyRequestStatusRest, String> {
private static final Logger log = LogManager.getLogger(LDNItemRequestsRestRepository.class); private static final Logger log = LogManager.getLogger(NotifyRequestStatusRestRepository.class);
@Autowired @Autowired
private LDNMessageService ldnMessageService; private LDNMessageService ldnMessageService;
@SearchRestMethod(name = LDNItemRequestsRest.GET_ITEM_REQUESTS) @SearchRestMethod(name = NotifyRequestStatusRest.GET_ITEM_REQUESTS)
//@PreAuthorize("hasAuthority('AUTHENTICATED')") //@PreAuthorize("hasAuthority('AUTHENTICATED')")
public LDNItemRequestsRest findItemRequests( public NotifyRequestStatusRest findItemRequests(
@Parameter(value = "itemuuid", required = true) UUID itemUuid) { @Parameter(value = "itemuuid", required = true) UUID itemUuid) {
log.info("START findItemRequests looking for requests for item " + itemUuid); log.info("START findItemRequests looking for requests for item " + itemUuid);
Context context = obtainContext(); Context context = obtainContext();
ItemRequests resultRequests = new ItemRequests(); NotifyRequestStatus resultRequests = new NotifyRequestStatus();
try { try {
resultRequests = ldnMessageService.findRequestsByItemUUID(context, itemUuid); resultRequests = ldnMessageService.findRequestsByItemUUID(context, itemUuid);
} catch (SQLException e) { } catch (SQLException e) {
@@ -54,19 +54,19 @@ public class LDNItemRequestsRestRepository extends DSpaceRestRepository<LDNItemR
} }
@Override @Override
public LDNItemRequestsRest findOne(Context context, String id) { public NotifyRequestStatusRest findOne(Context context, String id) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public Page<LDNItemRequestsRest> findAll(Context context, Pageable pageable) { public Page<NotifyRequestStatusRest> findAll(Context context, Pageable pageable) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public Class<LDNItemRequestsRest> getDomainClass() { public Class<NotifyRequestStatusRest> getDomainClass() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }