mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 01:54:22 +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.SubmissionVisibilityRest;
|
||||
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.utils.AuthorityUtils;
|
||||
import org.dspace.app.util.DCInput;
|
||||
import org.dspace.app.util.DCInputSet;
|
||||
import org.dspace.submit.model.LanguageFormField;
|
||||
import org.dspace.submit.model.SelectableMetadata;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -77,7 +78,7 @@ public class SubmissionFormConverter implements DSpaceConverter<DCInputSet, Subm
|
||||
private SubmissionFormFieldRest getField(DCInput dcinput, String formName) {
|
||||
SubmissionFormFieldRest inputField = new SubmissionFormFieldRest();
|
||||
List<SelectableMetadata> selectableMetadata = new ArrayList<SelectableMetadata>();
|
||||
|
||||
List<SelectableRelationship> selectableRelationships = new ArrayList<SelectableRelationship>();
|
||||
inputField.setLabel(dcinput.getLabel());
|
||||
inputField.setHints(dcinput.getHints());
|
||||
inputField.setStyle(dcinput.getStyle());
|
||||
@@ -143,9 +144,19 @@ public class SubmissionFormConverter implements DSpaceConverter<DCInputSet, Subm
|
||||
}
|
||||
inputField.setInput(inputRest);
|
||||
inputField.setSelectableMetadata(selectableMetadata);
|
||||
handleSelectableRelationships(dcinput, selectableRelationships);
|
||||
inputField.setSelectableRelationships(selectableRelationships);
|
||||
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) {
|
||||
String presentation = authorityUtils.getPresentation(schema, element, qualifier);
|
||||
if (StringUtils.isNotBlank(presentation)) {
|
||||
|
@@ -13,8 +13,9 @@ import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
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.SelectableMetadata;
|
||||
|
||||
/**
|
||||
* The SubmissionFormField REST Resource. It is not addressable directly, only used
|
||||
@@ -70,6 +71,7 @@ public class SubmissionFormFieldRest {
|
||||
*/
|
||||
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 <
|
||||
* 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/
|
||||
*/
|
||||
package org.dspace.submit.model;
|
||||
package org.dspace.app.rest.model.submit;
|
||||
|
||||
/**
|
||||
* 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