Author: adietish
Date: 2011-09-30 04:53:08 -0400 (Fri, 30 Sep 2011)
New Revision: 35201
Added:
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/MandatoryStringValidator.java
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/ObservableUIPojo.java
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/UrlString2BooleanConverter.java
trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/databinding/
trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/databinding/ObservablePojo.java
Removed:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/internal/deltacloud/core/observable/
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/common/databinding/validator/ObservableUIPojo.java
Modified:
trunk/common/plugins/org.jboss.tools.common.ui/META-INF/MANIFEST.MF
trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/META-INF/MANIFEST.MF
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ManageKeysPageModel.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePageModel.java
Log:
[JBIDE-9805] moved ObservablePojo and ObservableUIPojo to org.jboss.tools.common and
org.jboss.tools.common.ui
Modified: trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF
===================================================================
--- trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF 2011-09-30 08:44:47
UTC (rev 35200)
+++ trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF 2011-09-30 08:53:08
UTC (rev 35201)
@@ -6,6 +6,7 @@
Bundle-SymbolicName: org.jboss.tools.common;singleton:=true
Bundle-Localization: plugin
Export-Package: org.jboss.tools.common,
+ org.jboss.tools.common.databinding,
org.jboss.tools.common.java,
org.jboss.tools.common.java.impl,
org.jboss.tools.common.jobs,
Added:
trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/databinding/ObservablePojo.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/databinding/ObservablePojo.java
(rev 0)
+++
trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/databinding/ObservablePojo.java 2011-09-30
08:53:08 UTC (rev 35201)
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.common.databinding;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+
+/**
+ * A POJO base class that may notify observers on behalf of
+ * {@link PropertyChangeSupport}
+ */
+public abstract class ObservablePojo {
+
+ private PropertyChangeSupport propertyChangeSupport;
+
+ public ObservablePojo() {
+ this.propertyChangeSupport = new PropertyChangeSupport(this);
+ }
+
+ public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
+ propertyChangeSupport.firePropertyChange(propertyName, oldValue, newValue);
+ }
+
+ public void fireIndexedPropertyChange(String propertyName, int index, Object
oldValue, Object newValue) {
+ propertyChangeSupport.fireIndexedPropertyChange(propertyName, index, oldValue,
newValue);
+ }
+
+ public void addPropertyChangeListener(String propertyName, PropertyChangeListener
listener) {
+ if (!contains(listener)) {
+ propertyChangeSupport.addPropertyChangeListener(propertyName, listener);
+ }
+ }
+
+ public void addPropertyChangeListener(PropertyChangeListener listener) {
+ if (!contains(listener)) {
+ propertyChangeSupport.addPropertyChangeListener(listener);
+ }
+ }
+
+ public void removePropertyChangeListener(String propertyName, PropertyChangeListener
listener) {
+ propertyChangeSupport.removePropertyChangeListener(propertyName, listener);
+ }
+
+ public void removePropertyChangeListener(
+ PropertyChangeListener listener) {
+ propertyChangeSupport.removePropertyChangeListener(listener);
+ }
+
+ protected boolean contains(PropertyChangeListener listener) {
+ boolean contains = false;
+ for (PropertyChangeListener registeredListener :
propertyChangeSupport.getPropertyChangeListeners()) {
+ if (registeredListener == listener) {
+ contains = true;
+ break;
+ }
+ }
+ return contains;
+ }
+
+ protected PropertyChangeSupport getPropertyChangeSupport() {
+ return propertyChangeSupport;
+ }
+}
Property changes on:
trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/databinding/ObservablePojo.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/common/plugins/org.jboss.tools.common.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.ui/META-INF/MANIFEST.MF 2011-09-30
08:44:47 UTC (rev 35200)
+++ trunk/common/plugins/org.jboss.tools.common.ui/META-INF/MANIFEST.MF 2011-09-30
08:53:08 UTC (rev 35201)
@@ -14,9 +14,11 @@
org.eclipse.jst.j2ee.ui;bundle-version="1.1.500",
org.eclipse.ui.forms;bundle-version="3.5.100";visibility:=reexport,
org.eclipse.ui.workbench.texteditor;bundle-version="3.7.0",
- org.eclipse.jface.text;bundle-version="3.7.0"
+ org.eclipse.jface.text;bundle-version="3.7.0",
+ org.eclipse.core.databinding;bundle-version="1.4.0"
Export-Package: org.jboss.tools.common.ui,
org.jboss.tools.common.ui.browser,
+ org.jboss.tools.common.ui.databinding,
org.jboss.tools.common.ui.preferences,
org.jboss.tools.common.ui.widget.editor,
org.jboss.tools.common.ui.widget.field,
Added:
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/MandatoryStringValidator.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/MandatoryStringValidator.java
(rev 0)
+++
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/MandatoryStringValidator.java 2011-09-30
08:53:08 UTC (rev 35201)
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.common.ui.databinding;
+
+import org.eclipse.core.databinding.validation.IValidator;
+import org.eclipse.core.databinding.validation.ValidationStatus;
+import org.eclipse.core.runtime.IStatus;
+
+/**
+ * A {@link IValidator} that validates ok if the string it shall validate is not empty.
+ */
+public class MandatoryStringValidator implements IValidator {
+
+ private String errorMessage;
+
+ public MandatoryStringValidator(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ /**
+ *
+ * validates the given string. Validation passes only if the given value is
+ * not <tt>null</tt> and it's length's larger than 0
+ *
+ */
+ public IStatus validate(Object value) {
+ if (!((value instanceof String) && ((String) value).length() > 0)) {
+ return ValidationStatus.error(errorMessage);
+ }
+ return ValidationStatus.ok();
+ }
+}
Property changes on:
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/MandatoryStringValidator.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/ObservableUIPojo.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/ObservableUIPojo.java
(rev 0)
+++
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/ObservableUIPojo.java 2011-09-30
08:53:08 UTC (rev 35201)
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.common.ui.databinding;
+
+import org.eclipse.swt.widgets.Display;
+import org.jboss.tools.common.databinding.ObservablePojo;
+
+/**
+ * @author André Dietisheim
+ *
+ */
+public class ObservableUIPojo extends ObservablePojo {
+
+ @Override
+ public void firePropertyChange(final String propertyName, final Object oldValue, final
Object newValue) {
+ Display.getDefault().syncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ ObservableUIPojo.super.firePropertyChange(propertyName, oldValue, newValue);
+ }
+ });
+ }
+
+ @Override
+ public void fireIndexedPropertyChange(final String propertyName, final int index, final
Object oldValue,
+ final Object newValue) {
+ Display.getDefault().syncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ ObservableUIPojo.super.fireIndexedPropertyChange(propertyName, index, oldValue,
newValue);
+ }
+ });
+ }
+
+}
Property changes on:
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/ObservableUIPojo.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/UrlString2BooleanConverter.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/UrlString2BooleanConverter.java
(rev 0)
+++
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/UrlString2BooleanConverter.java 2011-09-30
08:53:08 UTC (rev 35201)
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.common.ui.databinding;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.regex.Pattern;
+
+import org.eclipse.core.databinding.conversion.Converter;
+
+/**
+ * Converts an url in string form to a boolean. Returns true if the string is a
+ * valid url. The validity check is a simplified check for a valid url.
+ *
+ * @author André Dietisheim
+ *
+ */
+public class UrlString2BooleanConverter extends Converter {
+
+ private static final Pattern simpleUrlPattern =
Pattern.compile(".+://[^\\.]+\\.[^\\.]+(\\.[^\\.]+){0,1}");
+
+ public UrlString2BooleanConverter() {
+ super(String.class, Boolean.class);
+ }
+
+ @Override
+ public Object convert(Object fromObject) {
+ if (!(fromObject instanceof String)) {
+ return Boolean.FALSE;
+ }
+
+ return toUrl((String) fromObject) != null;
+ }
+
+ private URL toUrl(String url) {
+ try {
+ if (!simpleUrlPattern.matcher(url).matches()) {
+ return null;
+ }
+ return new URL(url);
+ } catch (MalformedURLException e) {
+ return null;
+ }
+ }
+}
\ No newline at end of file
Property changes on:
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/UrlString2BooleanConverter.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF 2011-09-30
08:44:47 UTC (rev 35200)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF 2011-09-30
08:53:08 UTC (rev 35201)
@@ -13,7 +13,7 @@
Export-Package:
org.apache.deltacloud.client;x-friends:="org.jboss.tools.deltacloud.integration,org.jboss.tools.deltacloud.test",
org.apache.deltacloud.client.utils;x-friends:="org.jboss.tools.deltacloud.test,org.jboss.tools.deltacloud.ui",
org.jboss.tools.deltacloud.core;x-friends:="org.jboss.tools.deltacloud.ui,org.jboss.tools.deltacloud.test,org.jboss.tools.deltacloud.integration",
-
org.jboss.tools.deltacloud.core.job;x-friends:="org.jboss.tools.deltacloud.ui,org.jboss.tools.deltacloud.test,org.jboss.tools.deltacloud.integration",
-
org.jboss.tools.internal.deltacloud.core.observable;x-friends:="org.jboss.tools.deltacloud.ui"
+
org.jboss.tools.deltacloud.core.job;x-friends:="org.jboss.tools.deltacloud.ui,org.jboss.tools.deltacloud.test,org.jboss.tools.deltacloud.integration"
+Import-Package: org.jboss.tools.common.databinding
Bundle-ClassPath: client-0.2.0-SNAPSHOT.jar,
.
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2011-09-30
08:44:47 UTC (rev 35200)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2011-09-30
08:53:08 UTC (rev 35201)
@@ -28,8 +28,8 @@
import org.apache.deltacloud.client.Key;
import org.apache.deltacloud.client.Realm;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.jboss.tools.common.databinding.ObservablePojo;
import org.jboss.tools.deltacloud.core.DeltaCloudInstance.State;
-import org.jboss.tools.internal.deltacloud.core.observable.ObservablePojo;
/**
* @author Jeff Jonston
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/META-INF/MANIFEST.MF 2011-09-30
08:44:47 UTC (rev 35200)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/META-INF/MANIFEST.MF 2011-09-30
08:53:08 UTC (rev 35201)
@@ -29,3 +29,4 @@
org.jboss.tools.deltacloud.ui.preferences,
org.jboss.tools.deltacloud.ui.wizard,
org.jboss.tools.internal.deltacloud.ui.utils;x-friends:="org.jboss.tools.deltacloud.test,org.jboss.tools.deltacloud.integration"
+Import-Package: org.jboss.tools.common.ui.databinding
Deleted:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/common/databinding/validator/ObservableUIPojo.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/common/databinding/validator/ObservableUIPojo.java 2011-09-30
08:44:47 UTC (rev 35200)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/common/databinding/validator/ObservableUIPojo.java 2011-09-30
08:53:08 UTC (rev 35201)
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at
http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.internal.deltacloud.ui.common.databinding.validator;
-
-import org.eclipse.swt.widgets.Display;
-import org.jboss.tools.internal.deltacloud.core.observable.ObservablePojo;
-
-/**
- * @author André Dietisheim
- *
- */
-public class ObservableUIPojo extends ObservablePojo {
-
- @Override
- public void firePropertyChange(final String propertyName, final Object oldValue, final
Object newValue) {
- Display.getDefault().syncExec(new Runnable() {
-
- @Override
- public void run() {
- ObservableUIPojo.super.firePropertyChange(propertyName, oldValue, newValue);
- }
- });
- }
-
- @Override
- public void fireIndexedPropertyChange(final String propertyName, final int index, final
Object oldValue,
- final Object newValue) {
- Display.getDefault().syncExec(new Runnable() {
-
- @Override
- public void run() {
- ObservableUIPojo.super.fireIndexedPropertyChange(propertyName, index, oldValue,
newValue);
- }
- });
- }
-
-}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java 2011-09-30
08:44:47 UTC (rev 35200)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java 2011-09-30
08:53:08 UTC (rev 35201)
@@ -16,10 +16,10 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
+import org.jboss.tools.common.ui.databinding.ObservableUIPojo;
import org.jboss.tools.deltacloud.core.DeltaCloud;
import org.jboss.tools.deltacloud.core.DeltaCloudDriver;
import org.jboss.tools.deltacloud.core.DeltaCloudException;
-import
org.jboss.tools.internal.deltacloud.ui.common.databinding.validator.ObservableUIPojo;
import org.jboss.tools.internal.deltacloud.ui.utils.URIUtils;
/**
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ManageKeysPageModel.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ManageKeysPageModel.java 2011-09-30
08:44:47 UTC (rev 35200)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ManageKeysPageModel.java 2011-09-30
08:53:08 UTC (rev 35201)
@@ -16,10 +16,10 @@
import java.util.Arrays;
import java.util.List;
+import org.jboss.tools.common.ui.databinding.ObservableUIPojo;
import org.jboss.tools.deltacloud.core.DeltaCloud;
import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.DeltaCloudKey;
-import
org.jboss.tools.internal.deltacloud.ui.common.databinding.validator.ObservableUIPojo;
/**
* @author André Dietisheim
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePageModel.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePageModel.java 2011-09-30
08:44:47 UTC (rev 35200)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePageModel.java 2011-09-30
08:53:08 UTC (rev 35201)
@@ -19,13 +19,13 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.swt.widgets.Display;
+import org.jboss.tools.common.ui.databinding.ObservableUIPojo;
import org.jboss.tools.deltacloud.core.DeltaCloud;
import org.jboss.tools.deltacloud.core.DeltaCloudHardwareProfile;
import org.jboss.tools.deltacloud.core.DeltaCloudImage;
import org.jboss.tools.deltacloud.core.DeltaCloudRealm;
import org.jboss.tools.deltacloud.core.job.AbstractCloudElementJob;
import org.jboss.tools.deltacloud.core.job.AbstractCloudElementJob.CLOUDELEMENT;
-import
org.jboss.tools.internal.deltacloud.ui.common.databinding.validator.ObservableUIPojo;
/**
* @author Jeff Jonhston