diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/MapConverterModifier.java b/dspace-api/src/main/java/org/dspace/submit/lookup/MapConverterModifier.java index eafde6dbae..445cb96a98 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/MapConverterModifier.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/MapConverterModifier.java @@ -18,6 +18,7 @@ import java.util.Properties; import org.apache.commons.lang.StringUtils; import org.dspace.core.ConfigurationManager; +import org.dspace.utils.DSpace; import gr.ekt.bte.core.AbstractModifier; import gr.ekt.bte.core.MutableRecord; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java index 2b295f631f..5ab92633ab 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java @@ -129,9 +129,12 @@ public class MultipleSubmissionLookupDataLoader implements DataLoader { * @see gr.ekt.bte.core.DataLoader#getRecords(gr.ekt.bte.core.DataLoadingSpec) */ @Override - public RecordSet getRecords(DataLoadingSpec arg0) + public RecordSet getRecords(DataLoadingSpec loadingSpec) throws MalformedSourceException { + if (loadingSpec.getOffset()>0) //Identify the end of loading + return new RecordSet(); + return getRecords(); } diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedLookupProvider.java b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedLookupProvider.java index c8b659b539..373930bd3b 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedLookupProvider.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedLookupProvider.java @@ -58,7 +58,7 @@ public class PubmedLookupProvider extends ConfigurableLookupProvider { Set pmids = keys != null ? keys.get(PUBMED) : null; Set dois = keys != null ? keys.get(DOI) : null; List results = new ArrayList(); - if (pmids != null && pmids.size()>0 && dois == null) { + if (pmids != null && pmids.size()>0 && (dois == null || dois.size()==0)) { for (String pmid : pmids){ PubmedItem p = null; try @@ -73,7 +73,7 @@ public class PubmedLookupProvider extends ConfigurableLookupProvider { results.add(convert(p)); } } - else if (dois != null && dois.size()>0 && pmids == null) { + else if (dois != null && dois.size()>0 && (pmids == null || pmids.size()==0)) { StringBuffer query = new StringBuffer(); for (String d : dois) { if (query.length() > 0) { @@ -87,7 +87,7 @@ public class PubmedLookupProvider extends ConfigurableLookupProvider { results.add(convert(p)); } } - else + else if (dois != null && dois.size()>0 && pmids != null && pmids.size()>0) { //EKT:ToDo: support list of dois and pmids in the search method of pubmedService List pubmedResults = pubmedService.search(dois.iterator().next(), pmids.iterator().next()); diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupOutputGenerator.java b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupOutputGenerator.java index b1579278f1..2745f8716b 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupOutputGenerator.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupOutputGenerator.java @@ -56,7 +56,7 @@ public class SubmissionLookupOutputGenerator implements OutputGenerator { ItemSubmissionLookupDTO dto = new ItemSubmissionLookupDTO(entry.getValue()); dtoList.add(dto); } - return null; + return new ArrayList(); } @Override diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupService.java b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupService.java index d3a2a133b0..45dc406667 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupService.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupService.java @@ -126,7 +126,7 @@ public class SubmissionLookupService { this.idents2provs = new HashMap>(); this.searchProviders = new ArrayList(); - if (providers != null) { + if (providers == null) { this.providers = new ArrayList(); for (SubmissionLookupProvider p : dataLoader.getProviders()) { diff --git a/dspace-api/src/main/java/org/dspace/submit/util/EnhancedSubmissionLookupPublication.java b/dspace-api/src/main/java/org/dspace/submit/util/EnhancedSubmissionLookupPublication.java index f21d7ca90e..a0ed1e0403 100644 --- a/dspace-api/src/main/java/org/dspace/submit/util/EnhancedSubmissionLookupPublication.java +++ b/dspace-api/src/main/java/org/dspace/submit/util/EnhancedSubmissionLookupPublication.java @@ -83,13 +83,16 @@ public class EnhancedSubmissionLookupPublication extends SubmissionLookupPublica { EnhancerSubmissionLookup enhancer = enhancedMetadata.get(md); List values = enhancer.getValues(this); - List valuesvalues = new ArrayList(); - for (String s : values){ - valuesvalues.add(new StringValue(s)); + if (values != null && values.size()>0) { + List valuesvalues = new ArrayList(); + for (String s : values){ + valuesvalues.add(new StringValue(s)); + } + cacheEnhanched.put(md, values); + return valuesvalues; } - cacheEnhanched.put(md, values); - return valuesvalues; } + return null; } else { diff --git a/dspace-api/src/main/java/org/dspace/submit/util/SubmissionLookupPublication.java b/dspace-api/src/main/java/org/dspace/submit/util/SubmissionLookupPublication.java index 1281f53f73..6fdd0a237f 100644 --- a/dspace-api/src/main/java/org/dspace/submit/util/SubmissionLookupPublication.java +++ b/dspace-api/src/main/java/org/dspace/submit/util/SubmissionLookupPublication.java @@ -80,6 +80,9 @@ public class SubmissionLookupPublication implements MutableRecord, Serializable @Override public List getValues(String md) { List stringValues = storage.get(md); + if (stringValues == null){ + return null; + } List values = new ArrayList(); for (String value : stringValues){ values.add(new StringValue(value)); diff --git a/dspace-api/src/main/resources/spring/spring-dspace-addon-submissionlookup-services.xml b/dspace-api/src/main/resources/spring/spring-dspace-addon-submissionlookup-services.xml index 2c0590c49a..c872aa31d9 100644 --- a/dspace-api/src/main/resources/spring/spring-dspace-addon-submissionlookup-services.xml +++ b/dspace-api/src/main/resources/spring/spring-dspace-addon-submissionlookup-services.xml @@ -59,6 +59,7 @@ + @@ -72,6 +73,8 @@ + + @@ -83,8 +86,7 @@ - + @@ -94,8 +96,7 @@ - +