mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-17 15:03:18 +00:00
Implemented the Relationship logic in the submissionforms endpoint
This commit is contained in:
@@ -20,12 +20,13 @@ import org.dspace.app.rest.model.SubmissionFormRest;
|
|||||||
import org.dspace.app.rest.model.SubmissionFormRowRest;
|
import org.dspace.app.rest.model.SubmissionFormRowRest;
|
||||||
import org.dspace.app.rest.model.SubmissionVisibilityRest;
|
import org.dspace.app.rest.model.SubmissionVisibilityRest;
|
||||||
import org.dspace.app.rest.model.VisibilityEnum;
|
import org.dspace.app.rest.model.VisibilityEnum;
|
||||||
|
import org.dspace.app.rest.model.submit.SelectableMetadata;
|
||||||
|
import org.dspace.app.rest.model.submit.SelectableRelationship;
|
||||||
import org.dspace.app.rest.repository.SubmissionFormRestRepository;
|
import org.dspace.app.rest.repository.SubmissionFormRestRepository;
|
||||||
import org.dspace.app.rest.utils.AuthorityUtils;
|
import org.dspace.app.rest.utils.AuthorityUtils;
|
||||||
import org.dspace.app.util.DCInput;
|
import org.dspace.app.util.DCInput;
|
||||||
import org.dspace.app.util.DCInputSet;
|
import org.dspace.app.util.DCInputSet;
|
||||||
import org.dspace.submit.model.LanguageFormField;
|
import org.dspace.submit.model.LanguageFormField;
|
||||||
import org.dspace.submit.model.SelectableMetadata;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@@ -77,7 +78,7 @@ public class SubmissionFormConverter implements DSpaceConverter<DCInputSet, Subm
|
|||||||
private SubmissionFormFieldRest getField(DCInput dcinput, String formName) {
|
private SubmissionFormFieldRest getField(DCInput dcinput, String formName) {
|
||||||
SubmissionFormFieldRest inputField = new SubmissionFormFieldRest();
|
SubmissionFormFieldRest inputField = new SubmissionFormFieldRest();
|
||||||
List<SelectableMetadata> selectableMetadata = new ArrayList<SelectableMetadata>();
|
List<SelectableMetadata> selectableMetadata = new ArrayList<SelectableMetadata>();
|
||||||
|
List<SelectableRelationship> selectableRelationships = new ArrayList<SelectableRelationship>();
|
||||||
inputField.setLabel(dcinput.getLabel());
|
inputField.setLabel(dcinput.getLabel());
|
||||||
inputField.setHints(dcinput.getHints());
|
inputField.setHints(dcinput.getHints());
|
||||||
inputField.setStyle(dcinput.getStyle());
|
inputField.setStyle(dcinput.getStyle());
|
||||||
@@ -143,9 +144,19 @@ public class SubmissionFormConverter implements DSpaceConverter<DCInputSet, Subm
|
|||||||
}
|
}
|
||||||
inputField.setInput(inputRest);
|
inputField.setInput(inputRest);
|
||||||
inputField.setSelectableMetadata(selectableMetadata);
|
inputField.setSelectableMetadata(selectableMetadata);
|
||||||
|
handleSelectableRelationships(dcinput, selectableRelationships);
|
||||||
|
inputField.setSelectableRelationships(selectableRelationships);
|
||||||
return inputField;
|
return inputField;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void handleSelectableRelationships(DCInput dcinput, List<SelectableRelationship> selectableRelationships) {
|
||||||
|
SelectableRelationship selectableRelationship = new SelectableRelationship();
|
||||||
|
selectableRelationship.setRelationshipType(dcinput.getRelationshipType());
|
||||||
|
selectableRelationship.setFilter(dcinput.getFilter());
|
||||||
|
selectableRelationship.setSearchConfiguration(dcinput.getSearchConfiguration());
|
||||||
|
selectableRelationships.add(selectableRelationship);
|
||||||
|
}
|
||||||
|
|
||||||
private String getPresentation(String schema, String element, String qualifier, String inputType) {
|
private String getPresentation(String schema, String element, String qualifier, String inputType) {
|
||||||
String presentation = authorityUtils.getPresentation(schema, element, qualifier);
|
String presentation = authorityUtils.getPresentation(schema, element, qualifier);
|
||||||
if (StringUtils.isNotBlank(presentation)) {
|
if (StringUtils.isNotBlank(presentation)) {
|
||||||
|
@@ -13,8 +13,9 @@ import java.util.List;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
|
import org.dspace.app.rest.model.submit.SelectableMetadata;
|
||||||
|
import org.dspace.app.rest.model.submit.SelectableRelationship;
|
||||||
import org.dspace.submit.model.LanguageFormField;
|
import org.dspace.submit.model.LanguageFormField;
|
||||||
import org.dspace.submit.model.SelectableMetadata;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The SubmissionFormField REST Resource. It is not addressable directly, only used
|
* The SubmissionFormField REST Resource. It is not addressable directly, only used
|
||||||
@@ -70,6 +71,7 @@ public class SubmissionFormFieldRest {
|
|||||||
*/
|
*/
|
||||||
private String style;
|
private String style;
|
||||||
|
|
||||||
|
private List<SelectableRelationship> selectableRelationships;
|
||||||
/**
|
/**
|
||||||
* The list of metadata, often a single element, to offer for the storage of the information. This map the DSpace <
|
* The list of metadata, often a single element, to offer for the storage of the information. This map the DSpace <
|
||||||
* 7 concepts of qualdrop
|
* 7 concepts of qualdrop
|
||||||
@@ -264,4 +266,11 @@ public class SubmissionFormFieldRest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<SelectableRelationship> getSelectableRelationships() {
|
||||||
|
return selectableRelationships;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSelectableRelationships(List<SelectableRelationship> selectableRelationships) {
|
||||||
|
this.selectableRelationships = selectableRelationships;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* http://www.dspace.org/license/
|
* http://www.dspace.org/license/
|
||||||
*/
|
*/
|
||||||
package org.dspace.submit.model;
|
package org.dspace.app.rest.model.submit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The SelectableMetadata REST Resource. It is not addressable directly, only
|
* The SelectableMetadata REST Resource. It is not addressable directly, only
|
@@ -0,0 +1,38 @@
|
|||||||
|
/**
|
||||||
|
* The contents of this file are subject to the license and copyright
|
||||||
|
* detailed in the LICENSE and NOTICE files at the root of the source
|
||||||
|
* tree and available online at
|
||||||
|
*
|
||||||
|
* http://www.dspace.org/license/
|
||||||
|
*/
|
||||||
|
package org.dspace.app.rest.model.submit;
|
||||||
|
|
||||||
|
public class SelectableRelationship {
|
||||||
|
private String relationshipType;
|
||||||
|
private String filter;
|
||||||
|
private String searchConfiguration;
|
||||||
|
|
||||||
|
public void setRelationshipType(String relationshipType) {
|
||||||
|
this.relationshipType = relationshipType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRelationshipType() {
|
||||||
|
return relationshipType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFilter(String filter) {
|
||||||
|
this.filter = filter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFilter() {
|
||||||
|
return filter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSearchConfiguration(String searchConfiguration) {
|
||||||
|
this.searchConfiguration = searchConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSearchConfiguration() {
|
||||||
|
return searchConfiguration;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user