mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-17 15:03:18 +00:00
CST-12105 refactor
This commit is contained in:
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@@ -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;
|
||||||
}
|
}
|
@@ -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;
|
||||||
}
|
}
|
Reference in New Issue
Block a user