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)
*/
public class ItemRequests extends Base {
public class NotifyRequestStatus extends Base {
private ItemRequest endorsements;
private ItemRequest ingests;
private ItemRequest reviews;
private UUID itemUuid;
public ItemRequests() {
public NotifyRequestStatus() {
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() {
return itemUuid;
}
@@ -70,12 +43,6 @@ public class ItemRequests extends Base {
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.NotifyServiceEntity;
import org.dspace.app.ldn.model.ItemRequests;
import org.dspace.app.ldn.model.Notification;
import org.dspace.app.ldn.model.NotifyRequestStatus;
import org.dspace.app.ldn.model.Service;
import org.dspace.core.Context;
@@ -117,5 +117,5 @@ public interface LDNMessageService {
* @return the item requests object
* @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.dao.LDNMessageDao;
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.NotifyRequestStatus;
import org.dspace.app.ldn.model.Service;
import org.dspace.app.ldn.processor.LDNProcessor;
import org.dspace.app.ldn.service.LDNMessageService;
@@ -272,11 +271,9 @@ public class LDNMessageServiceImpl implements LDNMessageService {
}
@Override
public ItemRequests findRequestsByItemUUID(Context context, UUID itemId) throws SQLException {
ItemRequests result = new ItemRequests();
public NotifyRequestStatus findRequestsByItemUUID(Context context, UUID itemId) throws SQLException {
NotifyRequestStatus result = new NotifyRequestStatus();
result.setItemUuid(itemId);
ItemRequest ingests = result.getIngests();
result.setIngests(ingests);
/* TODO SEARCH FOR LDN MESSAGES */
return result;
}

View File

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

View File

@@ -7,6 +7,7 @@
*/
package org.dspace.app.rest.model;
import java.util.List;
import java.util.UUID;
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)
*/
@JsonPropertyOrder(value = {
"itemuuid",
"endorsements",
"ingests",
"reviews"
"notifyStatus",
"itemuuid"
})
public class LDNItemRequestsRest extends BaseObjectRest<Integer> {
public class NotifyRequestStatusRest extends RestAddressableModel {
public static final String CATEGORY = RestAddressableModel.LDN;
public static final String NAME = "ldnitemservice";
public static final String GET_ITEM_REQUESTS = "getItemRequests";
private ItemRequest endorsements;
private ItemRequest ingests;
private ItemRequest reviews;
private List<NotifyRequestsStatus> notifyStatus;
private UUID itemuuid;
public LDNItemRequestsRest() {
public NotifyRequestStatusRest() {
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() {
return itemuuid;
}
@@ -87,9 +60,12 @@ public class LDNItemRequestsRest extends BaseObjectRest<Integer> {
}
class ItemRequest {
Integer count;
Boolean accepted;
Boolean rejected;
Boolean tentative;
enum NotifyStatus {
REJECTED, ACCEPTED, REQUESTED
}
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.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.rest.Parameter;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
@@ -28,22 +28,22 @@ import org.springframework.stereotype.Component;
*
* @author Francesco Bacchelli (francesco.bacchelli at 4science dot it)
*/
@Component(LDNItemRequestsRest.CATEGORY + "." + LDNItemRequestsRest.NAME)
public class LDNItemRequestsRestRepository extends DSpaceRestRepository<LDNItemRequestsRest, String> {
@Component(NotifyRequestStatusRest.CATEGORY + "." + NotifyRequestStatusRest.NAME)
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
private LDNMessageService ldnMessageService;
@SearchRestMethod(name = LDNItemRequestsRest.GET_ITEM_REQUESTS)
@SearchRestMethod(name = NotifyRequestStatusRest.GET_ITEM_REQUESTS)
//@PreAuthorize("hasAuthority('AUTHENTICATED')")
public LDNItemRequestsRest findItemRequests(
public NotifyRequestStatusRest findItemRequests(
@Parameter(value = "itemuuid", required = true) UUID itemUuid) {
log.info("START findItemRequests looking for requests for item " + itemUuid);
Context context = obtainContext();
ItemRequests resultRequests = new ItemRequests();
NotifyRequestStatus resultRequests = new NotifyRequestStatus();
try {
resultRequests = ldnMessageService.findRequestsByItemUUID(context, itemUuid);
} catch (SQLException e) {
@@ -54,19 +54,19 @@ public class LDNItemRequestsRestRepository extends DSpaceRestRepository<LDNItemR
}
@Override
public LDNItemRequestsRest findOne(Context context, String id) {
public NotifyRequestStatusRest findOne(Context context, String id) {
// TODO Auto-generated method stub
return null;
}
@Override
public Page<LDNItemRequestsRest> findAll(Context context, Pageable pageable) {
public Page<NotifyRequestStatusRest> findAll(Context context, Pageable pageable) {
// TODO Auto-generated method stub
return null;
}
@Override
public Class<LDNItemRequestsRest> getDomainClass() {
public Class<NotifyRequestStatusRest> getDomainClass() {
// TODO Auto-generated method stub
return null;
}