Project

General

Profile

« Previous | Next » 

Revision 2df61241

Added by Andreas Müller over 6 years ago

fix #7088 fix NPE when saving Media in bulk editor

View differences:

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