BGBM BDI Projects
/
taxeditor.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
12a605b
)
ref #5616 Fix possible NPE for BulkEditor inputs
author
Patrick Plitzner
<p.plitzner@bgbm.org>
Mon, 8 Aug 2016 14:35:04 +0000
(16:35 +0200)
committer
Patrick Plitzner
<p.plitzner@bgbm.org>
Mon, 8 Aug 2016 14:35:04 +0000
(16:35 +0200)
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java
patch
|
blob
|
history
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java
patch
|
blob
|
history
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java
patch
|
blob
|
history
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/MediaEditorInput.java
patch
|
blob
|
history
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java
patch
|
blob
|
history
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java
patch
|
blob
|
history
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/UserEditorInput.java
patch
|
blob
|
history
diff --git
a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java
b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java
index cb0b8710d9ec92e0fdca6bc1fc39acfe97363c7c..ee8a765bb533f00fac5c96ad6924c395dce9adaa 100644
(file)
--- a/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java
+++ b/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java
@@
-10,7
+10,6
@@
package eu.etaxonomy.taxeditor.bulkeditor.input;
import java.util.ArrayList;
package eu.etaxonomy.taxeditor.bulkeditor.input;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@
-59,8
+58,6
@@
public abstract class AbstractBulkEditorInput<T extends ICdmBase> extends CdmEnt
private IEntityCreator<T> entityCreator;
private final ConversationHolder conversation;
private IEntityCreator<T> entityCreator;
private final ConversationHolder conversation;
- private static Class serviceClass;
-
public AbstractBulkEditorInput() {
super(true);
this.conversation = CdmStore.createConversation();
public AbstractBulkEditorInput() {
super(true);
this.conversation = CdmStore.createConversation();
@@
-103,16
+100,7
@@
public abstract class AbstractBulkEditorInput<T extends ICdmBase> extends CdmEnt
*/
protected abstract List<T> listEntities(IIdentifiableEntityServiceConfigurator configurator);
*/
protected abstract List<T> listEntities(IIdentifiableEntityServiceConfigurator configurator);
- /**
- * <p>loadEntity</p>
- *
- * @param entityUuid a {@link java.util.UUID} object.
- * @return a T object.
- */
- protected T loadEntity(UUID entityUuid) {
- List<String> propertyPaths = Arrays.asList(new String[]{});
- return (T) CdmStore.getService(serviceClass).load(entityUuid, propertyPaths);
- }
+ protected abstract T loadEntity(UUID entityUuid);
private void setEntityUuid(UUID entityUuid){
this.entityUuid = entityUuid;
private void setEntityUuid(UUID entityUuid){
this.entityUuid = entityUuid;
diff --git
a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java
b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java
index f7f65de9f095b112fbc3e781544aba790d752daf..26e12964f5873fec932eb26d4696a3974158161d 100644
(file)
--- a/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java
+++ b/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java
@@
-9,11
+9,14
@@
*/
package eu.etaxonomy.taxeditor.bulkeditor.input;
*/
package eu.etaxonomy.taxeditor.bulkeditor.input;
+import java.util.Arrays;
import java.util.List;
import java.util.List;
+import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
@@
-171,4
+174,12
@@
public class AgentEditorInput extends AbstractBulkEditorInput<TeamOrPersonBase>
}
}
+ @Override
+ protected TeamOrPersonBase loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return HibernateProxyHelper.deproxy(CdmStore.getService(IAgentService.class).load(entityUuid, propertyPaths), TeamOrPersonBase.class);
+ }
+
+
+
}
}
diff --git
a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java
b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java
index 0082939986a984d95527749de20bf64d7bfb53ca..b868562441ad299f4c0f05c82c9475019e00d6d4 100644
(file)
--- a/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java
+++ b/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java
@@
-10,11
+10,15
@@
package eu.etaxonomy.taxeditor.bulkeditor.input;
package eu.etaxonomy.taxeditor.bulkeditor.input;
+import java.util.Arrays;
import java.util.List;
import java.util.List;
+import java.util.UUID;
+import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.api.service.IGroupService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.cdm.api.service.IGroupService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.GroupCreator;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.GroupCreator;
@@
-120,6
+124,12
@@
public class GroupEditorInput extends AbstractBulkEditorInput<Group> {
}
}
+ @Override
+ protected Group loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return HibernateProxyHelper.deproxy(CdmStore.getService(IAgentService.class).load(entityUuid, propertyPaths), Group.class);
+ }
+
}
}
diff --git
a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/MediaEditorInput.java
b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/MediaEditorInput.java
index 6f3ccb262a399b5797e9cf26170e2b5d539526d7..2af42543a735e2914c44d81378a94a1cfd7236be 100644
(file)
--- a/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/MediaEditorInput.java
+++ b/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/MediaEditorInput.java
@@
-9,7
+9,9
@@
*/
package eu.etaxonomy.taxeditor.bulkeditor.input;
*/
package eu.etaxonomy.taxeditor.bulkeditor.input;
+import java.util.Arrays;
import java.util.List;
import java.util.List;
+import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
@@
-91,4
+93,11
@@
public class MediaEditorInput extends AbstractBulkEditorInput<Media> {
return sortProviders;
}
return sortProviders;
}
+
+ @Override
+ protected Media loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return CdmStore.getService(IMediaService.class).load(entityUuid, propertyPaths);
+ }
+
}
}
diff --git
a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java
b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java
index 51568f5cb3226443348f0dd49c99e4998f79ddfb..1cc24918e01040056414c335df3a52e1661c33e5 100644
(file)
--- a/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java
+++ b/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java
@@
-10,7
+10,6
@@
package eu.etaxonomy.taxeditor.bulkeditor.input;
package eu.etaxonomy.taxeditor.bulkeditor.input;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
@@
-180,6
+179,13
@@
public class NameEditorInput extends AbstractBulkEditorInput<TaxonNameBase> {
}
}
+ @Override
+ protected TaxonNameBase loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return CdmStore.getService(INameService.class).load(entityUuid, getPropertyPaths());
+ }
+
+
private List<String> getPropertyPaths(){
List<String> nameBasePropertyPaths = Arrays.asList(new String[] {
"name.descriptions",
private List<String> getPropertyPaths(){
List<String> nameBasePropertyPaths = Arrays.asList(new String[] {
"name.descriptions",
diff --git
a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java
b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java
index 929379d2731220a67cd558a7815b56545c18e923..5f20772409c7e74d718ec3a9dcd14df23ff008cc 100644
(file)
--- a/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java
+++ b/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java
@@
-10,7
+10,9
@@
package eu.etaxonomy.taxeditor.bulkeditor.input;
package eu.etaxonomy.taxeditor.bulkeditor.input;
+import java.util.Arrays;
import java.util.List;
import java.util.List;
+import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
@@
-173,4
+175,11
@@
public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
public void merge() {
}
public void merge() {
}
+
+ @Override
+ protected SpecimenOrObservationBase loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths);
+ }
+
}
}
diff --git
a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/UserEditorInput.java
b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/UserEditorInput.java
index 72dd138a4fc45db2581d631c2517b9b69ec6a1ae..46ce65fbe542e10062963e7833f759ecd0224c6f 100644
(file)
--- a/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/UserEditorInput.java
+++ b/
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/UserEditorInput.java
@@
-10,7
+10,9
@@
package eu.etaxonomy.taxeditor.bulkeditor.input;
package eu.etaxonomy.taxeditor.bulkeditor.input;
+import java.util.Arrays;
import java.util.List;
import java.util.List;
+import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
@@
-121,6
+123,14
@@
public class UserEditorInput extends AbstractBulkEditorInput<User> {
public void merge() {
}
public void merge() {
}
+
+
+ @Override
+ protected User loadEntity(UUID entityUuid) {
+ List<String> propertyPaths = Arrays.asList(new String[]{});
+ return CdmStore.getService(IUserService.class).load(entityUuid, propertyPaths);
+ }
+
}
}