Revision 2df61241
Added by Andreas Müller over 6 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java | ||
---|---|---|
19 | 19 |
import org.springframework.security.access.PermissionEvaluator; |
20 | 20 |
import org.springframework.security.authentication.AuthenticationManager; |
21 | 21 |
import org.springframework.security.core.Authentication; |
22 |
import org.springframework.security.core.GrantedAuthority; |
|
22 | 23 |
import org.springframework.security.core.context.SecurityContext; |
23 | 24 |
import org.springframework.security.core.context.SecurityContextHolder; |
24 | 25 |
|
... | ... | |
29 | 30 |
import eu.etaxonomy.cdm.api.cache.CdmServiceCacher; |
30 | 31 |
import eu.etaxonomy.cdm.api.conversation.ConversationHolder; |
31 | 32 |
import eu.etaxonomy.cdm.api.service.IAgentService; |
33 |
import eu.etaxonomy.cdm.api.service.IAnnotationService; |
|
34 |
import eu.etaxonomy.cdm.api.service.IClassificationService; |
|
32 | 35 |
import eu.etaxonomy.cdm.api.service.ICollectionService; |
33 | 36 |
import eu.etaxonomy.cdm.api.service.ICommonService; |
37 |
import eu.etaxonomy.cdm.api.service.IDescriptionService; |
|
38 |
import eu.etaxonomy.cdm.api.service.IEntityConstraintViolationService; |
|
39 |
import eu.etaxonomy.cdm.api.service.IEntityValidationService; |
|
40 |
import eu.etaxonomy.cdm.api.service.IFeatureNodeService; |
|
41 |
import eu.etaxonomy.cdm.api.service.IFeatureTreeService; |
|
42 |
import eu.etaxonomy.cdm.api.service.IGrantedAuthorityService; |
|
43 |
import eu.etaxonomy.cdm.api.service.IGroupService; |
|
44 |
import eu.etaxonomy.cdm.api.service.IMarkerService; |
|
45 |
import eu.etaxonomy.cdm.api.service.IMediaService; |
|
34 | 46 |
import eu.etaxonomy.cdm.api.service.INameService; |
35 | 47 |
import eu.etaxonomy.cdm.api.service.IOccurrenceService; |
48 |
import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService; |
|
36 | 49 |
import eu.etaxonomy.cdm.api.service.IPolytomousKeyService; |
37 | 50 |
import eu.etaxonomy.cdm.api.service.IReferenceService; |
51 |
import eu.etaxonomy.cdm.api.service.IRegistrationService; |
|
52 |
import eu.etaxonomy.cdm.api.service.IRightsService; |
|
38 | 53 |
import eu.etaxonomy.cdm.api.service.IService; |
39 | 54 |
import eu.etaxonomy.cdm.api.service.ITaxonService; |
55 |
import eu.etaxonomy.cdm.api.service.ITermService; |
|
40 | 56 |
import eu.etaxonomy.cdm.api.service.IUserService; |
57 |
import eu.etaxonomy.cdm.api.service.IVocabularyService; |
|
58 |
import eu.etaxonomy.cdm.api.service.IWorkingSetService; |
|
41 | 59 |
import eu.etaxonomy.cdm.api.service.molecular.IAmplificationService; |
42 | 60 |
import eu.etaxonomy.cdm.api.service.molecular.IPrimerService; |
61 |
import eu.etaxonomy.cdm.api.service.statistics.Statistics; |
|
43 | 62 |
import eu.etaxonomy.cdm.config.ICdmSource; |
44 | 63 |
import eu.etaxonomy.cdm.database.DbSchemaValidation; |
45 | 64 |
import eu.etaxonomy.cdm.model.agent.AgentBase; |
65 |
import eu.etaxonomy.cdm.model.common.Annotation; |
|
46 | 66 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
67 |
import eu.etaxonomy.cdm.model.common.DefinedTerm; |
|
68 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
|
69 |
import eu.etaxonomy.cdm.model.common.Group; |
|
47 | 70 |
import eu.etaxonomy.cdm.model.common.Language; |
71 |
import eu.etaxonomy.cdm.model.common.Marker; |
|
72 |
import eu.etaxonomy.cdm.model.common.TermVocabulary; |
|
48 | 73 |
import eu.etaxonomy.cdm.model.common.User; |
74 |
import eu.etaxonomy.cdm.model.description.DescriptionBase; |
|
75 |
import eu.etaxonomy.cdm.model.description.FeatureNode; |
|
76 |
import eu.etaxonomy.cdm.model.description.FeatureTree; |
|
49 | 77 |
import eu.etaxonomy.cdm.model.description.PolytomousKey; |
78 |
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; |
|
79 |
import eu.etaxonomy.cdm.model.description.WorkingSet; |
|
80 |
import eu.etaxonomy.cdm.model.media.Media; |
|
81 |
import eu.etaxonomy.cdm.model.media.Rights; |
|
50 | 82 |
import eu.etaxonomy.cdm.model.molecular.Amplification; |
51 | 83 |
import eu.etaxonomy.cdm.model.molecular.Primer; |
84 |
import eu.etaxonomy.cdm.model.name.Registration; |
|
52 | 85 |
import eu.etaxonomy.cdm.model.name.TaxonName; |
53 | 86 |
import eu.etaxonomy.cdm.model.occurrence.Collection; |
54 | 87 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; |
55 | 88 |
import eu.etaxonomy.cdm.model.reference.Reference; |
89 |
import eu.etaxonomy.cdm.model.taxon.Classification; |
|
56 | 90 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
91 |
import eu.etaxonomy.cdm.model.validation.EntityConstraintViolation; |
|
92 |
import eu.etaxonomy.cdm.model.validation.EntityValidation; |
|
93 |
import eu.etaxonomy.cdm.model.view.AuditEvent; |
|
57 | 94 |
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD; |
58 | 95 |
import eu.etaxonomy.cdm.persistence.hibernate.permission.ICdmPermissionEvaluator; |
59 | 96 |
import eu.etaxonomy.cdm.persistence.hibernate.permission.Role; |
... | ... | |
241 | 278 |
*/ |
242 | 279 |
public static void close(final IProgressMonitor monitor) { |
243 | 280 |
Display.getDefault().asyncExec(new Runnable() { |
244 |
/* |
|
245 |
* (non-Javadoc) |
|
246 |
* |
|
247 |
* @see java.lang.Runnable#run() |
|
248 |
*/ |
|
281 |
|
|
249 | 282 |
@Override |
250 | 283 |
public void run() { |
251 | 284 |
getContextManager().notifyContextAboutToStop(monitor); |
... | ... | |
651 | 684 |
else if (cdmBase instanceof SpecimenOrObservationBase) { |
652 | 685 |
service = (IService<T>) getService(IOccurrenceService.class); |
653 | 686 |
} |
687 |
else if (cdmBase instanceof Media) { |
|
688 |
service = (IService<T>) getService(IMediaService.class); |
|
689 |
} |
|
654 | 690 |
else if (cdmBase instanceof Collection) { |
655 | 691 |
service = (IService<T>) getService(ICollectionService.class); |
656 | 692 |
} |
657 | 693 |
else if (cdmBase instanceof User) { |
658 | 694 |
service = (IService<T>) getService(IUserService.class); |
659 | 695 |
} |
696 |
else if (cdmBase instanceof Group) { |
|
697 |
service = (IService<T>) getService(IGroupService.class); |
|
698 |
} |
|
699 |
else if (cdmBase instanceof WorkingSet) { |
|
700 |
service = (IService<T>) getService(IWorkingSetService.class); |
|
701 |
} |
|
702 |
else if (cdmBase instanceof TermVocabulary<?>) { |
|
703 |
service = (IService<T>) getService(IVocabularyService.class); |
|
704 |
} |
|
705 |
else if (cdmBase instanceof DefinedTermBase<?>) { |
|
706 |
service = (IService<T>) getService(ITermService.class); |
|
707 |
} |
|
660 | 708 |
else if (cdmBase instanceof Primer) { |
661 | 709 |
service = (IService<T>) getService(IPrimerService.class); |
662 | 710 |
} |
663 | 711 |
else if (cdmBase instanceof Amplification) { |
664 | 712 |
service = (IService<T>) getService(IAmplificationService.class); |
665 |
} else if (cdmBase instanceof PolytomousKey) { |
|
713 |
} |
|
714 |
else if (cdmBase instanceof PolytomousKey) { |
|
666 | 715 |
service = (IService<T>) getService(IPolytomousKeyService.class); |
667 | 716 |
} |
717 |
else if (cdmBase instanceof PolytomousKeyNode) { |
|
718 |
service = (IService<T>) getService(IPolytomousKeyNodeService.class); |
|
719 |
} |
|
720 |
else if (cdmBase instanceof Annotation) { |
|
721 |
service = (IService<T>) getService(IAnnotationService.class); |
|
722 |
} |
|
723 |
// else if (cdmBase instanceof AuditEvent) { |
|
724 |
// service = (IService<T>) getService(IAuditEventService.class); |
|
725 |
// } |
|
726 |
else if (cdmBase instanceof Classification) { |
|
727 |
service = (IService<T>) getService(IClassificationService.class); |
|
728 |
} |
|
729 |
else if (cdmBase instanceof DescriptionBase<?>) { |
|
730 |
service = (IService<T>) getService(IDescriptionService.class); |
|
731 |
} |
|
732 |
else if (cdmBase instanceof EntityConstraintViolation) { |
|
733 |
service = (IService<T>) getService(IEntityConstraintViolationService.class); |
|
734 |
} |
|
735 |
else if (cdmBase instanceof EntityValidation) { |
|
736 |
service = (IService<T>) getService(IEntityValidationService.class); |
|
737 |
} |
|
738 |
else if (cdmBase instanceof FeatureNode) { |
|
739 |
service = (IService<T>) getService(IFeatureNodeService.class); |
|
740 |
} |
|
741 |
else if (cdmBase instanceof FeatureTree) { |
|
742 |
service = (IService<T>) getService(IFeatureTreeService.class); |
|
743 |
} |
|
744 |
else if (cdmBase instanceof GrantedAuthority) { |
|
745 |
service = (IService<T>) getService(IGrantedAuthorityService.class); |
|
746 |
} |
|
747 |
else if (cdmBase instanceof Marker) { |
|
748 |
service = (IService<T>) getService(IMarkerService.class); |
|
749 |
} |
|
750 |
else if (cdmBase instanceof Registration) { |
|
751 |
service = (IService<T>) getService(IRegistrationService.class); |
|
752 |
} |
|
753 |
else if (cdmBase instanceof Rights) { |
|
754 |
service = (IService<T>) getService(IRightsService.class); |
|
755 |
} |
|
756 |
else{ |
|
757 |
String message = "Service for entity of class %s not yet implemented in TaxEditor"; |
|
758 |
message = String.format(message, cdmBase.getClass().getSimpleName()); |
|
759 |
throw new RuntimeException(message); |
|
760 |
} |
|
668 | 761 |
} |
669 | 762 |
return service; |
670 | 763 |
} |
Also available in: Unified diff
fix #7088 fix NPE when saving Media in bulk editor