Project

General

Profile

« Previous | Next » 

Revision d02e900a

Added by Andreas Müller over 1 year ago

force usage of remoting everywhere

View differences:

eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java
47 47

  
48 48
    private static CdmApplicationState cdmApplicationState;
49 49

  
50
    private ICdmRepository appConfig;
50
    private CdmApplicationRemoteController appConfig;
51 51

  
52 52
    private ICdmDataChangeService dataChangeService;
53 53

  
......
66 66
        return cdmApplicationState;
67 67
    }
68 68

  
69
    public void setAppConfig(ICdmRepository appConfig) {
69
    public void setAppConfig(CdmApplicationRemoteController appConfig) {
70 70
        this.appConfig = appConfig;
71
        if(appConfig instanceof CdmApplicationRemoteController) {
72
            CdmBase.setNewEntityListener(new DefaultNewEntityListener());
73
        } else {
74
            CdmBase.setNewEntityListener(null);
75
        }
71
        CdmBase.setNewEntityListener(new DefaultNewEntityListener());
76 72
    }
77 73

  
78
    public ICdmRepository getAppConfig() {
74
    public CdmApplicationRemoteController getAppConfig() {
79 75
        return appConfig;
80 76
    }
81 77

  
82
    public static void setCurrentAppConfig(ICdmRepository appConfig) {
78
    public static void setCurrentAppConfig(CdmApplicationRemoteController appConfig) {
83 79
        getInstance().setAppConfig(appConfig);
84 80
    }
85 81

  
86
    public static ICdmRepository getCurrentAppConfig() {
82
    public static CdmApplicationRemoteController getCurrentAppConfig() {
87 83
        return getInstance().getAppConfig();
88 84
    }
89 85

  
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/CdmEntitySessionManager.java
212 212
            sessionObserver.changed();
213 213
        }
214 214
    }
215

  
216
    @Override
217
    public boolean isRemoting() {
218
        // FIXME:Remoting stupid method to check whether we are in remoting
219
        return true;
220
    }
221

  
222
}
223

  
215
}
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/ICdmEntitySessionManager.java
111 111

  
112 112
    public void addSessionObserver(ICdmEntitySessionManagerObserver sessionObserver);
113 113

  
114
    public boolean isRemoting();
115

  
116 114
    public void dispose(ICdmEntitySessionEnabled owner);
117 115

  
118 116
    public void disposeAll();
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/mock/MockCdmEntitySession.java
1
/**
2
* Copyright (C) 2015 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.taxeditor.session.mock;
10

  
11
import java.util.Collection;
12
import java.util.List;
13
import java.util.UUID;
14

  
15
import eu.etaxonomy.cdm.api.service.IService;
16
import eu.etaxonomy.cdm.api.service.UpdateResult;
17
import eu.etaxonomy.cdm.cache.EntityCacherDebugResult;
18
import eu.etaxonomy.cdm.model.common.CdmBase;
19
import eu.etaxonomy.cdm.persistence.dto.MergeResult;
20
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
21
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
22
import net.sf.ehcache.statistics.FlatStatistics;
23

  
24
/**
25
 * @author cmathew
26
 * @date 29 Jan 2015
27
 */
28
public class MockCdmEntitySession implements ICdmEntitySession  {
29

  
30
    @Override
31
    public <O extends Object> O load(O obj, boolean update) {
32
        return obj;
33
    }
34

  
35
    @Override
36
    public  <T extends CdmBase> T load(T cdmBase, boolean update) {
37
        return cdmBase;
38
    }
39

  
40
    @Override
41
    public  <T extends CdmBase> Collection<T> load(Collection<T> cdmBaseList, boolean update) {
42
        return cdmBaseList;
43
    }
44

  
45
    @Override
46
    public void setEntitiesAsLatest() {
47
    }
48

  
49
    @Override
50
    public void dispose() {
51
    }
52

  
53
    @Override
54
    public void bind() {
55
    }
56

  
57
    @Override
58
    public  <T extends CdmBase> EntityCacherDebugResult debug(T cdmBase) {
59
        return new EntityCacherDebugResult();
60
    }
61

  
62

  
63
    @Override
64
    public <T extends CdmBase> T remoteLoad(IService<T> service, UUID uuid) {
65
        return service.load(uuid);
66
    }
67

  
68
    @Override
69
    public <T extends CdmBase> T remoteLoad(IService<T> service, UUID uuid, List<String> propertyPaths) {
70
        return service.load(uuid, propertyPaths);
71
    }
72

  
73
    @Override
74
    public <T extends CdmBase> UUID remoteSave(IService<T> service, T cdmBase) {
75
        return service.save(cdmBase).getUuid();
76
    }
77

  
78
    @Override
79
    public <T extends CdmBase> T remoteUpdate(IService<T> service, T cdmBase) {
80
        return cdmBase;
81
    }
82

  
83
    @Override
84
    public ICdmEntitySessionEnabled getOwner() {
85
        return null;
86
    }
87

  
88
    @Override
89
    public FlatStatistics getCacheStatistics() {
90
        return null;
91
    }
92

  
93
    @Override
94
    public boolean isActive() {
95
        return false;
96
    }
97

  
98
    @Override
99
    public <T extends CdmBase> List<T> getRootEntities() {
100
        return null;
101
    }
102

  
103
    @Override
104
    public <T extends CdmBase> EntityCacherDebugResult debug(Collection<T> cdmBase, boolean includeIgnored) {
105
        return null;
106
    }
107

  
108
    @Override
109
    public <T extends CdmBase> EntityCacherDebugResult debug(boolean includeIgnored) {
110
        return null;
111
    }
112

  
113
    @Override
114
    public <T extends CdmBase> void update() {
115
    }
116

  
117
    @Override
118
    public UpdateResult load(UpdateResult updateResult, boolean update) {
119
        return updateResult;
120
    }
121

  
122
    @Override
123
    public List<String> getPropertyPaths(Object obj) {
124
        return null;
125
    }
126

  
127
    @Override
128
    public void addNewCdmEntity(CdmBase newEntity) {
129
    }
130

  
131
    @Override
132
    public <T extends CdmBase> MergeResult<T> load(MergeResult<T> mergeResult, boolean update) {
133
        return mergeResult;
134
    }
135
}
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/mock/MockCdmEntitySessionManager.java
1
/**
2
* Copyright (C) 2015 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.taxeditor.session.mock;
10

  
11
import java.util.Collection;
12

  
13
import eu.etaxonomy.cdm.api.service.UpdateResult;
14
import eu.etaxonomy.cdm.model.common.CdmBase;
15
import eu.etaxonomy.cdm.model.common.ICdmBase;
16
import eu.etaxonomy.cdm.persistence.dto.MergeResult;
17
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
18
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
19
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManager;
20
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManagerObserver;
21

  
22
public class MockCdmEntitySessionManager implements ICdmEntitySessionManager {
23

  
24
	@Override
25
	public void bind(ICdmEntitySessionEnabled sessionOwner) {
26
	}
27

  
28
	@Override
29
	public <T> T load(T obj, boolean update) {
30
		return obj;
31
	}
32

  
33
	@Override
34
	public <T extends CdmBase> T load(T obj, boolean update) {
35
		return obj;
36
	}
37

  
38
	@Override
39
	public <T extends CdmBase> Collection<T> load(Collection<T> cdmBaseList, boolean update) {
40
		return cdmBaseList;
41
	}
42

  
43
    @Override
44
    public ICdmEntitySession newSession(ICdmEntitySessionEnabled sessionOwner, boolean setAsActive) {
45
        return new MockCdmEntitySession();
46
    }
47

  
48
    @Override
49
    public ICdmEntitySession getActiveSession() {
50
        return new MockCdmEntitySession();
51
    }
52

  
53
    @Override
54
    public Collection<ICdmEntitySession> getSessions() {
55
        return null;
56
    }
57

  
58
    @Override
59
    public void addSessionObserver(ICdmEntitySessionManagerObserver sessionObserver) {
60

  
61
    }
62

  
63
    @Override
64
    public boolean isRemoting() {
65
        return false;
66
    }
67

  
68
    @Override
69
    public void dispose(ICdmEntitySessionEnabled owner) {
70
    }
71

  
72
    @Override
73
    public void disposeAll() {
74
    }
75

  
76
    @Override
77
    public <T extends CdmBase> void update() {
78
    }
79

  
80
    @Override
81
    public UpdateResult load(UpdateResult updateResult, boolean update) {
82
        return updateResult;
83
    }
84

  
85
    @Override
86
    public boolean contains(ICdmEntitySessionEnabled sessionOwner) {
87
        return false;
88
    }
89

  
90
    @Override
91
    public ICdmEntitySession bindNullSession() {
92
        return new MockCdmEntitySession();
93
    }
94

  
95
    @Override
96
    public ICdmEntitySession getNullSession() {
97
        return new MockCdmEntitySession();
98
    }
99

  
100
    @Override
101
    public <T extends ICdmBase> MergeResult<T> load(MergeResult<T> mergeResult, boolean update) {
102
        return mergeResult;
103
    }
104
}
eu.etaxonomy.taxeditor.local/src/main/java/eu/etaxonomy/taxeditor/local/server/CdmStoreConnectorLocal.java
20 20
import org.eclipse.swt.widgets.Display;
21 21
import org.springframework.core.io.Resource;
22 22

  
23
import eu.etaxonomy.cdm.api.application.CdmApplicationController;
24 23
import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController;
25 24
import eu.etaxonomy.cdm.api.application.ICdmRepository;
26 25
import eu.etaxonomy.cdm.config.CdmSourceException;
27 26
import eu.etaxonomy.cdm.config.ICdmSource;
28 27
import eu.etaxonomy.cdm.database.DbSchemaValidation;
29
import eu.etaxonomy.cdm.database.ICdmDataSource;
30 28
import eu.etaxonomy.cdm.model.common.Language;
31 29
import eu.etaxonomy.cdm.model.metadata.CdmMetaData;
32 30
import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
......
163 161
                            }
164 162
                        });
165 163

  
166
                        ICdmRepository applicationController = null;
164
                        CdmApplicationRemoteController applicationController = null;
167 165

  
168 166
                        if (!monitor.isCanceled()) {
169 167
                            CdmProgressMonitorAdapter subprogressMonitor = CdmProgressMonitorAdapter
......
210 208
        }
211 209
    }
212 210

  
213
    private ICdmRepository getApplicationController(ICdmSource cdmSource, CdmProgressMonitorAdapter subprogressMonitor) {
214
        if(cdmSource instanceof ICdmDataSource) {
215
            return  CdmApplicationController.NewInstance(applicationContextBean,
216
                    (ICdmDataSource)cdmSource,
217
                    dbSchemaValidation,
218
                    false,
219
                    subprogressMonitor);
220
        } else if(cdmSource instanceof ICdmRemoteSource) {
211
    private CdmApplicationRemoteController getApplicationController(ICdmSource cdmSource, CdmProgressMonitorAdapter subprogressMonitor) {
212
        if(cdmSource instanceof ICdmRemoteSource) {
221 213
            return CdmApplicationRemoteController.NewInstance((ICdmRemoteSource)cdmSource,
222 214
                    subprogressMonitor,
223 215
                    null);
eu.etaxonomy.taxeditor.local/src/main/java/eu/etaxonomy/taxeditor/local/server/CdmStoreLocal.java
12 12
import org.eclipse.swt.widgets.Display;
13 13
import org.springframework.core.io.Resource;
14 14

  
15
import eu.etaxonomy.cdm.api.application.ICdmRepository;
15
import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController;
16 16
import eu.etaxonomy.cdm.cache.CdmRemoteCacheManager;
17 17
import eu.etaxonomy.cdm.config.ICdmSource;
18 18
import eu.etaxonomy.cdm.database.DbSchemaValidation;
......
28 28

  
29 29
    protected static CdmStoreConnectorLocal job;
30 30
    private static CdmServer managedServer;
31
    /**
32
     * @param repository
33
     * @param cdmSource
34
     */
35
    protected CdmStoreLocal(ICdmRepository repository, ICdmSource cdmSource) {
31

  
32
    protected CdmStoreLocal(CdmApplicationRemoteController repository, ICdmSource cdmSource) {
36 33
        super(repository, cdmSource);
37 34
    }
38 35

  
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CdmStorePropertyTester.java
6 6
 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 7
 * See LICENSE.TXT at the top of this package for the full license terms.
8 8
 */
9

  
10 9
package eu.etaxonomy.taxeditor.preference;
11 10

  
12 11
import org.eclipse.core.expressions.PropertyTester;
......
16 15
/**
17 16
 * @author n.hoffmann
18 17
 * @created Jan 26, 2011
19
 * @version 1.0
20 18
 */
21 19
public class CdmStorePropertyTester extends PropertyTester {
22 20

  
23 21
    private static final String EDITOR_IS_CONNECTED_TO_DB = "isCdmStoreConnected";
24 22
    private static final String IS_REMOTING = "isRemoting";
25
    private static final String IS_STANDALONE = "isStandAlone";
26 23
    private static final String IS_CONNECTED_AND_NOT_LOCAL_ACTIVATED = "isCdmStoreConnectedAndNotLocalActivated";
27 24
    private static final String IS_CONNECTED_AND_LOCAL_ACTIVATED = "isCdmStoreConnectedAndLocalActive";
28 25

  
......
38 35
            if(!isCdmStoreConnected()) {
39 36
                return false;
40 37
            } else {
41
                return isRemoting();
38
                return true;
42 39
            }
43 40
        }
44 41

  
45
        if(IS_STANDALONE.equals(property)){
46
            if(!isCdmStoreConnected()) {
47
                return false;
48
            } else {
49
                return !isRemoting();
50
            }
51
        }
52 42
        if(IS_CONNECTED_AND_NOT_LOCAL_ACTIVATED.equals(property)){
53 43
            return isCdmStoreConnectedAndNotLocalActive();
54 44
        }
......
73 63
        active = active & PreferencesUtil.getLocalActive();
74 64
        return active;
75 65
    }
76

  
77
    private boolean isRemoting() {
78
        return CdmStore.getCurrentSessionManager().isRemoting();
79
    }
80 66
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java
94 94
import eu.etaxonomy.taxeditor.model.MessagingUtils;
95 95
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
96 96
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManager;
97
import eu.etaxonomy.taxeditor.session.mock.MockCdmEntitySessionManager;
98 97
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
99 98
import eu.etaxonomy.taxeditor.ui.dialog.RemotingLoginDialog;
100 99
import eu.etaxonomy.taxeditor.util.ProgressMonitorClientManager;
......
276 275
        CdmApplicationState.dispose();
277 276
    }
278 277

  
279
    public static void setInstance(ICdmRepository applicationController,
278
    public static void setInstance(CdmApplicationRemoteController applicationController,
280 279
            ICdmSource cdmSource) {
281 280
        instance = new CdmStore(applicationController, cdmSource);
282 281
        CdmApplicationState.setCdmServiceCacher(new CdmServiceCacher());
283 282
    }
284 283

  
285
    protected CdmStore(ICdmRepository repository,
284
    protected CdmStore(CdmApplicationRemoteController repository,
286 285
            ICdmSource cdmSource) {
287 286
        CdmApplicationState.setCurrentAppConfig(repository);
288 287
        CdmApplicationState.setCurrentDataChangeService(new CdmUIDataChangeService());
......
295 294
     *
296 295
     * @return
297 296
     */
298
    private ICdmRepository getApplicationConfiguration() {
297
    private CdmApplicationRemoteController getApplicationConfiguration() {
299 298
        try {
300 299
            return CdmApplicationState.getCurrentAppConfig();
301 300
        } catch (Exception e) {
......
304 303
        return null;
305 304
    }
306 305

  
307
    public static ICdmRepository getCurrentApplicationConfiguration() {
306
    public static CdmApplicationRemoteController getCurrentApplicationConfiguration() {
308 307
        CdmStore defaultStore = getDefault();
309 308
        if (defaultStore != null) {
310 309
            return defaultStore.getApplicationConfiguration();
......
338 337
    private MockCdmEntitySessionManager mockCdmEntitySessionManager;
339 338

  
340 339
    private ICdmEntitySessionManager getSessionManager() {
341
        //FIXME:Remoting we should only have CdmApplicationRemoteConfiguration after move to remoting
342
        //               bad hack which should be finally removed
343
        if(getCurrentApplicationConfiguration() instanceof CdmApplicationRemoteController) {
344
            return ((CdmApplicationRemoteController)getCurrentApplicationConfiguration()).getCdmEntitySessionManager();
345
        } else {
346
            if(mockCdmEntitySessionManager == null) {
347
                mockCdmEntitySessionManager = new MockCdmEntitySessionManager();
348
            }
349
            return mockCdmEntitySessionManager;
350
        }
340
        return getCurrentApplicationConfiguration().getCdmEntitySessionManager();
351 341
    }
352 342
    public static ICdmEntitySessionManager getCurrentSessionManager() {
353 343
        return getCurrentSessionManager(false);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStoreConnector.java
21 21
import org.eclipse.swt.widgets.Display;
22 22
import org.springframework.core.io.Resource;
23 23

  
24
import eu.etaxonomy.cdm.api.application.CdmApplicationController;
25 24
import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController;
26 25
import eu.etaxonomy.cdm.api.application.ICdmRepository;
27 26
import eu.etaxonomy.cdm.config.CdmSourceException;
28 27
import eu.etaxonomy.cdm.config.ICdmSource;
29 28
import eu.etaxonomy.cdm.database.DbSchemaValidation;
30
import eu.etaxonomy.cdm.database.ICdmDataSource;
31 29
import eu.etaxonomy.cdm.model.common.Language;
32 30
import eu.etaxonomy.cdm.model.metadata.CdmMetaData;
33 31
import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
......
155 153
                            }
156 154
                        });
157 155

  
158
                        ICdmRepository applicationController = null;
156
                        CdmApplicationRemoteController applicationController = null;
159 157

  
160 158
                        if (!monitor.isCanceled()) {
161 159
                            CdmProgressMonitorAdapter subprogressMonitor = CdmProgressMonitorAdapter
......
202 200
        }
203 201
    }
204 202

  
205
    private ICdmRepository getApplicationController(ICdmSource cdmSource, CdmProgressMonitorAdapter subprogressMonitor) {
206
        if(cdmSource instanceof ICdmDataSource) {
207
            return  CdmApplicationController.NewInstance(applicationContextBean,
208
                    (ICdmDataSource)cdmSource,
209
                    dbSchemaValidation,
210
                    false,
211
                    subprogressMonitor);
212
        } else if(cdmSource instanceof ICdmRemoteSource) {
203
    private CdmApplicationRemoteController getApplicationController(ICdmSource cdmSource, CdmProgressMonitorAdapter subprogressMonitor) {
204
        if(cdmSource instanceof ICdmRemoteSource) {
213 205
            return CdmApplicationRemoteController.NewInstance((ICdmRemoteSource)cdmSource,
214 206
                    subprogressMonitor,
215 207
                    null);

Also available in: Unified diff