Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2010-05-17 09:13:04 +0000
committerEike Stepper2010-05-17 09:13:04 +0000
commit53166b5089a0b57c17e16d53f033342b46b8a025 (patch)
tree828c576438abdcc2cfa7625e69aef097442e7497 /plugins
parent575437d2a174c81f43103814e231265ed9071dfa (diff)
downloadcdo-53166b5089a0b57c17e16d53f033342b46b8a025.tar.gz
cdo-53166b5089a0b57c17e16d53f033342b46b8a025.tar.xz
cdo-53166b5089a0b57c17e16d53f033342b46b8a025.zip
vserver
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.emf.cdo.examples.server.rap/src/org/eclipse/emf/cdo/examples/server/rap/DemoEntryPoint.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.examples.server.rap/src/org/eclipse/emf/cdo/examples/server/rap/DemoView.java98
-rw-r--r--plugins/org.eclipse.emf.cdo.examples.server/src/org/eclipse/emf/cdo/examples/server/DemoServer.java2
3 files changed, 98 insertions, 4 deletions
diff --git a/plugins/org.eclipse.emf.cdo.examples.server.rap/src/org/eclipse/emf/cdo/examples/server/rap/DemoEntryPoint.java b/plugins/org.eclipse.emf.cdo.examples.server.rap/src/org/eclipse/emf/cdo/examples/server/rap/DemoEntryPoint.java
index 2290b8306e..3fb76d4ba8 100644
--- a/plugins/org.eclipse.emf.cdo.examples.server.rap/src/org/eclipse/emf/cdo/examples/server/rap/DemoEntryPoint.java
+++ b/plugins/org.eclipse.emf.cdo.examples.server.rap/src/org/eclipse/emf/cdo/examples/server/rap/DemoEntryPoint.java
@@ -11,6 +11,7 @@
package org.eclipse.emf.cdo.examples.server.rap;
import org.eclipse.rwt.lifecycle.IEntryPoint;
+import org.eclipse.rwt.lifecycle.UICallBack;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.application.WorkbenchAdvisor;
@@ -22,6 +23,7 @@ public class DemoEntryPoint implements IEntryPoint
{
public int createUI()
{
+ UICallBack.activate(getClass().getName());
WorkbenchAdvisor workbenchAdvisor = new DemoWorkbenchAdvisor();
Display display = PlatformUI.createDisplay();
diff --git a/plugins/org.eclipse.emf.cdo.examples.server.rap/src/org/eclipse/emf/cdo/examples/server/rap/DemoView.java b/plugins/org.eclipse.emf.cdo.examples.server.rap/src/org/eclipse/emf/cdo/examples/server/rap/DemoView.java
index 422d78ea21..8824204f9f 100644
--- a/plugins/org.eclipse.emf.cdo.examples.server.rap/src/org/eclipse/emf/cdo/examples/server/rap/DemoView.java
+++ b/plugins/org.eclipse.emf.cdo.examples.server.rap/src/org/eclipse/emf/cdo/examples/server/rap/DemoView.java
@@ -14,8 +14,12 @@ import org.eclipse.emf.cdo.examples.server.DemoConfiguration;
import org.eclipse.emf.cdo.examples.server.DemoConfiguration.Mode;
import org.eclipse.emf.cdo.examples.server.DemoServer;
+import org.eclipse.net4j.util.concurrent.ConcurrencyUtil;
+
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
@@ -32,7 +36,7 @@ import org.eclipse.ui.part.ViewPart;
/**
* @author Eike Stepper
*/
-public class DemoView extends ViewPart
+public class DemoView extends ViewPart implements Runnable
{
public static final String ID = "org.eclipse.emf.cdo.examples.server.rap.view";
@@ -52,6 +56,10 @@ public class DemoView extends ViewPart
private DemoConfiguration config;
+ private boolean updatingConfig;
+
+ private Thread timeouter = new Thread(this);
+
public DemoView()
{
}
@@ -66,6 +74,7 @@ public class DemoView extends ViewPart
@Override
public void dispose()
{
+ timeouter.interrupt();
bigFont.dispose();
wizban.dispose();
logoImage.dispose();
@@ -91,6 +100,8 @@ public class DemoView extends ViewPart
Label logo = new Label(composite, SWT.NONE);
logo.setImage(logoImage);
logo.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
+
+ timeouter.start();
}
private Control createPane(Composite parent)
@@ -101,7 +112,7 @@ public class DemoView extends ViewPart
GridLayout gridLayout = new GridLayout(2, false);
gridLayout.horizontalSpacing = 10;
gridLayout.marginWidth = 0;
- gridLayout.marginTop = 84;
+ gridLayout.marginTop = 16;
gridLayout.marginBottom = 0;
pane.setLayout(gridLayout);
}
@@ -124,6 +135,18 @@ public class DemoView extends ViewPart
nameText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
nameText.setTextLimit(DemoConfiguration.NAME_LENGTH);
nameText.setFont(bigFont);
+ nameText.addModifyListener(new ModifyListener()
+ {
+ public void modifyText(ModifyEvent event)
+ {
+ if (!updatingConfig)
+ {
+ String name = nameText.getText();
+ config = DemoServer.INSTANCE.getConfig(name);
+ updateConfig();
+ }
+ }
+ });
Button button = new Button(composite, SWT.PUSH);
button.setText("New");
@@ -139,7 +162,7 @@ public class DemoView extends ViewPart
{
Mode mode = dialog.getMode();
config = DemoServer.INSTANCE.addConfig(mode);
- nameText.setText(config.getName());
+ updateConfig();
}
}
});
@@ -152,6 +175,7 @@ public class DemoView extends ViewPart
serverText = new Text(pane, SWT.BORDER);
serverText.setText("tcp://cdo.eclipse.org:" + DemoServer.PORT);
+ serverText.setVisible(false);
serverText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
serverText.setFont(bigFont);
}
@@ -184,4 +208,72 @@ public class DemoView extends ViewPart
{
nameText.setFocus();
}
+
+ public void run()
+ {
+ long lastUpdate = System.currentTimeMillis();
+ while (!timeouter.isInterrupted())
+ {
+ long now = System.currentTimeMillis();
+ if (now - lastUpdate >= 1000L)
+ {
+ timeoutLabel.getDisplay().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ updateTimeout();
+ }
+ });
+
+ lastUpdate = now;
+ }
+
+ ConcurrencyUtil.sleep(200L);
+ }
+ }
+
+ private void updateConfig()
+ {
+ if (!updatingConfig)
+ {
+ try
+ {
+ updatingConfig = true;
+ if (config != null)
+ {
+ nameText.setText(config.getName());
+ serverText.setVisible(true);
+ modeLabel.setText(config.getMode().toString());
+ updateTimeout();
+ }
+ else
+ {
+ serverText.setVisible(false);
+ modeLabel.setText("");
+ timeoutLabel.setText("");
+ }
+ }
+ finally
+ {
+ updatingConfig = false;
+ }
+ }
+ }
+
+ private void updateTimeout()
+ {
+ if (timeoutLabel != null && config != null)
+ {
+ if (config.isActive())
+ {
+ timeoutLabel.setText(config.formatTimeoutMinutes() + " Minutes");
+ }
+ else
+ {
+ nameText.setText("");
+ config = null;
+ updateConfig();
+ }
+ }
+ }
}
diff --git a/plugins/org.eclipse.emf.cdo.examples.server/src/org/eclipse/emf/cdo/examples/server/DemoServer.java b/plugins/org.eclipse.emf.cdo.examples.server/src/org/eclipse/emf/cdo/examples/server/DemoServer.java
index d3cee2c36d..a5dc50ef4b 100644
--- a/plugins/org.eclipse.emf.cdo.examples.server/src/org/eclipse/emf/cdo/examples/server/DemoServer.java
+++ b/plugins/org.eclipse.emf.cdo.examples.server/src/org/eclipse/emf/cdo/examples/server/DemoServer.java
@@ -34,7 +34,7 @@ public class DemoServer extends Lifecycle
public static final int PORT = 3003;
- public static final long MAX_IDLE_TIME = 10 * 60 * 1000;
+ public static final long MAX_IDLE_TIME = 1 * 60 * 1000;
public static final DemoServer INSTANCE = new DemoServer();

Back to the top