Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/SessionPropertyTester.java')
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/SessionPropertyTester.java271
1 files changed, 207 insertions, 64 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/SessionPropertyTester.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/SessionPropertyTester.java
index 39b240582a..207ccbb14c 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/SessionPropertyTester.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/SessionPropertyTester.java
@@ -10,90 +10,233 @@
*/
package org.eclipse.emf.internal.cdo.session;
+import org.eclipse.emf.cdo.common.id.CDOID;
+import org.eclipse.emf.cdo.common.util.CDOCommonUtil;
import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.net4j.util.ObjectUtil;
+import org.eclipse.emf.internal.cdo.messages.Messages;
-import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.net4j.util.properties.DefaultPropertyTester;
+import org.eclipse.net4j.util.properties.Property;
/**
* @author Eike Stepper
*/
-public class SessionPropertyTester extends PropertyTester
+public class SessionPropertyTester extends DefaultPropertyTester<CDOSession>
{
- public SessionPropertyTester()
- {
- }
+ private static final String CATEGORY_SESSION = "Session"; //$NON-NLS-1$
- public boolean test(Object receiver, String property, Object[] args, Object expectedValue)
+ private static final String CATEGORY_REPOSITORY = "Repository"; //$NON-NLS-1$
+
+ public SessionPropertyTester()
{
- CDOSession session = (CDOSession)receiver;
- if ("sessionID".equals(property)) //$NON-NLS-1$
+ add(new Property<CDOSession>("open", Messages.getString("SessionPropertyTester_34"),//
+ Messages.getString("SessionPropertyTester_35"), //$NON-NLS-1$
+ CATEGORY_SESSION)
{
- int expected = (Integer)expectedValue;
- return session.getSessionID() == expected;
- }
-
- if ("userID".equals(property)) //$NON-NLS-1$
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return !session.isClosed();
+ }
+ });
+
+ add(new Property<CDOSession>("sessionID", Messages.getString("SessionPropertyTester_0"),//
+ Messages.getString("SessionPropertyTester_3"), //$NON-NLS-1$
+ CATEGORY_SESSION)
{
- String expected = (String)expectedValue;
- return ObjectUtil.equals(session.getUserID(), expected);
- }
-
- if ("passiveUpdateEnabled".equals(property)) //$NON-NLS-1$
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getSessionID();
+ }
+ });
+
+ add(new Property<CDOSession>("userID", Messages.getString("SessionPropertyTester_4"), //
+ Messages.getString("SessionPropertyTester_5"), //$NON-NLS-1$
+ CATEGORY_SESSION)
{
- boolean expected = (Boolean)expectedValue;
- return session.options().isPassiveUpdateEnabled() == expected;
- }
-
- if ("passiveUpdateMode".equals(property)) //$NON-NLS-1$
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getUserID();
+ }
+ });
+
+ add(new Property<CDOSession>("passiveUpdateEnabled", Messages.getString("SessionPropertyTester_6"), //
+ Messages.getString("SessionPropertyTester_7"), //$NON-NLS-1$
+ CATEGORY_SESSION)
{
- String expected = (String)expectedValue;
- return ObjectUtil.equals(session.options().getPassiveUpdateMode().toString(), expected);
- }
-
- if ("supportingAudits".equals(property)) //$NON-NLS-1$
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.options().isPassiveUpdateEnabled();
+ }
+ });
+
+ add(new Property<CDOSession>("lastUpdateTime", Messages.getString("SessionPropertyTester_36"), //
+ Messages.getString("SessionPropertyTester_37"), //$NON-NLS-1$
+ CATEGORY_SESSION)
{
- boolean expected = (Boolean)expectedValue;
- return session.getRepositoryInfo().isSupportingAudits() == expected;
- }
-
- if ("supportingBranches".equals(property)) //$NON-NLS-1$
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return CDOCommonUtil.formatTimeStamp(session.getLastUpdateTime());
+ }
+ });
+
+ add(new Property<CDOSession>("passiveUpdateMode", Messages.getString("SessionPropertyTester_8"), //
+ Messages.getString("SessionPropertyTester_9"), //$NON-NLS-1$
+ CATEGORY_SESSION)
{
- boolean expected = (Boolean)expectedValue;
- return session.getRepositoryInfo().isSupportingBranches() == expected;
- }
-
- if ("repositoryName".equals(property)) //$NON-NLS-1$
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.options().getPassiveUpdateMode();
+ }
+ });
+
+ add(new Property<CDOSession>("repositoryName", Messages.getString("SessionPropertyTester_10"), //
+ Messages.getString("SessionPropertyTester_11"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
{
- String expected = (String)expectedValue;
- return ObjectUtil.equals(session.getRepositoryInfo().getName(), expected);
- }
-
- if ("repositoryUUID".equals(property)) //$NON-NLS-1$
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getRepositoryInfo().getName();
+ }
+ });
+
+ add(new Property<CDOSession>("repositoryUUID", Messages.getString("SessionPropertyTester_12"), //
+ Messages.getString("SessionPropertyTester_13"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
{
- String expected = (String)expectedValue;
- return ObjectUtil.equals(session.getRepositoryInfo().getUUID(), expected);
- }
-
- if ("repositoryType".equals(property)) //$NON-NLS-1$
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getRepositoryInfo().getUUID();
+ }
+ });
+
+ add(new Property<CDOSession>("repositoryType", Messages.getString("SessionPropertyTester_14"), //
+ Messages.getString("SessionPropertyTester_15"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
{
- String expected = (String)expectedValue;
- return ObjectUtil.equals(session.getRepositoryInfo().getType().toString(), expected);
- }
-
- if ("repositoryState".equals(property)) //$NON-NLS-1$
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getRepositoryInfo().getType();
+ }
+ });
+
+ add(new Property<CDOSession>("repositoryState", Messages.getString("SessionPropertyTester_16"), //
+ Messages.getString("SessionPropertyTester_17"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
{
- String expected = (String)expectedValue;
- return ObjectUtil.equals(session.getRepositoryInfo().getState().toString(), expected);
- }
-
- if ("repositoryCreationTime".equals(property)) //$NON-NLS-1$
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getRepositoryInfo().getState();
+ }
+ });
+
+ add(new Property<CDOSession>("repositoryCreationTime", Messages.getString("SessionPropertyTester_18"), //
+ Messages.getString("SessionPropertyTester_19"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
{
- long expected = (Long)expectedValue;
- return session.getRepositoryInfo().getCreationTime() == expected;
- }
-
- return false;
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return CDOCommonUtil.formatTimeStamp(session.getRepositoryInfo().getCreationTime());
+ }
+ });
+
+ add(new Property<CDOSession>("supportingAudits", Messages.getString("SessionPropertyTester_20"), //
+ Messages.getString("SessionPropertyTester_21"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
+ {
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getRepositoryInfo().isSupportingAudits();
+ }
+ });
+
+ add(new Property<CDOSession>("supportingBranches", Messages.getString("SessionPropertyTester_22"), //
+ Messages.getString("SessionPropertyTester_23"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
+ {
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getRepositoryInfo().isSupportingBranches();
+ }
+ });
+
+ add(new Property<CDOSession>("supportingEcore", Messages.getString("SessionPropertyTester_28"), //
+ Messages.getString("SessionPropertyTester_29"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
+ {
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getRepositoryInfo().isSupportingEcore();
+ }
+ });
+
+ add(new Property<CDOSession>("ensureReferentialIntegrity", Messages.getString("SessionPropertyTester_30"), //
+ Messages.getString("SessionPropertyTester_31"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
+ {
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getRepositoryInfo().isEnsuringReferentialIntegrity();
+ }
+ });
+
+ add(new Property<CDOSession>("idGenerationLocation", Messages.getString("SessionPropertyTester_32"), //
+ Messages.getString("SessionPropertyTester_33"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
+ {
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getRepositoryInfo().getIDGenerationLocation();
+ }
+ });
+
+ add(new Property<CDOSession>("storeType", Messages.getString("SessionPropertyTester_24"), //
+ Messages.getString("SessionPropertyTester_25"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
+ {
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ return session.getRepositoryInfo().getStoreType();
+ }
+ });
+
+ add(new Property<CDOSession>("objectIDTypes", Messages.getString("SessionPropertyTester_26"), //
+ Messages.getString("SessionPropertyTester_27"), //$NON-NLS-1$
+ CATEGORY_REPOSITORY)
+ {
+ @Override
+ protected Object eval(CDOSession session)
+ {
+ StringBuilder builder = new StringBuilder();
+ for (CDOID.ObjectType objectIDType : session.getRepositoryInfo().getObjectIDTypes())
+ {
+ if (builder.length() != 0)
+ {
+ builder.append(", "); //$NON-NLS-1$
+ }
+
+ builder.append(objectIDType);
+ }
+
+ return builder;
+ }
+ });
}
}

Back to the top