Merge branch 'develop' into remoting-4.0
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / CdmStorePropertyTester.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.taxeditor.preference;
12
13 import org.eclipse.core.expressions.PropertyTester;
14
15 import eu.etaxonomy.taxeditor.store.CdmStore;
16
17 /**
18 * @author n.hoffmann
19 * @created Jan 26, 2011
20 * @version 1.0
21 */
22 public class CdmStorePropertyTester extends PropertyTester {
23
24 private static final String EDITOR_IS_CONNECTED_TO_DB = "isCdmStoreConnected";
25 private static final String IS_REMOTING = "isRemoting";
26 private static final String IS_STANDALONE = "isStandAlone";
27
28 @Override
29 public boolean test(Object receiver, String property, Object[] args,
30 Object expectedValue) {
31
32 if(EDITOR_IS_CONNECTED_TO_DB.equals(property)){
33 return isCdmStoreConnected();
34 }
35
36 if(IS_REMOTING.equals(property)){
37 if(!isCdmStoreConnected()) {
38 return false;
39 } else {
40 return isRemoting();
41 }
42 }
43
44 if(IS_STANDALONE.equals(property)){
45 if(!isCdmStoreConnected()) {
46 return false;
47 } else {
48 return !isRemoting();
49 }
50 }
51 return false;
52 }
53
54 private boolean isCdmStoreConnected(){
55 boolean active = CdmStore.isActive();
56 return active;
57 }
58
59 private boolean isRemoting() {
60 return CdmStore.getCurrentSessionManager().isRemoting();
61
62 }
63
64
65 }