JBoss Tools SVN: r26677 - trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2010-11-17 11:27:16 -0500 (Wed, 17 Nov 2010)
New Revision: 26677
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
Log:
[JBIDE-7597] added exception to destroy instance
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 2010-11-17 16:20:37 UTC (rev 26676)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2010-11-17 16:27:16 UTC (rev 26677)
@@ -254,7 +254,7 @@
} catch (DeltaCloudException e) {
multiException.addError(e);
}
-
+
if (!multiException.isEmpty()) {
throw multiException;
}
@@ -414,20 +414,15 @@
}
}
- public DeltaCloudInstance[] destroyInstance(String instanceId) {
- try {
- DeltaCloudInstance instance = getInstance(instanceId);
- performInstanceAction(instance, DeltaCloudInstance.DESTROY);
- instances.remove(instance);
- } catch (DeltaCloudException e) {
- return null;
- }
+ public DeltaCloudInstance[] destroyInstance(String instanceId) throws DeltaCloudException {
+ DeltaCloudInstance instance = getInstance(instanceId);
+ performInstanceAction(instance, DeltaCloudInstance.DESTROY);
+ instances.remove(instance);
// TODO: remove notification with all instances, replace by notifying
// the changed instance
- DeltaCloudInstance[] instancesArray = instances.toArray(instances.toArray(new DeltaCloudInstance[instances
- .size()]));
- notifyInstanceListListeners(instancesArray);
- return instancesArray;
+ DeltaCloudInstance[] instances = cloneInstancesArray();
+ notifyInstanceListListeners(instances);
+ return instances;
}
public void createKey(String keyname, String keystoreLocation) throws DeltaCloudException {
15 years, 5 months
JBoss Tools SVN: r26676 - in trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui: src/org/jboss/tools/deltacloud/ui/commands and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2010-11-17 11:20:37 -0500 (Wed, 17 Nov 2010)
New Revision: 26676
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/AbstractCloudJob.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshImagesHandler.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshInstancesHandler.java
Log:
[JBIDE-7554] added background jobs for all 3 refresh types (cloud, image, instance)
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-11-17 16:15:38 UTC (rev 26675)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-11-17 16:20:37 UTC (rev 26676)
@@ -1,7 +1,13 @@
2010-11-17 André Dietisheim <adietish(a)redhat.com>
+ * src/org/jboss/tools/deltacloud/ui/commands/RefreshImagesHandler.java (refresh):
+ * src/org/jboss/tools/deltacloud/ui/commands/RefreshInstancesHandler.java (refresh):
+ * src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java (refresh):
+ [JBIDE-7554] added background jobs for all 3 refresh types (cloud, image, instance)
* src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java (.run):
[JBIDE-7597] corrected to handle multi exceptions
+ (refresh):
+ [JBIDE-7554] added background jobs for all 3 refresh types (cloud, image, instance)
* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java (performFinish):
[JBIDE-7597] added saving of cloud instances
* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java:
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/AbstractCloudJob.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/AbstractCloudJob.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/AbstractCloudJob.java 2010-11-17 16:20:37 UTC (rev 26676)
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * 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.deltacloud.ui.commands;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.jobs.Job;
+
+public abstract class AbstractCloudJob extends Job {
+
+ public AbstractCloudJob(String name) {
+ super(name);
+ setUser(true);
+ }
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask(getName(), IProgressMonitor.UNKNOWN);
+ monitor.worked(1);
+ return doRun(monitor);
+ }
+
+ protected abstract IStatus doRun(IProgressMonitor monitor);
+
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/AbstractCloudJob.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java 2010-11-17 16:15:38 UTC (rev 26675)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java 2010-11-17 16:20:37 UTC (rev 26676)
@@ -17,7 +17,6 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
@@ -51,18 +50,20 @@
final DeltaCloud cloud = CloudViewElementUtils.getCloud(cloudViewElement);
if (cloud != null) {
// TODO: internationalize strings
- new Job("Refreshing images and instances on " + cloud.getName()) {
+ new AbstractCloudJob("Refreshing images and instances on " + cloud.getName()) {
@Override
- protected IStatus run(IProgressMonitor monitor) {
+ protected IStatus doRun(IProgressMonitor monitor) {
try {
+ monitor.worked(1);
cloud.loadChildren();
+ monitor.done();
} catch (DeltaCloudMultiException e) {
- // TODO internationalize strings
return ErrorUtils.createMultiStatus(e);
} catch (Exception e) {
// TODO internationalize strings
- return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, "Could not load children of cloud " + cloud.getName(), e);
+ return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
+ "Could not load children of cloud " + cloud.getName(), e);
}
return Status.OK_STATUS;
}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshImagesHandler.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshImagesHandler.java 2010-11-17 16:15:38 UTC (rev 26675)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshImagesHandler.java 2010-11-17 16:20:37 UTC (rev 26676)
@@ -17,7 +17,6 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
@@ -48,12 +47,14 @@
final DeltaCloud cloud = deltaCloudImage.getDeltaCloud();
if (cloud != null) {
// TODO: internationalize strings
- new Job("Refreshing images on cloud " + cloud.getName()) {
-
+ new AbstractCloudJob("Refreshing images on cloud " + cloud.getName()) {
+
@Override
- protected IStatus run(IProgressMonitor monitor) {
+ protected IStatus doRun(IProgressMonitor monitor) {
try {
+ monitor.worked(1);
cloud.loadChildren();
+ monitor.done();
return Status.OK_STATUS;
} catch (Exception e) {
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshInstancesHandler.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshInstancesHandler.java 2010-11-17 16:15:38 UTC (rev 26675)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshInstancesHandler.java 2010-11-17 16:20:37 UTC (rev 26676)
@@ -17,7 +17,6 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
@@ -48,21 +47,22 @@
final DeltaCloud cloud = deltaCloudInstance.getDeltaCloud();
if (cloud != null) {
// TODO: internationalize strings
- new Job("Refreshing instances on cloud " + cloud.getName()) {
+ new AbstractCloudJob("Refreshing instances on cloud " + cloud.getName()) {
@Override
- protected IStatus run(IProgressMonitor monitor) {
+ protected IStatus doRun(IProgressMonitor monitor) {
try {
+ monitor.worked(1);
cloud.loadChildren();
+ monitor.done();
return Status.OK_STATUS;
} catch (Exception e) {
return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
}
}
- }.schedule();
+ }.setUser(true);
}
}
-
}
}
15 years, 5 months
JBoss Tools SVN: r26675 - in trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core: scanner and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-11-17 11:15:38 -0500 (Wed, 17 Nov 2010)
New Revision: 26675
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamImport.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamJavaComponentDeclaration.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamResourceVisitor.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/LoadedDeclarations.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/PackageInfoRequestor.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/xml/XMLScanner.java
Log:
JBIDE-7616
https://jira.jboss.org/browse/JBIDE-7616
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamImport.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamImport.java 2010-11-17 16:11:12 UTC (rev 26674)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamImport.java 2010-11-17 16:15:38 UTC (rev 26675)
@@ -1,9 +1,6 @@
package org.jboss.tools.seam.internal.core;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
import org.jboss.tools.common.xml.XMLUtilities;
-import org.jboss.tools.seam.core.ISeamNamespace;
import org.w3c.dom.Element;
public class SeamImport {
@@ -31,7 +28,7 @@
}
public Element toXML(Element parent) {
- Element element = XMLUtilities.createElement(parent, "import");
+ Element element = XMLUtilities.createElement(parent, SeamXMLConstants.TAG_IMPORT);
if(seamPackage != null) {
element.setAttribute(SeamXMLConstants.ATTR_VALUE, seamPackage);
}
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamJavaComponentDeclaration.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamJavaComponentDeclaration.java 2010-11-17 16:11:12 UTC (rev 26674)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamJavaComponentDeclaration.java 2010-11-17 16:15:38 UTC (rev 26675)
@@ -73,6 +73,17 @@
if((c == null || c.isEmpty()) && getSeamProject().getParentProject() != null) c = getSeamProject().getParentProject().getVariablesByName(qname);
if(c != null && !c.isEmpty()) result.addAll(c);
}
+ if(result.isEmpty()) {
+ List<SeamImport> is = ((SeamProject)getSeamProject()).getPackageImports(this);
+ if(is != null && !is.isEmpty()) {
+ for (SeamImport i: is) {
+ String qname = i.getSeamPackage() + "." + name;
+ Set<ISeamContextVariable> c = getSeamProject().getVariablesByName(qname);
+ if((c == null || c.isEmpty()) && getSeamProject().getParentProject() != null) c = getSeamProject().getParentProject().getVariablesByName(qname);
+ if(c != null && !c.isEmpty()) result.addAll(c);
+ }
+ }
+ }
return result;
}
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java 2010-11-17 16:11:12 UTC (rev 26674)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java 2010-11-17 16:15:38 UTC (rev 26675)
@@ -13,9 +13,7 @@
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -37,6 +35,8 @@
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IScopeContext;
+import org.eclipse.jdt.core.IMember;
+import org.eclipse.jdt.core.IType;
import org.eclipse.jst.jsf.designtime.DesignTimeApplicationManager;
import org.jboss.tools.common.model.project.ext.event.Change;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
@@ -93,8 +93,9 @@
Set<SeamProject> usedBy = new HashSet<SeamProject>();
- Map<String,List<String>> imports = new HashMap<String, List<String>>();
+ ImportStorage imports = new ImportStorage();
+
{
createScopes();
}
@@ -596,12 +597,11 @@
o.toXML(cse, context);
}
}
- List<String> imports = ds.getImports();
+ List<SeamImport> imports = ds.getImports();
if(imports != null && !imports.isEmpty()) {
Element cse = XMLUtilities.createElement(pathElement, "imports"); //$NON-NLS-1$
- for (String d: imports) {
- Element e = XMLUtilities.createElement(cse, SeamXMLConstants.TAG_IMPORT); //$NON-NLS-1$
- e.setAttribute(SeamXMLConstants.ATTR_VALUE, d);
+ for (SeamImport d: imports) {
+ d.toXML(cse);
}
}
@@ -717,9 +717,10 @@
if(imports != null) {
Element[] cs = XMLUtilities.getChildren(imports, SeamXMLConstants.TAG_IMPORT);
for (int j = 0; j < cs.length; j++) {
- String v = cs[j].getAttribute(SeamXMLConstants.ATTR_VALUE);
- if(v != null && v.length() > 0) {
- ds.getImports().add(v);
+ SeamImport s = new SeamImport();
+ s.loadXML(cs[j]);
+ if(s.getSeamPackage() != null && s.getSeamPackage().length() > 0) {
+ ds.getImports().add(s);
}
}
@@ -854,9 +855,9 @@
}
if(!ds.getImports().isEmpty()) {
- setImports(source.toString(), ds.getImports());
+ setImports(source, ds.getImports());
} else {
- removeImports(source.toString());
+ removeImports(source);
}
Map<Object,ISeamComponentDeclaration> currentComponents = findComponentDeclarations(source);
@@ -1181,7 +1182,7 @@
sourcePaths2.remove(source);
namespaces.removePath(source);
- removeImports(source.toString());
+ removeImports(source);
List<Change> changes = null;
@@ -1393,32 +1394,32 @@
variables.remove(v);
}
- public void setImports(String source, List<String> paths) {
- if(equalLists(imports.get(source), paths)) return;
+ public void setImports(IPath source, List<SeamImport> paths) {
+ if(equalLists(imports.importsBySource.get(source), paths)) return;
modifications++;
synchronized(variables) {
variables.allVariablesPlusShort = null;
variables.byName = null;
}
- imports.put(source, paths);
+ imports.setPath(source, paths);
}
- private boolean equalLists(List<String> s1, List<String> s2) {
+ private boolean equalLists(List<SeamImport> s1, List<SeamImport> s2) {
if(s1 == null || s2 == null) return s1 == s2;
if(s1.size() != s2.size()) return false;
for (int i = 0; i < s1.size(); i++) {
- if(!s1.get(i).equals(s2.get(i))) return false;
+ if(!s1.get(i).getSeamPackage().equals(s2.get(i).getSeamPackage())) return false;
}
return true;
}
- public void removeImports(String source) {
- if(!imports.containsKey(source)) return;
+ public void removeImports(IPath source) {
+ if(!imports.importsBySource.containsKey(source)) return;
modifications++;
synchronized(variables) {
variables.allVariablesPlusShort = null;
}
- imports.remove(source);
+ imports.removePath(source);
}
/**
@@ -1433,13 +1434,28 @@
}
public boolean isImportedPackage(String packageName) {
- for (String s: imports.keySet()) {
- List<String> list = imports.get(s);
- if(list.contains(packageName)) return true;
+ for (IPath s: imports.importsBySource.keySet()) {
+ List<SeamImport> list = imports.importsBySource.get(s);
+ for (SeamImport i: list) {
+ if(i.getJavaPackage() == null) {
+ if(i.getSeamPackage().equals(packageName)) return true;
+ }
+ }
}
return false;
}
+ public List<SeamImport> getPackageImports(ISeamJavaComponentDeclaration declaration) {
+ IMember m = declaration.getSourceMember();
+ IType type = null;
+ if(m instanceof IType) type = (IType)m;
+ if(type != null && type.getPackageFragment() != null) {
+ String n = type.getPackageFragment().getElementName();
+ return imports.importsByJavaPackage.get(n);
+ }
+ return new ArrayList<SeamImport>();
+ }
+
/**
* @see org.jboss.tools.seam.core.ISeamProject#getVariablesByName(java.lang.String)
*/
@@ -1805,15 +1821,14 @@
}
ds.getFactories().add(f.clone());
}
- for (String s: imports.keySet()) {
- IPath p = new Path(s);
+ for (IPath p: imports.importsBySource.keySet()) {
if(p == null || EclipseResourceUtil.isJar(p.toString())) continue;
LoadedDeclarations ds = map.get(p);
if(ds == null) {
ds = new LoadedDeclarations();
map.put(p, ds);
}
- ds.getImports().addAll(imports.get(s));
+ ds.getImports().addAll(imports.importsBySource.get(p));
}
return map;
}
@@ -1983,6 +1998,49 @@
}
+
+
+ class ImportStorage extends Storage {
+ Map<IPath, List<SeamImport>> importsBySource = new HashMap<IPath, List<SeamImport>>();
+ Map<String, List<SeamImport>> importsByJavaPackage = new HashMap<String, List<SeamImport>>();
+
+ public void clear() {
+ importsBySource.clear();
+ importsByJavaPackage.clear();
+ }
+
+ public List<SeamImport> getImportsBySource(IPath path) {
+ return importsBySource.get(path);
+ }
+
+ public void setPath(IPath source, List<SeamImport> ns) {
+ List<SeamImport> sd = importsBySource.get(source);
+ if(sd == null && ns.isEmpty()) return;
+ if(ns.isEmpty()) {
+ removePath(source);
+ } else {
+ if(!equalLists(sd, ns)) {
+ removePath(source);
+ importsBySource.put(source, ns);
+ if(ns.get(0).getJavaPackage() != null) {
+ importsByJavaPackage.put(ns.get(0).getJavaPackage(), ns);
+ }
+ }
+ }
+ }
+
+ public void removePath(IPath path) {
+ List<SeamImport> sd = importsBySource.get(path);
+ if(sd == null) return;
+ for (SeamImport d: sd) {
+ String jp = d.getJavaPackage();
+ importsByJavaPackage.remove(jp);
+ }
+ importsBySource.remove(path);
+ }
+
+ }
+
class ComponentStorage extends Storage {
private Set<ISeamComponent> allComponentsSet = new HashSet<ISeamComponent>();
Map<String, SeamComponent> allComponents = new HashMap<String, SeamComponent>();
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamResourceVisitor.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamResourceVisitor.java 2010-11-17 16:11:12 UTC (rev 26674)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamResourceVisitor.java 2010-11-17 16:15:38 UTC (rev 26675)
@@ -104,7 +104,7 @@
static long timeUsed = 0;
void componentsLoaded(LoadedDeclarations c, IFile resource) {
- if(c == null || c.getComponents().size() + c.getFactories().size() + c.getNamespaces().size() == 0) return;
+ if(c == null || c.getComponents().size() + c.getFactories().size() + c.getNamespaces().size() + c.getImports().size() == 0) return;
p.registerComponents(c, resource.getFullPath());
}
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/LoadedDeclarations.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/LoadedDeclarations.java 2010-11-17 16:11:12 UTC (rev 26674)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/LoadedDeclarations.java 2010-11-17 16:15:38 UTC (rev 26675)
@@ -16,6 +16,7 @@
import org.jboss.tools.seam.core.ISeamComponentDeclaration;
import org.jboss.tools.seam.core.ISeamFactory;
import org.jboss.tools.seam.core.ISeamNamespace;
+import org.jboss.tools.seam.internal.core.SeamImport;
/**
* This object keeps all declarations loaded from one source.
@@ -25,7 +26,7 @@
public class LoadedDeclarations {
List<ISeamComponentDeclaration> components = new ArrayList<ISeamComponentDeclaration>();
List<ISeamFactory> factories = new ArrayList<ISeamFactory>();
- List<String> imports = new ArrayList<String>();
+ List<SeamImport> imports = new ArrayList<SeamImport>();
List<ISeamNamespace> namespaces = new ArrayList<ISeamNamespace>();
public List<ISeamComponentDeclaration> getComponents() {
@@ -36,7 +37,7 @@
return factories;
}
- public List<String> getImports() {
+ public List<SeamImport> getImports() {
return imports;
}
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/PackageInfoRequestor.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/PackageInfoRequestor.java 2010-11-17 16:11:12 UTC (rev 26674)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/PackageInfoRequestor.java 2010-11-17 16:15:38 UTC (rev 26675)
@@ -24,6 +24,7 @@
import org.eclipse.jdt.core.dom.PackageDeclaration;
import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
import org.jboss.tools.common.model.project.ext.impl.ValueInfo;
+import org.jboss.tools.seam.internal.core.SeamImport;
import org.jboss.tools.seam.internal.core.SeamNamespace;
import org.jboss.tools.seam.internal.core.scanner.LoadedDeclarations;
@@ -53,13 +54,18 @@
n.setSourcePath(resource.getFullPath());
n.setPackage(visitor.javaPackage);
}
+ for (SeamImport i: visitor.imports) {
+ i.setJavaPackage(visitor.javaPackage);
+ }
ds.getNamespaces().addAll(visitor.namespaces);
+ ds.getImports().addAll(visitor.imports);
}
}
class PackageInfoVisitor extends ASTVisitor implements SeamAnnotations {
List<SeamNamespace> namespaces = new ArrayList<SeamNamespace>();
+ List<SeamImport> imports = new ArrayList<SeamImport>();
String javaPackage = null;
public PackageInfoVisitor() {}
@@ -87,8 +93,12 @@
}
namespaces.add(ns);
} else if(IMPORT_ANNOTATION_TYPE.equals(type)) {
- List<String> imports = ComponentBuilder.getArrayValue(node);
- for (String s: imports) System.out.println("NormalAnnotation " + s);
+ List<String> is = ComponentBuilder.getArrayValue(node);
+ for (String s: is) {
+ SeamImport i = new SeamImport();
+ i.setSeamPackage(s);
+ imports.add(i);
+ }
}
}
return true;
@@ -99,8 +109,12 @@
if(b != null) {
String type = b.getAnnotationType().getQualifiedName();
if(IMPORT_ANNOTATION_TYPE.equals(type)) {
- List<String> imports = ComponentBuilder.getArrayValue(node);
- for (String s: imports) System.out.println("SingleMemberAnnotation " + s);
+ List<String> is = ComponentBuilder.getArrayValue(node);
+ for (String s: is) {
+ SeamImport i = new SeamImport();
+ i.setSeamPackage(s);
+ imports.add(i);
+ }
}
}
return true;
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/xml/XMLScanner.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/xml/XMLScanner.java 2010-11-17 16:11:12 UTC (rev 26674)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/xml/XMLScanner.java 2010-11-17 16:15:38 UTC (rev 26675)
@@ -42,6 +42,7 @@
import org.jboss.tools.seam.core.SeamCorePlugin;
import org.jboss.tools.seam.core.event.ISeamValue;
import org.jboss.tools.seam.core.event.ISeamValueString;
+import org.jboss.tools.seam.internal.core.SeamImport;
import org.jboss.tools.seam.internal.core.SeamProperty;
import org.jboss.tools.seam.internal.core.SeamValueList;
import org.jboss.tools.seam.internal.core.SeamValueMap;
@@ -175,8 +176,10 @@
ds.getFactories().add(factory);
} else if(os[i].getModelEntity().getName().startsWith("SeamImport")) { //$NON-NLS-1$
String v = os[i].getAttributeValue("import");
- if(v != null && v.length() > 0 && !ds.getImports().contains(v)) {
- ds.getImports().add(v);
+ if(v != null && v.length() > 0) {
+ SeamImport s = new SeamImport();
+ s.setSeamPackage(v);
+ ds.getImports().add(s);
}
}
}
15 years, 5 months
JBoss Tools SVN: r26674 - trunk/common/plugins/org.jboss.tools.common/META-INF.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-11-17 11:11:12 -0500 (Wed, 17 Nov 2010)
New Revision: 26674
Modified:
trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF
Log:
Fixed bundle version
Modified: trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF
===================================================================
--- trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF 2010-11-17 15:37:27 UTC (rev 26673)
+++ trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF 2010-11-17 16:11:12 UTC (rev 26674)
@@ -27,7 +27,7 @@
org.eclipse.ui.workbench.texteditor,
org.eclipse.jface.text,
org.apache.commons.httpclient;bundle-version="3.1.0"
-Bundle-Version: 3.2.1.qualifier
+Bundle-Version: 3.2.0.qualifier
Bundle-ActivationPolicy: lazy
Bundle-ManifestVersion: 2
Bundle-RequiredExecutionEnvironment: J2SE-1.5
15 years, 5 months
JBoss Tools SVN: r26673 - in trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui: src/org/jboss/tools/deltacloud/ui and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2010-11-17 10:37:27 -0500 (Wed, 17 Nov 2010)
New Revision: 26673
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java
Log:
[JBIDE-7597] corrected to handle multi exception (-status)
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-11-17 15:22:25 UTC (rev 26672)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-11-17 15:37:27 UTC (rev 26673)
@@ -1,5 +1,7 @@
2010-11-17 André Dietisheim <adietish(a)redhat.com>
+ * src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java (.run):
+ [JBIDE-7597] corrected to handle multi exceptions
* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java (performFinish):
[JBIDE-7597] added saving of cloud instances
* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java:
@@ -23,6 +25,7 @@
* src/org/jboss/tools/deltacloud/ui/ErrorUtils.java (createMultiStatus):
[JBIDE-7597] added multi status capabilities
(createStatus):
+ [JBIDE-7597] added public method to create multi status
2010-11-16 André Dietisheim <adietish(a)redhat.com>
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java 2010-11-17 15:22:25 UTC (rev 26672)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java 2010-11-17 15:37:27 UTC (rev 26673)
@@ -11,7 +11,6 @@
package org.jboss.tools.deltacloud.ui;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.List;
import org.eclipse.core.runtime.IStatus;
@@ -21,6 +20,9 @@
import org.jboss.tools.common.log.StatusFactory;
import org.jboss.tools.deltacloud.core.DeltaCloudMultiException;
+/**
+ * @author Andre Dietisheim
+ */
public class ErrorUtils {
public static IStatus openErrorDialog(final String title, final String message, Throwable e, final Shell shell) {
IStatus status = createStatus(e);
@@ -30,7 +32,7 @@
private static IStatus createStatus(Throwable e) {
if (e instanceof DeltaCloudMultiException) {
- return createMultiStatus(e.getMessage(), e, ((DeltaCloudMultiException) e).getThrowables());
+ return createMultiStatus((DeltaCloudMultiException) e);
} else {
return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
}
@@ -44,13 +46,13 @@
});
return status;
}
-
- private static IStatus createMultiStatus(String message, Throwable throwable, Collection<Throwable> throwables) {
- List<IStatus> states = new ArrayList<IStatus>(throwables.size());
- for(Throwable childThrowable : throwables) {
+
+ public static IStatus createMultiStatus(DeltaCloudMultiException throwable) {
+ List<IStatus> states = new ArrayList<IStatus>(throwable.getThrowables().size());
+ for(Throwable childThrowable : throwable.getThrowables()) {
IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, childThrowable.getMessage(), childThrowable);
states.add(status);
}
- return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, message, throwable, states.toArray(new IStatus[states.size()]));
+ return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, throwable.getMessage(), throwable, states.toArray(new IStatus[states.size()]));
}
}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java 2010-11-17 15:22:25 UTC (rev 26672)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java 2010-11-17 15:37:27 UTC (rev 26673)
@@ -23,7 +23,9 @@
import org.eclipse.ui.handlers.HandlerUtil;
import org.jboss.tools.common.log.StatusFactory;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudMultiException;
import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
import org.jboss.tools.deltacloud.ui.views.CloudViewElement;
import org.jboss.tools.internal.deltacloud.ui.utils.CloudViewElementUtils;
import org.jboss.tools.internal.deltacloud.ui.utils.UIUtils;
@@ -55,6 +57,9 @@
protected IStatus run(IProgressMonitor monitor) {
try {
cloud.loadChildren();
+ } catch (DeltaCloudMultiException e) {
+ // TODO internationalize strings
+ return ErrorUtils.createMultiStatus(e);
} catch (Exception e) {
// TODO internationalize strings
return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, "Could not load children of cloud " + cloud.getName(), e);
15 years, 5 months
JBoss Tools SVN: r26672 - in trunk/deltacloud: plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core and 7 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2010-11-17 10:22:25 -0500 (Wed, 17 Nov 2010)
New Revision: 26672
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudMultiException.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java
Removed:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudPersistedConnectionsException.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnection.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
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/DeltaCloudManager.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/Deltacloud Tools.launch
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVRootElement.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ImageFilter.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/InstanceFilter.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnectionWizard.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java
Log:
[JBIDE-7597] made sure cloud gets instantiated and loaded even if errors occur. Had to change the whole exception throwing sequence (and method signatures) through all the layers. Made sure no exception is thrown when DeltaCloud is instantiated
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-11-17 15:22:25 UTC (rev 26672)
@@ -1,3 +1,32 @@
+2010-11-17 André Dietisheim <adietish(a)redhat.com>
+
+ * src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java
+ (createInstance):
+ (createKey):
+ (deleteKey):
+ [JBIDE-7597] added missing methods to interface
+ * src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java
+ (loadCloud):
+ (loadClouds):
+ [JBIDE-7597] continue loading clouds even if a single cloud fails
+ * src/org/jboss/tools/deltacloud/core/DeltaCloud.java
+ (loadImages):
+ (loadInstances):
+ [JBIDE-7597] added proper error messages to exceptions thrown
+ (editCloud):
+ (updateInstanceFilter):
+ (updateImageFilter):
+ [JBIDE-7597] removed saving (ring dependency DeltaCloud <--> DeltaCloudManager) in DeltaCloud.
+ Ideal solution would be dirty notification to DeltaCloud -> DeltaCloudManager
+ (getClient):
+ [JBIDE-7597] delayed client creation after instantiation so that DeltaCloud may be created without throwing exceptions.
+ (loadChildren):
+ [JBIDE-7597] made sure loading instances and images throw exceptions individually. Collecting them in a multi exception
+ (getProfiles):
+ [JBIDE-7597] removed exception swalloing, made sure exceptions get thrown
+ (testConnection):
+ [JBIDE-7597] made sure no DeltaCloudClientException gets outside of DeltaCloud
+
2010-11-16 André Dietisheim <adietish(a)redhat.com>
* src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java (DeltaCloudManager):
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 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -11,6 +11,7 @@
package org.jboss.tools.deltacloud.core;
import java.net.MalformedURLException;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -32,6 +33,7 @@
import org.jboss.tools.deltacloud.core.client.HardwareProfile;
import org.jboss.tools.deltacloud.core.client.Image;
import org.jboss.tools.deltacloud.core.client.Instance;
+import org.jboss.tools.deltacloud.core.client.InternalDeltaCloudClient;
import org.jboss.tools.deltacloud.core.client.Realm;
public class DeltaCloud {
@@ -41,6 +43,7 @@
private String name;
private String username;
+ private String password;
private String url;
private String type;
private String lastKeyname = "";
@@ -62,54 +65,86 @@
public boolean matchesState(DeltaCloudInstance instance, String instanceState);
}
- public DeltaCloud(String name, String url, String username, String passwd) throws MalformedURLException {
- this(name, url, username, passwd, null, false, IImageFilter.ALL_STRING, IInstanceFilter.ALL_STRING);
+ public DeltaCloud(String name, String url, String username, String passwd) {
+ this(name, url, username, passwd, null);
}
- public DeltaCloud(String name, String url, String username, String passwd,
- String type, boolean persistent) throws MalformedURLException {
- this(name, url, username, passwd, type, persistent, IImageFilter.ALL_STRING, IInstanceFilter.ALL_STRING);
+ public DeltaCloud(String name, String url, String username, String password, String type) {
+ this(name, url, username, password, type, IImageFilter.ALL_STRING, IInstanceFilter.ALL_STRING);
}
+ public DeltaCloud(String name, String url, String username, String type, String imageFilterRules,
+ String instanceFilterRules) {
+ this(name, url, username, null, type, imageFilterRules, instanceFilterRules);
+ }
+
public DeltaCloud(String name, String url, String username, String passwd,
- String type, boolean persistent,
- String imageFilterRules, String instanceFilterRules) throws MalformedURLException {
- this.client = new DeltaCloudClientImpl(url, username, passwd); //$NON-NLS-1$
+ String type, String imageFilterRules, String instanceFilterRules) {
this.url = url;
this.name = name;
this.username = username;
this.type = type;
imageFilter = createImageFilter(imageFilterRules);
instanceFilter = createInstanceFilter(instanceFilterRules);
- if (persistent) {
- storePassword(url, username, passwd);
- }
}
- public void editCloud(String name, String url, String username, String passwd, String type)
- throws MalformedURLException, DeltaCloudException {
- this.client = new DeltaCloudClientImpl(url, username, passwd); //$NON-NLS-1$
+ public void editCloud(String name, String url, String username, String password, String type)
+ throws DeltaCloudException {
this.url = url;
this.name = name;
this.username = username;
+ this.password = password;
this.type = type;
- storePassword(url, username, passwd);
- save();
+ storePassword(url, username, password);
+ // save();
loadChildren();
}
- private void storePassword(String url, String username, String passwd) {
- ISecurePreferences root = SecurePreferencesFactory.getDefault();
- String key = DeltaCloud.getPreferencesKey(url, username);
- ISecurePreferences node = root.node(key);
+ private InternalDeltaCloudClient getClient() throws DeltaCloudException {
try {
- node.put("password", passwd, true /* encrypt */);
+ if (client == null) {
+ this.client = new DeltaCloudClientImpl(url, username, getPassword(url, username));
+ }
+ return client;
+ } catch (MalformedURLException e) {
+ throw new DeltaCloudException(MessageFormat.format("Could not access cloud at {0}", url), e);
} catch (StorageException e) {
- // TODO: implement proper rethrowing/loggin
- e.printStackTrace();
+ throw new DeltaCloudException(MessageFormat.format(
+ "Could not get password for user {0} on cloud at {1} in the preferences", username, url), e);
}
}
+ private String getPassword(String url, String username) throws StorageException {
+ if (password != null) {
+ return password;
+ } else {
+ this.password = getPasswordFromPreferences(url, username);
+ return this.password;
+ }
+ }
+
+ private String getPasswordFromPreferences(String url, String username) throws StorageException {
+ String key = DeltaCloud.getPreferencesKey(url, username); // $NON-NLS-1$
+ ISecurePreferences root = SecurePreferencesFactory.getDefault();
+ ISecurePreferences node = root.node(key);
+ String password = node.get("password", null); //$NON-NLS-1$
+ return password;
+ }
+
+ private void storePassword(String url, String username, String passwd) throws DeltaCloudException {
+ if (passwd != null) {
+ ISecurePreferences root = SecurePreferencesFactory.getDefault();
+ String key = DeltaCloud.getPreferencesKey(url, username);
+ ISecurePreferences node = root.node(key);
+ try {
+ node.put("password", passwd, true /* encrypt */); //$NON-NLS-1$
+ } catch (StorageException e) {
+ // TODO: internationalize string
+ throw new DeltaCloudException("Could not store password", e);
+ }
+ }
+ }
+
public static String getPreferencesKey(String url, String username) {
String key = "/org/jboss/tools/deltacloud/core/"; //$NON-NLS-1$
key += url + "/" + username; //$NON-NLS-1$
@@ -156,7 +191,7 @@
String rules = getInstanceFilter().toString();
instanceFilter = createInstanceFilter(ruleString);
if (!rules.equals(ruleString)) {
- save();
+ // save();
// TODO: remove notification with all instances, replace by
// notifying the changed instance
notifyInstanceListListeners(instances.toArray(instances.toArray(new DeltaCloudInstance[instances.size()])));
@@ -186,7 +221,7 @@
String rules = getImageFilter().toString();
this.imageFilter = createImageFilter(ruleString);
if (!rules.equals(ruleString)) {
- save();
+ // save();
notifyImageListListeners(getCurrImages());
}
}
@@ -207,14 +242,28 @@
}
public void loadChildren() throws DeltaCloudException {
- loadImages();
- loadInstances();
+ DeltaCloudMultiException multiException = new DeltaCloudMultiException(MessageFormat.format(
+ "Could not load children from cloud {0}", getName()));
+ try {
+ loadImages();
+ } catch (DeltaCloudException e) {
+ multiException.addError(e);
+ }
+ try {
+ loadInstances();
+ } catch (DeltaCloudException e) {
+ multiException.addError(e);
+ }
+
+ if (!multiException.isEmpty()) {
+ throw multiException;
+ }
}
- public void save() {
- // Currently we have to save all clouds instead of just this one
- DeltaCloudManager.getDefault().saveClouds();
- }
+ // public void save() {
+ // // Currently we have to save all clouds instead of just this one
+ // DeltaCloudManager.getDefault().saveClouds();
+ // }
public void addInstanceListListener(IInstanceListListener listener) {
instanceListeners.add(listener);
@@ -279,7 +328,8 @@
}
}
- public DeltaCloudInstance waitWhilePending(String instanceId, IProgressMonitor pm) throws InterruptedException, DeltaCloudException {
+ public DeltaCloudInstance waitWhilePending(String instanceId, IProgressMonitor pm) throws InterruptedException,
+ DeltaCloudException {
IInstanceStateMatcher differsFromPending = new IInstanceStateMatcher() {
@Override
@@ -328,7 +378,7 @@
* Furthermore listeners get informed.
*
* @return the instances
- * @throws DeltaCloudException
+ * @throws DeltaCloudException
*
* @see #notifyInstanceListListeners(DeltaCloudInstance[])
*/
@@ -336,7 +386,7 @@
synchronized (instanceLock) {
instances = new ArrayList<DeltaCloudInstance>();
try {
- List<Instance> list = client.listInstances();
+ List<Instance> list = getClient().listInstances();
for (Iterator<Instance> i = list.iterator(); i.hasNext();) {
DeltaCloudInstance instance = new DeltaCloudInstance(this, i.next());
instances.add(instance);
@@ -347,7 +397,8 @@
notifyInstanceListListeners(instancesArray);
return instancesArray;
} catch (DeltaCloudClientException e) {
- throw new DeltaCloudException(e);
+ throw new DeltaCloudException(MessageFormat.format("Could not load instances of cloud {0}: {1}",
+ getName(), e.getMessage()), e);
}
}
}
@@ -381,7 +432,7 @@
public void createKey(String keyname, String keystoreLocation) throws DeltaCloudException {
try {
- client.createKey(keyname, keystoreLocation);
+ getClient().createKey(keyname, keystoreLocation);
} catch (DeltaCloudClientException e) {
throw new DeltaCloudException(e);
}
@@ -389,7 +440,7 @@
public void deleteKey(String keyname) throws DeltaCloudException {
try {
- client.deleteKey(keyname);
+ getClient().deleteKey(keyname);
} catch (DeltaCloudClientException e) {
throw new DeltaCloudException(e);
}
@@ -418,7 +469,7 @@
public DeltaCloudInstance refreshInstance(String instanceId) throws DeltaCloudException {
DeltaCloudInstance retVal = null;
try {
- Instance instance = client.listInstances(instanceId);
+ Instance instance = getClient().listInstances(instanceId);
retVal = new DeltaCloudInstance(this, instance);
for (int i = 0; i < instances.size(); ++i) {
DeltaCloudInstance inst = instances.get(i);
@@ -472,16 +523,16 @@
return null;
}
- public DeltaCloudHardwareProfile[] getProfiles() {
+ public DeltaCloudHardwareProfile[] getProfiles() throws DeltaCloudException {
ArrayList<DeltaCloudHardwareProfile> profiles = new ArrayList<DeltaCloudHardwareProfile>();
try {
- List<HardwareProfile> list = client.listProfiles();
+ List<HardwareProfile> list = getClient().listProfiles();
for (Iterator<HardwareProfile> i = list.iterator(); i.hasNext();) {
DeltaCloudHardwareProfile profile = new DeltaCloudHardwareProfile(i.next());
profiles.add(profile);
}
} catch (DeltaCloudClientException e) {
- Activator.log(e);
+ throw new DeltaCloudException(MessageFormat.format("Could not list profiles on cloud {0}", name), e);
}
DeltaCloudHardwareProfile[] profileArray = new DeltaCloudHardwareProfile[profiles.size()];
profileArray = profiles.toArray(profileArray);
@@ -490,7 +541,7 @@
public DeltaCloudImage loadImage(String imageId) throws DeltaCloudException {
try {
- Image image = client.listImages(imageId);
+ Image image = getClient().listImages(imageId);
DeltaCloudImage deltaCloudImage = addImage(image);
return deltaCloudImage;
} catch (DeltaCloudClientException e) {
@@ -511,13 +562,14 @@
synchronized (imageLock) {
try {
images = new ArrayList<DeltaCloudImage>();
- List<Image> list = client.listImages();
+ List<Image> list = getClient().listImages();
for (Iterator<Image> i = list.iterator(); i.hasNext();) {
addImage(i.next());
}
return notifyImageListListeners();
} catch (DeltaCloudClientException e) {
- throw new DeltaCloudException(e);
+ throw new DeltaCloudException(MessageFormat.format("Could not load images of cloud {0}: {1}",
+ getName(), e.getMessage()), e);
}
}
}
@@ -540,7 +592,7 @@
public DeltaCloudImage getImage(String imageId) {
DeltaCloudImage retVal = null;
try {
- Image image = client.listImages(imageId);
+ Image image = getClient().listImages(imageId);
retVal = new DeltaCloudImage(image, this);
} catch (Exception e) {
e.printStackTrace();
@@ -549,30 +601,32 @@
return retVal;
}
- public boolean testConnection() throws DeltaCloudClientException {
+ public boolean testConnection() throws DeltaCloudException {
String instanceId = "nonexistingInstance"; //$NON-NLS-1$
try {
- client.listInstances(instanceId);
+ getClient().listInstances(instanceId);
return true;
} catch (DeltaCloudNotFoundClientException e) {
return true;
} catch (DeltaCloudAuthException e) {
return false;
+ } catch (DeltaCloudClientException e) {
+ return false;
}
}
- public DeltaCloudRealm[] getRealms() {
+ public DeltaCloudRealm[] getRealms() throws DeltaCloudException {
ArrayList<DeltaCloudRealm> realms = new ArrayList<DeltaCloudRealm>();
try {
- List<Realm> list = client.listRealms();
+ List<Realm> list = getClient().listRealms();
for (Iterator<Realm> i = list.iterator(); i.hasNext();) {
DeltaCloudRealm realm = new DeltaCloudRealm(i.next());
realms.add(realm);
}
+ return realms.toArray(new DeltaCloudRealm[realms.size()]);
} catch (DeltaCloudClientException e) {
- Activator.log(e);
+ throw new DeltaCloudException(MessageFormat.format("Could not get realms for cloud {0}", name), e);
}
- return realms.toArray(new DeltaCloudRealm[realms.size()]);
}
public DeltaCloudInstance createInstance(String name, String imageId, String realmId, String profileId,
@@ -580,9 +634,9 @@
try {
Instance instance = null;
if (keyname != null) {
- instance = client.createInstance(imageId, profileId, realmId, name, keyname, memory, storage);
+ instance = getClient().createInstance(imageId, profileId, realmId, name, keyname, memory, storage);
} else {
- instance = client.createInstance(imageId, profileId, realmId, name, memory, storage);
+ instance = getClient().createInstance(imageId, profileId, realmId, name, memory, storage);
}
if (instance != null) {
DeltaCloudInstance newInstance = new DeltaCloudInstance(this, instance);
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -15,7 +15,7 @@
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
-import java.net.MalformedURLException;
+import java.text.MessageFormat;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
@@ -25,7 +25,6 @@
import org.eclipse.core.runtime.ListenerList;
import org.eclipse.equinox.security.storage.ISecurePreferences;
import org.eclipse.equinox.security.storage.SecurePreferencesFactory;
-import org.eclipse.equinox.security.storage.StorageException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
@@ -34,8 +33,8 @@
public class DeltaCloudManager {
- private static final DeltaCloudManager INSTANCE = new DeltaCloudManager();
-
+ private static final DeltaCloudManager INSTANCE = new DeltaCloudManager();
+
public final static String CLOUDFILE_NAME = "clouds.xml"; //$NON-NLS-1$
private ArrayList<DeltaCloud> clouds = new ArrayList<DeltaCloud>();
private ListenerList cloudManagerListeners;
@@ -43,8 +42,8 @@
private DeltaCloudManager() {
}
- public void loadClouds() throws DeltaCloudPersistedConnectionsException {
- DeltaCloudPersistedConnectionsException connectionException = new DeltaCloudPersistedConnectionsException();
+ public void loadClouds() throws DeltaCloudException {
+ DeltaCloudMultiException connectionException = new DeltaCloudMultiException("Errors occurred while loading clouds from the preferences");
IPath stateLocation = Activator.getDefault().getStateLocation();
File cloudFile = stateLocation.append(CLOUDFILE_NAME).toFile();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
@@ -58,47 +57,46 @@
for (int x = 0; x < cloudNodes.getLength(); ++x) {
Node n = cloudNodes.item(x);
try {
- String name = getCloudName(n);
- loadCloud(name, n);
- } catch (StorageException e) {
+ loadCloud(n);
+ } catch (DeltaCloudException e) {
connectionException.addError(e);
- }
+ }
}
}
} catch (Exception e) {
connectionException.addError(e);
}
+
if (!connectionException.isEmpty()) {
throw connectionException;
}
}
- private void loadCloud(String name, Node n) throws StorageException, MalformedURLException, DeltaCloudException {
+ private DeltaCloud loadCloud(Node n) throws DeltaCloudException {
NamedNodeMap attrs = n.getAttributes();
+ String name = attrs.getNamedItem("name").getNodeValue(); // $NON-NLS-1$
String url = attrs.getNamedItem("url").getNodeValue(); // $NON-NLS-1$
String username = attrs.getNamedItem("username").getNodeValue(); // $NON-NLS-1$
String type = attrs.getNamedItem("type").getNodeValue(); // $NON-NLS-1$
String imageFilterRules = getImageFilterRules(attrs.getNamedItem("imagefilter")); // $NON-NLS-1$
- String key = DeltaCloud.getPreferencesKey(url, username); // $NON-NLS-1$
String instanceFilterRules = getInstanceFilterRules(attrs.getNamedItem("instancefilter")); // $NON-NLS-1$
String lastKeyName = getLastKeyName(attrs.getNamedItem("lastkeyname")); // $NON-NLS-1$
String lastImageId = getLastKeyName(attrs.getNamedItem("lastimage")); // $NON-NLS-1$
- ISecurePreferences root = SecurePreferencesFactory.getDefault();
- ISecurePreferences node = root.node(key);
- String password = node.get("password", null); //$NON-NLS-1$
- DeltaCloud cloud = new DeltaCloud(
- name, url, username, password, type, false, imageFilterRules, instanceFilterRules);
+ DeltaCloud cloud = new DeltaCloud(name, url, username, type, imageFilterRules, instanceFilterRules);
+ clouds.add(cloud);
cloud.setLastImageId(lastImageId);
cloud.setLastKeyname(lastKeyName);
- cloud.loadChildren();
- clouds.add(cloud);
+ try {
+ cloud.loadChildren();
+ } catch (DeltaCloudException e) {
+ throw e;
+ } catch (Exception e) {
+ // TODO: internationalize strings
+ throw new DeltaCloudException(MessageFormat.format("Could not load cloud {0} from preferences", name), e);
+ }
+ return cloud;
}
- private String getCloudName(Node n) {
- String name = n.getAttributes().getNamedItem("name").getNodeValue(); // $NON-NLS-1$
- return name;
- }
-
private String getLastKeyName(Node lastKeyNameNode) {
String lastKeyName = "";
if (lastKeyNameNode != null) {
Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudMultiException.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudMultiException.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudMultiException.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * 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.deltacloud.core;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * An exception that captures several exceptions that may have occured while
+ * delaing with the deltacloud server
+ */
+public class DeltaCloudMultiException extends DeltaCloudException {
+
+ private static final long serialVersionUID = 1L;
+
+ private ArrayList<Throwable> throwables;
+
+ public DeltaCloudMultiException(String message) {
+ super(message);
+ this.throwables = new ArrayList<Throwable>();
+ }
+
+ public void addError(Throwable throwable) {
+ throwables.add(throwable);
+ }
+
+ public List<Throwable> getThrowables() {
+ return throwables;
+ }
+
+ public boolean isEmpty() {
+ return throwables.size() == 0;
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudMultiException.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudPersistedConnectionsException.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudPersistedConnectionsException.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudPersistedConnectionsException.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -1,42 +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.deltacloud.core;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * An exception that holds all errors that occured when loading persisted
- * connections to deltacloud servers.
- */
-public class DeltaCloudPersistedConnectionsException extends Exception {
-
- private static final long serialVersionUID = 1L;
-
- private ArrayList<Throwable> throwables;
-
- public DeltaCloudPersistedConnectionsException() {
- super();
- this.throwables = new ArrayList<Throwable>();
- }
-
- public void addError(Throwable throwable) {
- throwables.add(throwable);
- }
-
- public List<Throwable> getErrors() {
- return throwables;
- }
-
- public boolean isEmpty() {
- return throwables.size() == 0;
- }
-}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -113,4 +113,14 @@
*/
public Instance createInstance(String imageId, String flavor, String realm, String name)
throws DeltaCloudClientException;
+
+ public Instance createInstance(String imageId, String profileId, String realmId, String name, String memory,
+ String storage) throws DeltaCloudClientException;
+
+ public Instance createInstance(String imageId, String profileId, String realmId, String name, String keyname,
+ String memory, String storage) throws DeltaCloudClientException;
+
+ public void createKey(String keyname, String keystoreLocation) throws DeltaCloudClientException;
+
+ public void deleteKey(String keyname) throws DeltaCloudClientException;
}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -110,10 +110,9 @@
} catch (DeltaCloudClientException e) {
throw e;
} catch (IOException e) {
- logger.error("Error processing request to: " + deltaCloudRequest.getUrl(), e);
- throw new DeltaCloudClientException("Error processing request to: " + deltaCloudRequest.getUrl(), e);
+ throw new DeltaCloudClientException(e);
} catch (Exception e) {
- throw new DeltaCloudClientException(e.getMessage());
+ throw new DeltaCloudClientException(e);
} finally {
httpClient.getConnectionManager().shutdown();
}
@@ -586,7 +585,7 @@
} catch (DeltaCloudClientException e) {
throw e;
} catch (Exception e) {
- throw new DeltaCloudClientException("Could not list object of type " + clazz, e);
+ throw new DeltaCloudClientException(MessageFormat.format("Could not list object of type {0}", clazz), e);
}
}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-11-17 15:22:25 UTC (rev 26672)
@@ -1,3 +1,29 @@
+2010-11-17 André Dietisheim <adietish(a)redhat.com>
+
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java (performFinish):
+ [JBIDE-7597] added saving of cloud instances
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java:
+ [JBIDE-7597] code cleanup, extracted individual methods
+ (getProfiles):
+ [JBIDE-7597] added error handling when getting realms
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnectionWizard.java (performTest):
+ [JBIDE-7597] switched to ErrorUtils
+ (performFinish):
+ [JBIDE-7597] added saving of the cloud instances (removed from cloud)
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/InstanceFilter.java (performFinish):
+ [JBIDE-7597] switched to ErrorUtils
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/ImageFilter.java (performFinish):
+ [JBIDE-7597] switched to ErrorUtils
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java (addPages):
+ [JBIDE-7597] switched to ErrorUtils, corrected catched exceptions (no MalformedURLException any more)
+ * src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java (getChildren):
+ [JBIDE-7597] switched to ErrorUtils
+ * src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java (execute):
+ [JBIDE-7597] renamed EditConnection to EditConnectionWizard since it is a wizard
+ * src/org/jboss/tools/deltacloud/ui/ErrorUtils.java (createMultiStatus):
+ [JBIDE-7597] added multi status capabilities
+ (createStatus):
+
2010-11-16 André Dietisheim <adietish(a)redhat.com>
* src/org/jboss/tools/deltacloud/ui/views/CVRootElement.java (CVRootElement):
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/Deltacloud Tools.launch
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/Deltacloud Tools.launch 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/Deltacloud Tools.launch 2010-11-17 15:22:25 UTC (rev 26672)
@@ -23,8 +23,8 @@
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms40m -Xmx1024m"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<stringAttribute key="selected_target_plugins" value="org.eclipse.wst.common.environment@default:default,org.eclipse.update.core@default:default,org.eclipse.wst.css.core@default:default,org.eclipse.jdt@default:default,org.eclipse.cdt.core.linux.x86_64@default:false,org.eclipse.ui.cheatsheets@default:default,org.eclipse.equinox.app@default:default,org.eclipse.swt@default:default,org.eclipse.jst.j2ee.navigator.ui@default:default,org.eclipse.wst.xml.ui@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.rse.services.ssh@default:default,org.eclipse.ui.console@default:default,org.eclipse.jface.text@default:default,org.eclipse.ui@default:default,org.eclipse.jst.common.annotations.core@default:default,org.eclipse.rse.files.ui@default:default,org.eclipse.core.net@default:default,org.eclipse.rse.services@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.apache.commons.httpclient*3.1.0.v201005080502@default:default,org.eclipse.wst.common.pro!
ject.facet.core@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.apache.commons.el@default:default,org.jboss.ide.eclipse.as.rse.core@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.help.ui@default:default,org.eclipse.jem.util@default:default,org.eclipse.swtbot.ant.optional.junit3@default:false,org.eclipse.cdt.ui@default:default,org.eclipse.jst.j2ee.ejb@default:default,org.mortbay.jetty.server@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.rse.ui@default:default,org.eclipse.wst.common.frameworks.ui@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.wst.server.core@default:default,org.apache.commons.net@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jst.server.ui@default:default,org.eclipse.ui.intro@default:default,org.eclipse.wst.sse.core@default:default,org.eclipse.wst.web@default:default,org.eclipse.equ!
inox.http.servlet@default:default,org.eclipse.osgi.util@defaul!
t:defaul
t,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.identity@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.sat4j.core@default:default,org.mortbay.jetty.util@default:default,javax.xml@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.jem.beaninfo@default:default,javax.servlet.jsp@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.jst.j2ee.core@default:default,org.eclipse.core.net.linux.x86_64@default:false,org.eclipse.cdt.core@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.swtbot.ant.optional.junit4@default:false,org.eclipse.jem@default:default,org.eclipse.core.databinding@default:default,org.eclipse.jem.proxy@default:default,org.eclipse.core.variables@default:default,org.eclipse.core!
.commands@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.rse.subsystems.files.core@default:default,org.eclipse.osgi@-1:true,org.eclipse.jst.server.core@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.wst.jsdt.manipulation@default:default,org.eclipse.emf.ecore.xmi@default:default,org.jboss.ide.eclipse.archives.ui@default:default,org.eclipse.core.runtime@default:true,org.jboss.ide.eclipse.archives.core@default:default,org.eclipse.wst.common.frameworks@default:default,org.apache.commons.codec*1.3.0.v20100518-1140@default:default,org.eclipse.update.configurator@3:true,org.eclipse.rse.services.files.ftp@default:default,org.eclipse.jst.j2ee@default:default,org.eclipse.equinox.common@2:true,org.jboss.ide.eclipse.as.rse.ui@default:default,org.eclipse.equinox.p2.core@default:defaul!
t,org.eclipse.jem.workbench@default:default,org.eclipse.jst.j2!
ee.jca.u
i@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.ui.ide@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.wst.common.modulecore.ui@default:default,org.apache.xml.resolver@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.search@default:default,org.eclipse.compare.core@default:default,com.jcraft.jsch@default:default,org.hamcrest.core@default:default,org.eclipse.jem.beaninfo.vm.common@default:default,org.eclipse.debug.ui@default:default,org.eclipse.jst.j2ee.ui@default:default,org.apache.ant@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jst.jee@default:default,org.eclipse.rse.services.local@default:default,org.eclipse.jst.common.project.facet.ui@default:default,org.eclipse.osgi.services@default:default,org.eclipse.wst.common.project.facet.ui@default:default,javax.servlet@!
default:default,org.apache.jasper@default:default,org.eclipse.core.resources@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.apache.xerces@default:default,org.eclipse.core.databinding.property@default:default,org.apache.commons.logging*1.0.4.v201005080501@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.wst.validation@default:default,org.eclipse.wst.jsdt.core@default:default,org.jboss.ide.eclipse.as.ui@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.cdt.core.linux@default:false,org.eclipse.jst.j2ee.jca@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.rse.core@default:default,org.eclipse.jst.common.frameworks@default:default,org.eclipse.help.base@default:default,org.eclipse.help@default:default,org.eclipse.wst.common.core@default:default,org.eclipse.wst.common.ui@default:default,org.eclipse.wst.common.emf@default:default,org.eclipse.wst.ser!
ver.discovery@default:default,org.eclipse.jdt.core.manipulatio!
n@defaul
t:default,org.eclipse.jst.common.annotations.controller@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.jem.beaninfo.vm@default:default,org.eclipse.team.core@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.text@default:default,org.eclipse.wst.jsdt.ui@default:default,org.eclipse.wst.common.uriresolver@default:default,org.eclipse.team.ui@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.jst.common.ui@default:default,org.apache.lucene@default:default,org.eclipse.jst.jee.ui@default:default,org.eclipse.jdt.junit.runtime@default:default,org.junit4@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.wst.common.emfworkbench.integration@default:default,org.eclipse.core.expressions@default:default,org.!
eclipse.equinox.security@default:default,org.jboss.ide.eclipse.as.core@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jst.j2ee.ejb.annotation.model@default:default,org.eclipse.wst.html.ui@default:default,org.jboss.ide.eclipse.as.wtp.core@default:default,org.eclipse.jst.servlet.ui@default:default,org.eclipse.wst.html.core@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.core.runtime.compatibility@default:default,org.jboss.tools.jmx.ui@default:default,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.wst.web.ui@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.sdk@default:default,org.eclipse.core.jobs@default:default,org.eclipse.emf.codegen@default:default,org.apache.xml.serializer@default:default,org.eclipse.pde.core@default:!
default,org.jboss.tools.xulrunner.initializer@default:false,or!
g.sat4j.
pb@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.jboss.ide.eclipse.archives.webtools@default:default,org.eclipse.jdt.junit@default:default,com.instantiations.designer.jdt.fragment@default:false,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.emf.common@default:default,org.eclipse.wst.common.modulecore@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,com.ibm.icu@default:default,org.eclipse.wst.internet.monitor.core@default:default,org.eclipse.wst.xml.core@default:default,org.eclipse.pde.build@default:default,org.apache.lucene.analysis@default:default,org.jboss.ide.eclipse.as.wtp.ui@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.wst.server.ui@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.jst.j2ee.web@default:default,org.eclipse.ant.core@default:default,org.eclipse.emf.edi!
t@default:default,org.eclipse.equinox.concurrent@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.wst.sse.ui@default:default,org.eclipse.ui.browser@default:default,org.eclipse.compare@default:default,org.eclipse.debug.core@default:default,org.eclipse.jst.common.project.facet.core@default:default,org.eclipse.rse.subsystems.shells.core@default:default,org.eclipse.wst.css.ui@default:default,org.eclipse.ui.views@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.wst.server.ui.doc.user@default:default,org.eclipse.ui.editors@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.jface@default:default,org.eclipse.ui.forms@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.equinox.http.jetty@default:default,org.jboss.tools.jmx.core@default:default,org.eclipse.core.runtime.compatibility.registry@default:false"/>
-<stringAttribute key="selected_workspace_plugins" value="org.jboss.tools.common@default:default,org.jboss.tools.deltacloud.ui@default:default,org.jboss.tools.usage@default:default,org.jboss.tools.deltacloud.core@default:default"/>
+<stringAttribute key="selected_target_plugins" value="org.eclipse.tm.terminal@default:default,org.eclipse.core.expressions@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.core.resources@default:default,org.eclipse.rse@default:default,org.junit4@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.ui@default:default,javax.xml.rpc@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.rse.subsystems.files.core@default:default,org.eclipse.rse.connectorservice.telnet@default:default,org.eclipse.compare@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.jdt@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.cdt.core@default:default,org.eclipse.emf.edit@default:default,org.apache.commons.el@default:default,org.apache.xml.resolver@defaul!
t:default,org.jboss.tools.xulrunner.initializer@default:false,org.jboss.tools.jmx.ui@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,javax.wsdl*1.6.2.v201005080631@default:default,org.eclipse.dstore.extra@default:default,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.wst.common.emfworkbench.integration@default:default,org.eclipse.rse.services.local@default:default,org.eclipse.ui.editors@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.wst.validation@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.osgi.services@default:default,org.eclipse.rse.connectorservice.ssh@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.jdt.debug.ui@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.jface.databinding@default:default,org.apache.xerces@default:default,org.eclipse.wst.xml.core@default:default,org.eclipse.equinox.p2.artifact.reposit!
ory@default:default,org.apache.commons.httpclient*3.1.0.v20100!
5080502@
default:default,org.eclipse.core.commands@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.ui.workbench@default:default,org.mortbay.jetty.util@default:default,org.jboss.ide.eclipse.archives.ui@default:default,org.eclipse.rse.doc.user@default:default,javax.activation@default:default,org.apache.axis@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.rse.dstore.security@default:default,org.eclipse.rse.services.ssh@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.rse.subsystems.shells.telnet@default:default,org.eclipse.core.databinding.property@default:default,org.hamcrest.core@default:default,org.eclipse.equinox.common@2:true,org.eclipse.help.base@default:default,org.eclipse.equinox.frameworkadmin@default:default,com.jcraft.jsch@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.update.configurator@3:true,org.eclip!
se.core.filesystem@default:default,org.eclipse.update.core@default:default,org.jboss.ide.eclipse.archives.core@default:default,org.eclipse.rse.subsystems.processes.core@default:default,org.eclipse.rse.subsystems.shells.core@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.rse.efs@default:default,org.apache.commons.codec*1.3.0.v20100518-1140@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.app@default:default,com.instantiations.designer.jdt.fragment@default:false,org.eclipse.dstore.core@default:default,org.eclipse.rse.efs.ui@default:default,javax.mail@default:default,org.eclipse.swtbot.ant.optional.junit4@default:false,org.eclipse.equinox.preferences@default:default,org.eclipse.rse.connectorservice.local@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.ant.core@default:default,org.eclipse.ecf@default:default,org.eclipse.rse.subsystems.files.dstore@default:default,org.eclips!
e.rse.subsystems.terminals.ssh@default:default,org.eclipse.cor!
e.variab
les@default:default,org.eclipse.text@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.rse.subsystems.files.ftp@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.rse.processes.ui@default:default,org.sat4j.pb@default:default,javax.servlet.jsp@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.apache.jasper@default:default,org.apache.lucene@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.rse.subsystems.terminals.core@default:default,org.jboss.tools.jmx.core@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.security@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.pde.core@default:default,org.eclipse.jdt.compiler.apt@default!
:false,org.eclipse.equinox.p2.repository@default:default,org.eclipse.compare.core@default:default,org.eclipse.ui.views@default:default,org.mortbay.jetty.server@default:default,org.eclipse.osgi@-1:true,org.eclipse.jface.text@default:default,org.eclipse.rse.services.telnet@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.rse.files.ui@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.search@default:default,org.eclipse.core.databinding@default:default,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.rse.subsystems.processes.dstore@default:default,org.eclipse.rse.services@default:default,org.eclipse.rse.subsystems.processes.local@default:default,org.eclipse.cdt.ui@default:default,org.eclipse.core.net@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.core.runtime@default:true,org.eclipse.wst.common.uriresolver@default:default,com.ibm.icu@default:default,org.eclipse.jsch.core@default:default,jav!
ax.xml.soap@default:default,org.eclipse.core.net.linux.x86_64@!
default:
false,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.ui.cheatsheets@default:default,javax.xml@default:default,org.eclipse.ui.forms@default:default,org.uddi4j@default:default,org.eclipse.cdt.core.linux@default:false,org.eclipse.rse.connectorservice.dstore@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,javax.servlet@default:default,org.eclipse.jface@default:default,org.eclipse.debug.ui@default:default,org.eclipse.rse.shells.ui@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.ui.ide@default:default,org.eclipse.rse.services.files.ftp@default:default,org.apache.commons.discovery@default:default,org.eclipse.osgi.util@default:default,org.eclipse.rse.subsystems.shells.dstore@default:default,org.eclipse.rse.subsystems.files.ssh@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt.junit@defau!
lt:default,org.eclipse.wst.sse.core@default:default,org.eclipse.rse.subsystems.files.local@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.rse.subsystems.shells.local@default:default,org.eclipse.rse.terminals.ui@default:default,org.apache.ant@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.team.core@default:default,org.eclipse.wst.common.project.facet.core@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.wst.common.core@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.rse.core@default:default,org.eclipse.core.jobs@default:default,org.eclipse.wst.common.environment@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.wst.common.emf@default:default,org.eclipse.equinox.http.servlet@default:default,org.apache.xml.serializer@default:default,org.eclipse.wst.common.frameworks@default:default,org.eclipse.debug.cor!
e@default:default,org.eclipse.team.ui@default:default,org.ecli!
pse.ltk.
ui.refactoring@default:default,org.eclipse.rse.importexport@default:default,org.eclipse.rse.services.dstore@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.swtbot.ant.optional.junit3@default:false,org.eclipse.rse.ui@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.help.ui@default:default,org.sat4j.core@default:default,org.eclipse.equinox.p2.core@default:default,org.apache.commons.net@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.ui.console@default:default,org.eclipse.swt@default:default,org.eclipse.rse.useractions@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.cdt.core.linux.x86_64@default:false,org.eclipse.ui.navigator@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.emf.common@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.rse.subsystems.processes.shell.linux@default:default,org.eclipse.ecf.provi!
der.filetransfer@default:default,org.eclipse.xsd@default:default,org.eclipse.ecf.identity@default:default,org.apache.commons.logging*1.0.4.v201005080501@default:default,org.eclipse.jem.util@default:default,org.eclipse.sdk@default:default,org.eclipse.pde.build@default:default,org.eclipse.ui.browser@default:default,org.apache.lucene.analysis@default:default,org.eclipse.rse.subsystems.shells.ssh@default:default,org.eclipse.help@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.jboss.tools.usage@default:default,org.jboss.tools.common@default:default,org.jboss.tools.deltacloud.core@default:default,org.jboss.tools.deltacloud.ui@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
<booleanAttribute key="tracing" value="false"/>
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -10,44 +10,47 @@
******************************************************************************/
package org.jboss.tools.deltacloud.ui;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.jboss.tools.common.log.StatusFactory;
+import org.jboss.tools.deltacloud.core.DeltaCloudMultiException;
public class ErrorUtils {
public static IStatus openErrorDialog(final String title, final String message, Throwable e, final Shell shell) {
- final IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- Display.getDefault().syncExec(new Runnable() {
- public void run() {
- ErrorDialog.openError(shell, title, message, status);
- }
- });
+ IStatus status = createStatus(e);
+ openErrorDialog(title, status, shell);
return status;
}
- public static IStatus openErrorDialog(final String title, final String message, Collection<Throwable> throwables, final Shell shell) {
- final IStatus status = createMultiStatus(message, throwables);
+ private static IStatus createStatus(Throwable e) {
+ if (e instanceof DeltaCloudMultiException) {
+ return createMultiStatus(e.getMessage(), e, ((DeltaCloudMultiException) e).getThrowables());
+ } else {
+ return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+ }
+ }
+
+ private static IStatus openErrorDialog(final String title, final IStatus status, final Shell shell) {
Display.getDefault().syncExec(new Runnable() {
public void run() {
- ErrorDialog.openError(shell, title, message, status);
+ ErrorDialog.openError(shell, title, status.getMessage(), status);
}
});
return status;
}
- // TODO: move to appropriate util class
- private static IStatus createMultiStatus(String message, Collection<Throwable> throwables) {
- MultiStatus multiStatus = new MultiStatus(Activator.PLUGIN_ID, 0, message, null);
- for(Throwable e : throwables) {
- IStatus childStatus = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- multiStatus.add(childStatus );
+ private static IStatus createMultiStatus(String message, Throwable throwable, Collection<Throwable> throwables) {
+ List<IStatus> states = new ArrayList<IStatus>(throwables.size());
+ for(Throwable childThrowable : throwables) {
+ IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, childThrowable.getMessage(), childThrowable);
+ states.add(status);
}
- return multiStatus;
+ return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, message, throwable, states.toArray(new IStatus[states.size()]));
}
-
}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -24,7 +24,7 @@
import org.jboss.tools.deltacloud.ui.views.CVCloudElement;
import org.jboss.tools.deltacloud.ui.views.CloudViewElement;
import org.jboss.tools.internal.deltacloud.ui.utils.UIUtils;
-import org.jboss.tools.internal.deltacloud.ui.wizards.EditCloudConnection;
+import org.jboss.tools.internal.deltacloud.ui.wizards.EditCloudConnectionWizard;
/**
* @author Andre Dietisheim
@@ -42,7 +42,7 @@
if (element != null) {
CVCloudElement cloudElement = (CVCloudElement) element;
DeltaCloud cloud = (DeltaCloud) cloudElement.getElement();
- IWizard wizard = new EditCloudConnection(cloud);
+ IWizard wizard = new EditCloudConnectionWizard(cloud);
WizardDialog dialog = new WizardDialog(UIUtils.getActiveWorkbenchWindow().getShell(), wizard);
dialog.create();
dialog.open();
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -22,6 +22,7 @@
import org.jboss.tools.deltacloud.core.IImageFilter;
import org.jboss.tools.deltacloud.core.IImageListListener;
import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
public class CVImagesCategoryElement extends CVCategoryElement implements IImageListListener {
@@ -79,15 +80,10 @@
initialized = true;
cloud.addImageListListener(this);
} catch (Exception e) {
- IStatus status = StatusFactory.getInstance(
- IStatus.ERROR,
- Activator.PLUGIN_ID,
- e.getMessage(),
- e);
- // TODO: internationalize strings
- ErrorDialog.openError(Display.getDefault().getActiveShell(),
+ ErrorUtils.openErrorDialog(
"Error",
- "Colud not get images from cloud " + cloud.getName(), status);
+ "Colud not get images from cloud " + cloud.getName(),
+ e, Display.getDefault().getActiveShell());
}
}
return super.getChildren();
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVRootElement.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVRootElement.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVRootElement.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -14,8 +14,8 @@
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.views.properties.IPropertySource;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.DeltaCloudManager;
-import org.jboss.tools.deltacloud.core.DeltaCloudPersistedConnectionsException;
import org.jboss.tools.deltacloud.core.ICloudManagerListener;
import org.jboss.tools.deltacloud.ui.ErrorUtils;
@@ -33,11 +33,12 @@
private void loadClouds() {
try {
DeltaCloudManager.getDefault().loadClouds();
- } catch (DeltaCloudPersistedConnectionsException e) {
+ } catch (DeltaCloudException e) {
+ // TODO: internationalize strings
ErrorUtils.openErrorDialog(
"Error",
- "Could not load all clouds",
- e.getErrors(), Display.getDefault().getActiveShell());
+ "Errors occurred while loading all clouds",
+ e, Display.getDefault().getActiveShell());
}
}
Deleted: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnection.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnection.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnection.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat Inc..
- * All rights reserved. This program and the accompanying materials
- * are 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 Incorporated - initial API and implementation
- *******************************************************************************/
-package org.jboss.tools.internal.deltacloud.ui.wizards;
-
-import java.net.MalformedURLException;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.security.storage.ISecurePreferences;
-import org.eclipse.equinox.security.storage.SecurePreferencesFactory;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.jboss.tools.common.log.StatusFactory;
-import org.jboss.tools.deltacloud.core.DeltaCloud;
-import org.jboss.tools.deltacloud.core.DeltaCloudManager;
-import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
-import org.jboss.tools.deltacloud.ui.Activator;
-
-public class EditCloudConnection extends Wizard implements INewWizard, CloudConnection {
-
- private static final String MAINPAGE_NAME = "EditCloudConnection.name"; //$NON-NLS-1$
- private CloudConnectionPage mainPage;
- private DeltaCloud cloud;
-
- public EditCloudConnection(DeltaCloud cloud) {
- super();
- this.cloud = cloud;
- }
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- }
-
- @Override
- public void addPages() {
- String password = getPassword();
- try {
- mainPage = new CloudConnectionPage(WizardMessages.getString(MAINPAGE_NAME),
- cloud.getName(), cloud.getURL(), cloud.getUsername(), password,
- cloud.getType(), this);
- addPage(mainPage);
- } catch (MalformedURLException e) {
- IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- ErrorDialog.openError(getShell(), WizardMessages.getString("EditCloudConnectionError.title"),
- WizardMessages.getString("EditCloudConnectionError.message"), status);
- }
- }
-
- private String getPassword() {
- String password = "";
- String key = DeltaCloud.getPreferencesKey(cloud.getURL(), cloud.getUsername());
- ISecurePreferences root = SecurePreferencesFactory.getDefault();
- ISecurePreferences node = root.node(key);
- try {
- password = node.get("password", null); //$NON-NLS-1$
- } catch (Exception e) {
- Activator.log(e);
- }
- return password;
- }
-
- @Override
- public boolean canFinish() {
- return mainPage.isPageComplete();
- }
-
- public boolean performTest() {
- String name = mainPage.getName();
- String url = mainPage.getModel().getUrl();
- String username = mainPage.getModel().getUsername();
- String password = mainPage.getModel().getPassword();
- try {
- DeltaCloud newCloud = new DeltaCloud(name, url, username, password);
- return newCloud.testConnection();
- } catch (MalformedURLException e) {
- Activator.log(e);
- return false;
- } catch (DeltaCloudClientException e) {
- IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- Activator.log(status);
- ErrorDialog.openError(
- getShell(),
- WizardMessages.getString("CloudConnectionAuthError.title"),
- WizardMessages.getFormattedString("CloudConnectionAuthError.message", url),
- status);
- return true;
- }
- }
-
- @Override
- public boolean performFinish() {
- String name = mainPage.getModel().getName();
- String url = mainPage.getModel().getUrl();
- String username = mainPage.getModel().getUsername();
- String password = mainPage.getModel().getPassword();
- String type = mainPage.getModel().getType().toString();
- try {
- String oldName = cloud.getName();
- cloud.editCloud(name, url, username, password, type);
- if (!name.equals(oldName))
- DeltaCloudManager.getDefault().notifyCloudRename();
- } catch (Exception e) {
- }
- return true;
- }
-
- @Override
- public boolean needsProgressMonitor() {
- return true;
- }
-
-}
Copied: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java (from rev 26561, trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnection.java)
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -0,0 +1,119 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat Inc..
+ * All rights reserved. This program and the accompanying materials
+ * are 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 Incorporated - initial API and implementation
+ *******************************************************************************/
+package org.jboss.tools.internal.deltacloud.ui.wizards;
+
+import java.net.MalformedURLException;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.equinox.security.storage.ISecurePreferences;
+import org.eclipse.equinox.security.storage.SecurePreferencesFactory;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.jboss.tools.common.log.StatusFactory;
+import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
+import org.jboss.tools.deltacloud.core.DeltaCloudManager;
+import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
+
+public class EditCloudConnectionWizard extends Wizard implements INewWizard, CloudConnection {
+
+ private static final String MAINPAGE_NAME = "EditCloudConnection.name"; //$NON-NLS-1$
+ private CloudConnectionPage mainPage;
+ private DeltaCloud cloud;
+
+ public EditCloudConnectionWizard(DeltaCloud cloud) {
+ super();
+ this.cloud = cloud;
+ }
+
+ @Override
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ }
+
+ @Override
+ public void addPages() {
+ String password = getPassword();
+ try {
+ mainPage = new CloudConnectionPage(WizardMessages.getString(MAINPAGE_NAME),
+ cloud.getName(), cloud.getURL(), cloud.getUsername(), password,
+ cloud.getType(), this);
+ addPage(mainPage);
+ } catch (MalformedURLException e) {
+ ErrorUtils.openErrorDialog(WizardMessages.getString("EditCloudConnectionError.title"),
+ WizardMessages.getString("EditCloudConnectionError.message"), e, getShell());
+ }
+ }
+
+ private String getPassword() {
+ String password = "";
+ String key = DeltaCloud.getPreferencesKey(cloud.getURL(), cloud.getUsername());
+ ISecurePreferences root = SecurePreferencesFactory.getDefault();
+ ISecurePreferences node = root.node(key);
+ try {
+ password = node.get("password", null); //$NON-NLS-1$
+ } catch (Exception e) {
+ Activator.log(e);
+ }
+ return password;
+ }
+
+ @Override
+ public boolean canFinish() {
+ return mainPage.isPageComplete();
+ }
+
+ public boolean performTest() {
+ String name = mainPage.getName();
+ String url = mainPage.getModel().getUrl();
+ String username = mainPage.getModel().getUsername();
+ String password = mainPage.getModel().getPassword();
+ try {
+ DeltaCloud newCloud = new DeltaCloud(name, url, username, password);
+ return newCloud.testConnection();
+ } catch (DeltaCloudException e) {
+ IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+ Activator.log(status);
+ ErrorDialog.openError(
+ getShell(),
+ WizardMessages.getString("CloudConnectionAuthError.title"),
+ WizardMessages.getFormattedString("CloudConnectionAuthError.message", url),
+ status);
+ return false;
+ }
+ }
+
+ @Override
+ public boolean performFinish() {
+ String name = mainPage.getModel().getName();
+ String url = mainPage.getModel().getUrl();
+ String username = mainPage.getModel().getUsername();
+ String password = mainPage.getModel().getPassword();
+ String type = mainPage.getModel().getType().toString();
+ try {
+ String oldName = cloud.getName();
+ cloud.editCloud(name, url, username, password, type);
+ DeltaCloudManager.getDefault().saveClouds();
+ if (!name.equals(oldName))
+ DeltaCloudManager.getDefault().notifyCloudRename();
+ } catch (Exception e) {
+ }
+ return true;
+ }
+
+ @Override
+ public boolean needsProgressMonitor() {
+ return true;
+ }
+}
Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ImageFilter.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ImageFilter.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ImageFilter.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -1,57 +1,51 @@
package org.jboss.tools.internal.deltacloud.ui.wizards;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.wizard.Wizard;
-import org.jboss.tools.common.log.StatusFactory;
import org.jboss.tools.deltacloud.core.DeltaCloud;
-import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.core.DeltaCloudManager;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
public class ImageFilter extends Wizard {
private DeltaCloud cloud;
private ImageFilterPage mainPage;
-
+
public ImageFilter(DeltaCloud cloud) {
this.cloud = cloud;
}
-
+
@Override
public void addPages() {
// TODO Auto-generated method stub
mainPage = new ImageFilterPage(cloud);
addPage(mainPage);
}
-
+
@Override
public boolean canFinish() {
return mainPage.isPageComplete();
}
-
+
@Override
public boolean performFinish() {
String nameRule = mainPage.getNameRule();
String idRule = mainPage.getIdRule();
String archRule = mainPage.getArchRule();
String descRule = mainPage.getDescRule();
-
+
try {
cloud.updateImageFilter(nameRule + ";" + //$NON-NLS-1$
idRule + ";" + //$NON-NLS-1$
archRule + ";" + //$NON-NLS-1$
descRule);
+ DeltaCloudManager.getDefault().saveClouds();
} catch (Exception e) {
- IStatus status = StatusFactory.getInstance(
- IStatus.ERROR,
- Activator.PLUGIN_ID,
- e.getMessage(),
- e);
// TODO: internationalize strings
- ErrorDialog.openError(getShell(),
+ ErrorUtils.openErrorDialog(
"Error",
- "Cloud not get update filters on cloud " + cloud.getName(), status);
+ "Cloud not get update filters on cloud " + cloud.getName(), e, getShell());
}
-
+
return true;
}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/InstanceFilter.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/InstanceFilter.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/InstanceFilter.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -1,12 +1,10 @@
package org.jboss.tools.internal.deltacloud.ui.wizards;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.swt.widgets.Display;
-import org.jboss.tools.common.log.StatusFactory;
import org.jboss.tools.deltacloud.core.DeltaCloud;
-import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.core.DeltaCloudManager;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
public class InstanceFilter extends Wizard {
@@ -47,12 +45,12 @@
keyNameRule + ";" + //$NON-NLS-1$
realmRule + ";" + //$NON-NLS-1$
profileRule);
+ DeltaCloudManager.getDefault().saveClouds();
} catch (Exception e) {
- IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
// TODO: internationalize strings
- ErrorDialog.openError(Display.getDefault().getActiveShell(),
+ ErrorUtils.openErrorDialog(
"Error",
- "Could not update filters", status);
+ "Could not update filters", e, Display.getDefault().getActiveShell());
}
return true;
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnectionWizard.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnectionWizard.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnectionWizard.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -10,19 +10,16 @@
*******************************************************************************/
package org.jboss.tools.internal.deltacloud.ui.wizards;
-import java.net.MalformedURLException;
+import java.text.MessageFormat;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
-import org.jboss.tools.common.log.StatusFactory;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.DeltaCloudManager;
-import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
-import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
public class NewCloudConnectionWizard extends Wizard implements INewWizard, CloudConnection {
@@ -56,17 +53,10 @@
try {
DeltaCloud newCloud = new DeltaCloud(name, url, username, password);
return newCloud.testConnection();
- } catch (MalformedURLException e) {
- Activator.log(e);
- return false;
- } catch (DeltaCloudClientException e) {
- IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- Activator.log(status);
- ErrorDialog.openError(
- getShell(),
- WizardMessages.getString("CloudConnectionAuthError.title"),
- WizardMessages.getFormattedString("CloudConnectionAuthError.message", url),
- status);
+ } catch (DeltaCloudException e) {
+ ErrorUtils
+ .openErrorDialog(WizardMessages.getString("CloudConnectionAuthError.title"),
+ WizardMessages.getFormattedString("CloudConnectionAuthError.message", url), e, getShell());
return true;
}
}
@@ -79,10 +69,13 @@
String password = mainPage.getModel().getPassword();
String type = mainPage.getModel().getType().toString();
try {
- DeltaCloud newCloud = new DeltaCloud(name, url, username, password, type, true);
+ DeltaCloud newCloud = new DeltaCloud(name, url, username, password, type);
DeltaCloudManager.getDefault().addCloud(newCloud);
- } catch (MalformedURLException e) {
- Activator.log(e);
+ DeltaCloudManager.getDefault().saveClouds();
+ } catch (Exception e) {
+ // TODO internationalize strings
+ ErrorUtils
+ .openErrorDialog("Error", MessageFormat.format("Could not create cloud {0}", name), e, getShell());
}
return true;
}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -10,7 +10,10 @@
*******************************************************************************/
package org.jboss.tools.internal.deltacloud.ui.wizards;
+import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.jface.dialogs.IDialogConstants;
@@ -35,10 +38,12 @@
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
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.ui.Activator;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
import org.jboss.tools.deltacloud.ui.IDeltaCloudPreferenceConstants;
import org.jboss.tools.deltacloud.ui.SWTImagesFactory;
import org.osgi.service.prefs.Preferences;
@@ -70,11 +75,11 @@
private Text keyText;
private Combo hardware;
private Button keyManage;
- private Control realm;
+ private Control realmCombo;
private String[] profileIds;
private ProfileComposite currPage;
private ProfileComposite[] profilePages;
- private ArrayList<String> realmIds;
+ private List<DeltaCloudRealm> realms;
private ModifyListener textListener = new ModifyListener() {
@@ -127,9 +132,9 @@
}
public String getRealmId() {
- if (realm instanceof Combo) {
- int index = ((Combo) realm).getSelectionIndex();
- return realmIds.get(index);
+ if (realmCombo instanceof Combo) {
+ int index = ((Combo) realmCombo).getSelectionIndex();
+ return realms.get(index).getId();
} else {
return null;
}
@@ -191,11 +196,17 @@
private void getPossibleProfiles() {
profiles = new ArrayList<DeltaCloudHardwareProfile>();
- DeltaCloudHardwareProfile[] allProfiles = cloud.getProfiles();
- for (DeltaCloudHardwareProfile p : allProfiles) {
- if (p.getArchitecture() == null || image.getArchitecture().equals(p.getArchitecture())) {
- profiles.add(p);
+ try {
+ DeltaCloudHardwareProfile[] allProfiles = cloud.getProfiles();
+ for (DeltaCloudHardwareProfile p : allProfiles) {
+ if (p.getArchitecture() == null || image.getArchitecture().equals(p.getArchitecture())) {
+ profiles.add(p);
+ }
}
+ } catch (DeltaCloudException e) {
+ // TODO internationalize strings
+ ErrorUtils.openErrorDialog("Error",
+ MessageFormat.format("Could not get profiles from cloud {0}", cloud.getName()), e, getShell());
}
}
@@ -243,17 +254,8 @@
nameText = new Text(container, SWT.BORDER | SWT.SINGLE);
nameText.addModifyListener(textListener);
- DeltaCloudRealm[] realms = cloud.getRealms();
- realmIds = new ArrayList<String>();
- ArrayList<String> realmNames = new ArrayList<String>();
- for (int i = 0; i < realms.length; ++i) {
- DeltaCloudRealm r = realms[i];
- if (r.getState() == null || r.getState().equals(DeltaCloudRealm.AVAILABLE)) {
- realmNames.add(r.getId() + " [" + r.getName() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
- realmIds.add(r.getId());
- }
- }
- createRealmsControl(container, realmNames);
+ realms = getRealms();
+ createRealmsControl(container, getRealmNames(realms));
Label hardwareLabel = new Label(container, SWT.NULL);
hardwareLabel.setText(WizardMessages.getString(HARDWARE_LABEL));
@@ -325,9 +327,9 @@
f.top = new FormAttachment(arch, 8);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
- realm.setLayoutData(f);
+ realmCombo.setLayoutData(f);
- Control control = realm;
+ Control control = realmCombo;
if (cloud.getType().equals(DeltaCloud.EC2_TYPE)) {
Label keyLabel = new Label(container, SWT.NULL);
@@ -346,7 +348,7 @@
int centering2 = (p3.y - p2.y + 1) / 2;
f = new FormData();
- f.top = new FormAttachment(realm, 8 + centering + centering2);
+ f.top = new FormAttachment(realmCombo, 8 + centering + centering2);
f.left = new FormAttachment(0, 0);
keyLabel.setLayoutData(f);
@@ -354,12 +356,12 @@
int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
Point minSize = keyManage.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
f.width = Math.max(widthHint, minSize.x);
- f.top = new FormAttachment(realm, 8);
- f.right = new FormAttachment(realm, 0, SWT.RIGHT);
+ f.top = new FormAttachment(realmCombo, 8);
+ f.right = new FormAttachment(realmCombo, 0, SWT.RIGHT);
keyManage.setLayoutData(f);
f = new FormData();
- f.top = new FormAttachment(realm, 8 + centering2);
+ f.top = new FormAttachment(realmCombo, 8 + centering2);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(keyManage, -10);
keyText.setLayoutData(f);
@@ -388,6 +390,31 @@
setControl(container);
}
+ private List<String> getRealmNames(List<DeltaCloudRealm> realms) {
+ List<String> realmNames = new ArrayList<String>();
+ for (DeltaCloudRealm realm : realms) {
+ realmNames.add(
+ new StringBuilder()
+ .append(realm.getId())
+ .append(" [") //$NON-NLS-1$
+ .append(realm.getName())
+ .append("]") //$NON-NLS-1$
+ .toString());
+ }
+ return realmNames;
+ }
+
+ private List<DeltaCloudRealm> getRealms() {
+ List<DeltaCloudRealm> realms = new ArrayList<DeltaCloudRealm>();
+ try {
+ realms = Arrays.asList(cloud.getRealms());
+ } catch (DeltaCloudException e) {
+ ErrorUtils.openErrorDialog("Error",
+ MessageFormat.format("Could not get realms from cloud {0}", cloud.getName()), e, getShell());
+ }
+ return realms;
+ }
+
/**
* Creates the control that shall display the available realms. It creates
* either a combo, if there are realms available, or a label if none are
@@ -398,17 +425,16 @@
* @param realmNames
* the realm names
*/
- private void createRealmsControl(final Composite parent, ArrayList<String> realmNames) {
- if (realmIds.size() > 0) {
+ private void createRealmsControl(final Composite parent, List<String> realmNames) {
+ if (realmNames.size() > 0) {
Combo combo = new Combo(parent, SWT.BORDER | SWT.READ_ONLY);
combo.setItems(realmNames.toArray(new String[realmNames.size()]));
combo.setText(realmNames.get(0));
- realm = combo;
+ realmCombo = combo;
} else {
Label label = new Label(parent, SWT.NULL);
label.setText(WizardMessages.getString(NONE_RESPONSE));
- realm = label;
+ realmCombo = label;
}
}
-
}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -10,8 +10,11 @@
*******************************************************************************/
package org.jboss.tools.internal.deltacloud.ui.wizards;
+import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.eclipse.core.databinding.Binding;
@@ -47,9 +50,11 @@
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
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.ui.ErrorUtils;
import org.jboss.tools.deltacloud.ui.SWTImagesFactory;
import org.jboss.tools.internal.deltacloud.ui.common.databinding.validator.MandatoryStringValidator;
@@ -63,7 +68,7 @@
private final static String NAME = "NewInstance.name"; //$NON-NLS-1$
private final static String DESCRIPTION = "NewInstance.desc"; //$NON-NLS-1$
private final static String TITLE = "NewInstance.title"; //$NON-NLS-1$
-
+
private static final String NAME_LABEL = "Name.label"; //$NON-NLS-1$
private static final String IMAGE_LABEL = "Image.label"; //$NON-NLS-1$
private static final String ARCH_LABEL = "Arch.label"; //$NON-NLS-1$
@@ -89,12 +94,13 @@
private Combo hardware;
private Button keyManage;
private Button findImage;
- private Control realm;
+ private Control realmCombo;
private ProfileComposite currPage;
private Map<String, ProfileComposite> profilePages;
private ArrayList<String> realmIds;
private DeltaCloudHardwareProfile[] allProfiles;
-
+ private List<DeltaCloudRealm> realms;
+
private ModifyListener comboListener = new ModifyListener() {
@Override
@@ -105,12 +111,12 @@
currPage.setVisible(true);
}
};
-
+
private SelectionListener manageListener = new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
Shell shell = getShell();
- ManageKeysWizard wizard = new ManageKeysWizard(cloud, ".pem"); //$NON-NLS-1$
+ ManageKeysWizard wizard = new ManageKeysWizard(cloud, ".pem"); //$NON-NLS-1$
WizardDialog dialog = new CustomWizardDialog(shell, wizard,
IDialogConstants.OK_LABEL);
dialog.create();
@@ -119,7 +125,7 @@
if (keyname != null)
keyText.setText(keyname);
}
-
+
};
private SelectionListener findListener = new SelectionAdapter() {
@@ -135,21 +141,20 @@
if (imageId != null)
imageText.setText(imageId);
}
-
+
};
-
+
public NewInstancePage2(DeltaCloud cloud) {
super(WizardMessages.getString(NAME));
this.cloud = cloud;
profilePages = new HashMap<String, ProfileComposite>();
- allProfiles = cloud.getProfiles();
+ allProfiles = getProfiles();
String defaultKeyname = cloud.getLastKeyname();
model = new NewInstanceModel("", //$NON-NLS-1$
"", //$NON-NLS-1$
"", //$NON-NLS-1$
"", //$NON-NLS-1$
- defaultKeyname,
- ""); //$NON-NLS-1$
+ defaultKeyname, ""); //$NON-NLS-1$
setDescription(WizardMessages.getString(DESCRIPTION));
setTitle(WizardMessages.getString(TITLE));
setImageDescriptor(SWTImagesFactory.DESC_DELTA_LARGE);
@@ -161,42 +166,42 @@
}
public String getRealmId() {
- if (realm instanceof Combo) {
- int index = ((Combo)realm).getSelectionIndex();
+ if (realmCombo instanceof Combo) {
+ int index = ((Combo) realmCombo).getSelectionIndex();
return realmIds.get(index);
} else {
return null;
}
}
-
+
public String getCpuProperty() {
return currPage.getCPU();
}
-
+
public String getStorageProperty() {
return currPage.getStorage();
}
-
+
public String getMemoryProperty() {
return currPage.getMemory();
}
-
+
public String getInstanceName() {
return nameText.getText();
}
-
+
public String getKeyName() {
return keyText.getText();
}
-
+
public String getImageId() {
return imageText.getText();
}
-
+
public void setImage(DeltaCloudImage image) {
this.image = image;
}
-
+
public void clearProfiles() {
hardware.removeModifyListener(comboListener);
hardware.removeAll();
@@ -206,7 +211,22 @@
hardware.setEnabled(false);
hardware.addModifyListener(comboListener);
}
-
+
+ private DeltaCloudHardwareProfile[] getProfiles() {
+ List<DeltaCloudHardwareProfile> profiles = new ArrayList<DeltaCloudHardwareProfile>();
+ try {
+ DeltaCloudHardwareProfile[] allProfiles = cloud.getProfiles();
+ for (DeltaCloudHardwareProfile p : allProfiles) {
+ profiles.add(p);
+ }
+ } catch (DeltaCloudException e) {
+ // TODO internationalize strings
+ ErrorUtils.openErrorDialog("Error",
+ MessageFormat.format("Could not get profiles from cloud {0}", cloud.getName()), e, getShell());
+ }
+ return profiles.toArray(new DeltaCloudHardwareProfile[profiles.size()]);
+ }
+
public void filterProfiles() {
ArrayList<DeltaCloudHardwareProfile> profiles = new ArrayList<DeltaCloudHardwareProfile>();
for (DeltaCloudHardwareProfile p : allProfiles) {
@@ -229,37 +249,38 @@
hardware.addModifyListener(comboListener);
}
}
-
+
@Override
public void createControl(Composite parent) {
DataBindingContext dbc = new DataBindingContext();
WizardPageSupport.create(this, dbc);
-
+
final Composite container = new Composite(parent, SWT.NULL);
FormLayout layout = new FormLayout();
layout.marginHeight = 5;
layout.marginWidth = 5;
- container.setLayout(layout);
-
+ container.setLayout(layout);
+
Label dummyLabel = new Label(container, SWT.NULL);
Label imageLabel = new Label(container, SWT.NULL);
imageLabel.setText(WizardMessages.getString(IMAGE_LABEL));
-
+
Label archLabel = new Label(container, SWT.NULL);
archLabel.setText(WizardMessages.getString(ARCH_LABEL));
-
-
+
Label nameLabel = new Label(container, SWT.NULL);
nameLabel.setText(WizardMessages.getString(NAME_LABEL));
-
+
Label realmLabel = new Label(container, SWT.NULL);
realmLabel.setText(WizardMessages.getString(REALM_LABEL));
-
nameText = new Text(container, SWT.BORDER | SWT.SINGLE);
bindText(dbc, nameText, NewInstanceModel.PROPERTY_NAME, MUST_ENTER_A_NAME);
-
+
+ realms = getRealms();
+ createRealmsControl(container, getRealmNames(realms));
+
imageText = new Text(container, SWT.BORDER | SWT.SINGLE);
dbc.bindValue(
WidgetProperties.text(SWT.Modify).observeDelayed(IMAGE_CHECK_DELAY, imageText),
@@ -268,7 +289,7 @@
new UpdateValueStrategy().setAfterGetValidator(new MandatoryStringValidator(
WizardMessages.getString(MUST_ENTER_IMAGE_ID))),
null);
-
+
findImage = new Button(container, SWT.NULL);
findImage.setText(WizardMessages.getString(FIND_BUTTON_LABEL));
findImage.addSelectionListener(findListener);
@@ -276,36 +297,15 @@
arch = new Label(container, SWT.NULL);
bindArchLabel(dbc, imageText, arch, this);
- DeltaCloudRealm[] realms = cloud.getRealms();
- realmIds = new ArrayList<String>();
- ArrayList<String> realmNames = new ArrayList<String>();
- for (int i = 0; i < realms.length; ++i) {
- DeltaCloudRealm r = realms[i];
- if (r.getState() == null || r.getState().equals(DeltaCloudRealm.AVAILABLE)) {
- realmNames.add(r.getId() + " [" + r.getName() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
- realmIds.add(r.getId());
- }
- }
- if (realmIds.size() > 0) {
- Combo combo = new Combo(container, SWT.BORDER | SWT.READ_ONLY);
- combo.setItems(realmNames.toArray(new String[realmNames.size()]));
- combo.setText(realmNames.get(0));
- realm = combo;
- } else {
- Label label = new Label(container, SWT.NULL);
- label.setText(WizardMessages.getString(NONE_RESPONSE));
- realm = label;
- }
- IObservableValue realmObservable = WidgetProperties.text().observe(realm);
+ IObservableValue realmObservable = WidgetProperties.text().observe(realmCombo);
dbc.bindValue(
realmObservable,
BeanProperties.value(NewInstanceModel.class, NewInstanceModel.PROPERTY_REALM).observe(
model));
-
Label hardwareLabel = new Label(container, SWT.NULL);
hardwareLabel.setText(WizardMessages.getString(HARDWARE_LABEL));
-
+
hardware = new Combo(container, SWT.READ_ONLY);
Group groupContainer = new Group(container, SWT.BORDER);
groupContainer.setText(WizardMessages.getString(PROPERTIES_LABEL));
@@ -319,7 +319,7 @@
hardwareObservable,
BeanProperties.value(NewInstanceModel.class, NewInstanceModel.PROPERTY_PROFILE).observe(
model));
-
+
for (DeltaCloudHardwareProfile p : allProfiles) {
ProfileComposite pc = new ProfileComposite(p, groupContainer);
profilePages.put(p.getId(), pc);
@@ -331,29 +331,29 @@
keyManage.addSelectionListener(manageListener);
if (cloud.getType().equals(DeltaCloud.MOCK_TYPE))
keyManage.setEnabled(false);
-
+
Point p1 = nameLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT);
Point p2 = nameText.computeSize(SWT.DEFAULT, SWT.DEFAULT);
Point p3 = findImage.computeSize(SWT.DEFAULT, SWT.DEFAULT);
int centering = (p2.y - p1.y + 1) / 2;
int centering2 = (p3.y - p2.y + 1) / 2;
-
+
FormData f = new FormData();
f.left = new FormAttachment(0, 0);
f.right = new FormAttachment(100, 0);
dummyLabel.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(dummyLabel, 8 + centering);
f.left = new FormAttachment(0, 0);
nameLabel.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(dummyLabel, 8);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
nameText.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(nameText, 8 + centering + centering2);
f.left = new FormAttachment(0, 0);
@@ -368,7 +368,7 @@
f = new FormData();
f.width = buttonWidth;
f.top = new FormAttachment(nameText, 8);
- f.right = new FormAttachment(realm, 0, SWT.RIGHT);
+ f.right = new FormAttachment(realmCombo, 0, SWT.RIGHT);
findImage.setLayoutData(f);
f = new FormData();
@@ -376,69 +376,67 @@
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(findImage, -10);
imageText.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(imageLabel, 8 + centering);
f.left = new FormAttachment(0, 0);
archLabel.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(imageLabel, 8 + centering);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
arch.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(arch, 8 + centering);
f.left = new FormAttachment(0, 0);
realmLabel.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(arch, 8);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
- realm.setLayoutData(f);
+ realmCombo.setLayoutData(f);
+ Control control = realmCombo;
- Control control = realm;
-
Label keyLabel = new Label(container, SWT.NULL);
keyLabel.setText(WizardMessages.getString(KEY_LABEL));
keyText = new Text(container, SWT.BORDER | SWT.SINGLE);
bindText(dbc, keyText, NewInstanceModel.PROPERTY_KEYNAME, MUST_ENTER_A_KEYNAME);
-
f = new FormData();
- f.top = new FormAttachment(realm, 8 + centering + centering2);
+ f.top = new FormAttachment(realmCombo, 8 + centering + centering2);
f.left = new FormAttachment(0, 0);
keyLabel.setLayoutData(f);
f = new FormData();
f.width = buttonWidth;
- f.top = new FormAttachment(realm, 8);
- f.right = new FormAttachment(realm, 0, SWT.RIGHT);
+ f.top = new FormAttachment(realmCombo, 8);
+ f.right = new FormAttachment(realmCombo, 0, SWT.RIGHT);
keyManage.setLayoutData(f);
f = new FormData();
- f.top = new FormAttachment(realm, 8 + centering2);
+ f.top = new FormAttachment(realmCombo, 8 + centering2);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(keyManage, -10);
keyText.setLayoutData(f);
control = keyText;
-
+
f = new FormData();
f.top = new FormAttachment(control, 8 + centering);
f.left = new FormAttachment(0, 0);
hardwareLabel.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(control, 8);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
hardware.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(hardware, 10);
f.left = new FormAttachment(0, 0);
@@ -451,7 +449,7 @@
// in their values such as the architecture and hardware profiles.
String defaultImage = cloud.getLastImageId();
model.setImageId(defaultImage);
-
+
setControl(container);
}
@@ -468,7 +466,7 @@
private NewInstanceModel.ImageContainer container;
private NewInstancePage2 page;
- public ArchAdapter(Label archLabel,
+ public ArchAdapter(Label archLabel,
NewInstanceModel.ImageContainer container,
NewInstancePage2 page) {
this.archLabel = archLabel;
@@ -489,11 +487,11 @@
}
}
}
-
+
/**
- * Binds the architecture label to the given image id text widget. Attaches a
- * listener to the image id text widget Adds a validity decorator to the image text
- * widget.
+ * Binds the architecture label to the given image id text widget. Attaches
+ * a listener to the image id text widget Adds a validity decorator to the
+ * image text widget.
*
* @param dbc
* the databinding context to use
@@ -520,7 +518,7 @@
ControlDecorationSupport.create(binding, SWT.LEFT | SWT.TOP);
return binding;
}
-
+
/**
* Bind the given text widget to the cloud connection model. Attaches
* validator to the binding that enforce a non-empty input.
@@ -535,11 +533,57 @@
WidgetProperties.text(SWT.Modify).observe(text),
BeanProperties.value(NewInstanceModel.class, property)
.observe(model),
- new UpdateValueStrategy().setBeforeSetValidator(new MandatoryStringValidator(WizardMessages.getString(errMsgId))),
+ new UpdateValueStrategy().setBeforeSetValidator(new MandatoryStringValidator(WizardMessages
+ .getString(errMsgId))),
null);
ControlDecorationSupport.create(nameTextBinding, SWT.LEFT | SWT.TOP);
}
+ private List<String> getRealmNames(List<DeltaCloudRealm> realms) {
+ List<String> realmNames = new ArrayList<String>();
+ for (DeltaCloudRealm realm : realms) {
+ realmNames.add(
+ new StringBuilder()
+ .append(realm.getId())
+ .append(" [") //$NON-NLS-1$
+ .append(realm.getName())
+ .append("]") //$NON-NLS-1$
+ .toString());
+ }
+ return realmNames;
+ }
+ private List<DeltaCloudRealm> getRealms() {
+ List<DeltaCloudRealm> realms = new ArrayList<DeltaCloudRealm>();
+ try {
+ realms = Arrays.asList(cloud.getRealms());
+ } catch (DeltaCloudException e) {
+ ErrorUtils.openErrorDialog("Error",
+ MessageFormat.format("Could not get realms from cloud {0}", cloud.getName()), e, getShell());
+ }
+ return realms;
+ }
+ /**
+ * Creates the control that shall display the available realms. It creates
+ * either a combo, if there are realms available, or a label if none are
+ * available.
+ *
+ * @param parent
+ * the container
+ * @param realmNames
+ * the realm names
+ */
+ private void createRealmsControl(final Composite parent, List<String> realmNames) {
+ if (realmNames.size() > 0) {
+ Combo combo = new Combo(parent, SWT.BORDER | SWT.READ_ONLY);
+ combo.setItems(realmNames.toArray(new String[realmNames.size()]));
+ combo.setText(realmNames.get(0));
+ realmCombo = combo;
+ } else {
+ Label label = new Label(parent, SWT.NULL);
+ label.setText(WizardMessages.getString(NONE_RESPONSE));
+ realmCombo = label;
+ }
+ }
}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -26,6 +26,7 @@
import org.jboss.tools.deltacloud.core.DeltaCloud;
import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.DeltaCloudInstance;
+import org.jboss.tools.deltacloud.core.DeltaCloudManager;
import org.jboss.tools.deltacloud.ui.Activator;
import org.jboss.tools.deltacloud.ui.ErrorUtils;
import org.jboss.tools.deltacloud.ui.IDeltaCloudPreferenceConstants;
@@ -54,7 +55,6 @@
@Override
public void addPages() {
- // TODO Auto-generated method stub
mainPage = new NewInstancePage2(cloud);
addPage(mainPage);
}
@@ -129,8 +129,8 @@
// Save persistent settings for this particular cloud
cloud.setLastImageId(imageId);
cloud.setLastKeyname(keyname);
- cloud.save();
-
+ DeltaCloudManager.getDefault().saveClouds();
+
Preferences prefs = new InstanceScope().getNode(Activator.PLUGIN_ID);
try {
Modified: trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java
===================================================================
--- trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java 2010-11-17 15:22:25 UTC (rev 26672)
@@ -16,6 +16,7 @@
import java.net.MalformedURLException;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
import org.jboss.tools.internal.deltacloud.test.context.MockIntegrationTestContext;
import org.jboss.tools.internal.deltacloud.test.fakes.ServerFake;
@@ -47,7 +48,7 @@
}
@Test
- public void testConnectionReportsFalseOnAuthFailure() throws MalformedURLException, DeltaCloudClientException {
+ public void testConnectionReportsFalseOnAuthFailure() throws MalformedURLException, DeltaCloudClientException, DeltaCloudException {
ServerFake serverFake = setupServerFake("HTTP/1.1 403 Forbidden\n\n\n");
try {
DeltaCloud deltaCloud = new DeltaCloud(
@@ -62,7 +63,7 @@
}
@Test(expected = DeltaCloudClientException.class)
- public void testConnectionThrowsOnGeneralFailure() throws MalformedURLException, DeltaCloudClientException {
+ public void testConnectionThrowsOnGeneralFailure() throws MalformedURLException, DeltaCloudClientException, DeltaCloudException {
ServerFake serverFake = setupServerFake("HTTP/1.1 501 Some Error\ndummy dummy dummy\n\n");
try {
DeltaCloud deltaCloud = new DeltaCloud("aName", "http://localhost:" + ServerFake.DEFAULT_PORT, "badUser",
15 years, 5 months
JBoss Tools SVN: r26671 - in trunk/vpe/tests/org.jboss.tools.vpe.ui.test/src/org/jboss/tools/vpe/ui/test: handlers and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: mareshkau
Date: 2010-11-17 10:07:21 -0500 (Wed, 17 Nov 2010)
New Revision: 26671
Modified:
trunk/vpe/tests/org.jboss.tools.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/VpeUiTests.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/handlers/VpeCommandsTests.java
Log:
junit for https://jira.jboss.org/browse/JBIDE-7475
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/VpeUiTests.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/VpeUiTests.java 2010-11-17 14:59:18 UTC (rev 26670)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/VpeUiTests.java 2010-11-17 15:07:21 UTC (rev 26671)
@@ -26,13 +26,12 @@
public static final String IMPORT_PROJECT_NAME = "TestProject"; //$NON-NLS-1$
public static Test suite(){
TestSuite suite = new TestSuite("UI Tests for vpe"); //$NON-NLS-1$
+ suite.addTestSuite(VpeCommandsTests.class);
suite.addTestSuite(VpeResourcesDialogTest.class);
suite.addTestSuite(VpeEditorPreferencesPageTest.class);
suite.addTestSuite(CustomSashFormTest.class);
//suite.addTestSuite(VpePopupMenuTest.class);
suite.addTestSuite(VpeEditAnyDialogTest.class);
- suite.addTestSuite(VpeCommandsTests.class);
-
return new VpeTestSetup(suite);
}
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/handlers/VpeCommandsTests.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/handlers/VpeCommandsTests.java 2010-11-17 14:59:18 UTC (rev 26670)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/handlers/VpeCommandsTests.java 2010-11-17 15:07:21 UTC (rev 26671)
@@ -88,8 +88,6 @@
*/
public void testCommandState() throws Throwable {
//initially all commands should be disabled
- checkCommadState(false);
-
IFile vpeFile = (IFile) TestUtil.getComponentPath("inputUserName.jsp",
VpeUiTests.IMPORT_PROJECT_NAME);
@@ -115,6 +113,7 @@
pageChange.setAccessible(true);
pageChange.invoke(multiPageEditor, index);
multiPageEditor.pageChange(index);
+ TestUtil.delay(1500);
}
//checks command state
private void checkCommadState(boolean expected){
15 years, 5 months
JBoss Tools SVN: r26670 - in trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam: internal/core and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-11-17 09:59:18 -0500 (Wed, 17 Nov 2010)
New Revision: 26670
Added:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamImport.java
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/ISeamJavaComponentDeclaration.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamJavaComponentDeclaration.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/ComponentBuilder.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/PackageInfoRequestor.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/SeamAnnotations.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamCoreValidator.java
Log:
JBIDE-7616
https://jira.jboss.org/browse/JBIDE-7616
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/ISeamJavaComponentDeclaration.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/ISeamJavaComponentDeclaration.java 2010-11-17 14:54:38 UTC (rev 26669)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/ISeamJavaComponentDeclaration.java 2010-11-17 14:59:18 UTC (rev 26670)
@@ -137,4 +137,12 @@
public ISeamJavaComponentDeclaration clone() throws CloneNotSupportedException;
+ /**
+ * Returns only variables resolved with @Import annotation
+ *
+ * @param name
+ * @return
+ */
+ public Set<ISeamContextVariable> getVariablesByName(String name);
+
}
\ No newline at end of file
Added: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamImport.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamImport.java (rev 0)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamImport.java 2010-11-17 14:59:18 UTC (rev 26670)
@@ -0,0 +1,51 @@
+package org.jboss.tools.seam.internal.core;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.jboss.tools.common.xml.XMLUtilities;
+import org.jboss.tools.seam.core.ISeamNamespace;
+import org.w3c.dom.Element;
+
+public class SeamImport {
+ static String ATTR_PACKAGE = "package";
+
+ protected String seamPackage;
+ protected String javaPackage;
+
+ public SeamImport() {}
+
+ public String getSeamPackage() {
+ return seamPackage;
+ }
+
+ public String getJavaPackage() {
+ return javaPackage;
+ }
+
+ public void setSeamPackage(String seamPackage) {
+ this.seamPackage = seamPackage;
+ }
+
+ public void setJavaPackage(String javaPackage) {
+ this.javaPackage = javaPackage;
+ }
+
+ public Element toXML(Element parent) {
+ Element element = XMLUtilities.createElement(parent, "import");
+ if(seamPackage != null) {
+ element.setAttribute(SeamXMLConstants.ATTR_VALUE, seamPackage);
+ }
+ if(javaPackage != null) {
+ element.setAttribute(ATTR_PACKAGE, javaPackage);
+ }
+ return element;
+ }
+
+ public void loadXML(Element element) {
+ if(element.hasAttribute(ATTR_PACKAGE)) {
+ javaPackage = element.getAttribute(ATTR_PACKAGE);
+ }
+ seamPackage = element.getAttribute(SeamXMLConstants.ATTR_VALUE);
+ }
+
+}
Property changes on: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamImport.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamJavaComponentDeclaration.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamJavaComponentDeclaration.java 2010-11-17 14:54:38 UTC (rev 26669)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamJavaComponentDeclaration.java 2010-11-17 14:59:18 UTC (rev 26670)
@@ -62,6 +62,19 @@
protected Set<IBijectedAttribute> bijectedAttributes = new HashSet<IBijectedAttribute>();
protected Set<ISeamComponentMethod> componentMethods = new HashSet<ISeamComponentMethod>();
protected Set<IRole> roles = new HashSet<IRole>();
+
+ protected Set<String> imports = new HashSet<String>();
+
+ public Set<ISeamContextVariable> getVariablesByName(String name) {
+ Set<ISeamContextVariable> result = new HashSet<ISeamContextVariable>();
+ for (String s: imports) {
+ String qname = s + "." + name;
+ Set<ISeamContextVariable> c = getSeamProject().getVariablesByName(qname);
+ if((c == null || c.isEmpty()) && getSeamProject().getParentProject() != null) c = getSeamProject().getParentProject().getVariablesByName(qname);
+ if(c != null && !c.isEmpty()) result.addAll(c);
+ }
+ return result;
+ }
public void setType(IType type) {
this.type = type;
@@ -115,6 +128,10 @@
adopt(role);
}
+ public void addImport(String value) {
+ imports.add(value);
+ }
+
public Set<IBijectedAttribute> getBijectedAttributes() {
return bijectedAttributes;
}
@@ -208,6 +225,10 @@
public Set<IRole> getRoles() {
return roles;
}
+
+ public Set<String> getImports() {
+ return imports;
+ }
public boolean isOfType(BeanType type) {
return types != null && types.containsKey(type);
@@ -237,6 +258,10 @@
roles.remove(role);
}
+ public void removeImport(String value) {
+ imports.remove(value);
+ }
+
public IMember getSourceMember() {
return type;
}
@@ -275,6 +300,7 @@
mergeComponentMethods(jd, children);
mergeBijected(jd, children);
mergeRoles(jd, children);
+ mergeImports(jd, children);
changes = Change.addChange(changes, children);
@@ -354,6 +380,30 @@
}
+ public void mergeImports(SeamJavaComponentDeclaration jd, Change children) {
+ Map<Object, String> importMap = new HashMap<Object, String>();
+ for (String r: imports) importMap.put(r, r);
+
+ for (String r: jd.imports) {
+ String loaded = r;
+ String current = importMap.remove(loaded);
+ if(current == null) {
+ imports.add(loaded);
+ Change change = new Change(this, null, null, loaded);
+ children.addChildren(Change.addChange(null, change));
+ } else {
+ //nothing to merge as long as import is a String
+ }
+ }
+
+ for (String r: importMap.values()) {
+ imports.remove(r);
+ Change change = new Change(this, null, r, null);
+ children.addChildren(Change.addChange(null, change));
+ }
+
+ }
+
public void mergeComponentMethods(SeamJavaComponentDeclaration jd, Change children) {
Map<Object, SeamComponentMethod> methodsMap = new HashMap<Object, SeamComponentMethod>();
@@ -481,6 +531,8 @@
for (IRole r : roles) {
c.addRole(r.clone());
}
+ c.imports = new HashSet<String>();
+ c.imports.addAll(imports);
return c;
}
@@ -542,6 +594,14 @@
o.toXML(b, context);
}
}
+
+ if(!imports.isEmpty()) {
+ Element b = XMLUtilities.createElement(element, "imports");
+ for (String s: imports) {
+ Element i = XMLUtilities.createElement(b, "import");
+ i.setAttribute(SeamXMLConstants.ATTR_VALUE, s);
+ }
+ }
context.remove(SeamXMLConstants.ATTR_TYPE);
@@ -553,6 +613,15 @@
setScope(element.getAttribute(SeamXMLConstants.ATTR_SCOPE));
+ Element e_imports = XMLUtilities.getUniqueChild(element, "imports");
+ if(e_imports != null) {
+ Element[] cs = XMLUtilities.getChildren(e_imports, "import");
+ for (Element c: cs) {
+ String v = c.getAttribute(SeamXMLConstants.ATTR_VALUE);
+ if(v != null && v.length() > 0) imports.add(v);
+ }
+ }
+
Element e_types = XMLUtilities.getUniqueChild(element, "bean-types");
if(e_types != null) {
types = new HashMap<BeanType, IValueInfo>();
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/ComponentBuilder.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/ComponentBuilder.java 2010-11-17 14:54:38 UTC (rev 26669)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/ComponentBuilder.java 2010-11-17 14:59:18 UTC (rev 26670)
@@ -24,10 +24,13 @@
import org.eclipse.jdt.core.dom.ASTVisitor;
import org.eclipse.jdt.core.dom.Annotation;
import org.eclipse.jdt.core.dom.ArrayInitializer;
+import org.eclipse.jdt.core.dom.Expression;
import org.eclipse.jdt.core.dom.FieldDeclaration;
import org.eclipse.jdt.core.dom.MethodDeclaration;
import org.eclipse.jdt.core.dom.NormalAnnotation;
+import org.eclipse.jdt.core.dom.QualifiedName;
import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
+import org.eclipse.jdt.core.dom.StringLiteral;
import org.eclipse.jdt.core.dom.VariableDeclaration;
import org.jboss.tools.common.model.project.ext.IValueInfo;
import org.jboss.tools.common.model.project.ext.impl.ValueInfo;
@@ -90,6 +93,8 @@
component.setScope(scope);
} else if(INSTALL_ANNOTATION_TYPE.equals(type)) {
component.setPrecedence(ValueInfo.getValueInfo(as[i].getAnnotation(), "precedence")); //$NON-NLS-1$
+ } else if(IMPORT_ANNOTATION_TYPE.equals(type)) {
+ processImport(as[i].getAnnotation());
}
}
@@ -340,6 +345,11 @@
component.addRole(r);
}
+ private void processImport(Annotation a) {
+ List<String> vs = getArrayValue(a);
+ for (String v: vs) component.addImport(v);
+ }
+
private Annotation findAnnotation(AnnotatedASTNode<?> n, String type) {
ResolvedAnnotation[] as = n.getAnnotations();
if(as == null) return null;
@@ -423,6 +433,31 @@
}
return null;
}
+
+ static List<String> getArrayValue(Annotation a) {
+ List<String> result = new ArrayList<String>();
+ if(a instanceof SingleMemberAnnotation) {
+ SingleMemberAnnotation s = (SingleMemberAnnotation)a;
+ Expression exp = s.getValue();
+ if(exp instanceof StringLiteral) {
+ result.add(((StringLiteral)exp).getLiteralValue());
+ } else if(exp instanceof QualifiedName) {
+ Object o = exp.resolveConstantExpressionValue();
+ if(o != null) result.add(o.toString());
+ result.add(exp.toString());
+ } else if(exp instanceof ArrayInitializer) {
+ ArrayInitializer arr = (ArrayInitializer)exp;
+ List<?> es = arr.expressions();
+ if(es != null) for (Object e: es) {
+ Expression exp1 = (Expression)e;
+ if(exp1 instanceof StringLiteral) {
+ result.add(((StringLiteral)exp1).getLiteralValue());
+ }
+ }
+ }
+ }
+ return result;
+ }
}
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/PackageInfoRequestor.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/PackageInfoRequestor.java 2010-11-17 14:54:38 UTC (rev 26669)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/PackageInfoRequestor.java 2010-11-17 14:59:18 UTC (rev 26670)
@@ -22,6 +22,7 @@
import org.eclipse.jdt.core.dom.IAnnotationBinding;
import org.eclipse.jdt.core.dom.NormalAnnotation;
import org.eclipse.jdt.core.dom.PackageDeclaration;
+import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
import org.jboss.tools.common.model.project.ext.impl.ValueInfo;
import org.jboss.tools.seam.internal.core.SeamNamespace;
import org.jboss.tools.seam.internal.core.scanner.LoadedDeclarations;
@@ -75,7 +76,6 @@
if(b != null) {
String type = b.getAnnotationType().getQualifiedName();
if(NAMESPACE_ANNOTATION_TYPE.equals(type)) {
- System.out.println("!!!\n" + node);
ValueInfo value = ValueInfo.getValueInfo(node, "value");
ValueInfo prefix = ValueInfo.getValueInfo(node, "prefix");
SeamNamespace ns = new SeamNamespace();
@@ -86,9 +86,23 @@
//
}
namespaces.add(ns);
+ } else if(IMPORT_ANNOTATION_TYPE.equals(type)) {
+ List<String> imports = ComponentBuilder.getArrayValue(node);
+ for (String s: imports) System.out.println("NormalAnnotation " + s);
}
}
return true;
}
+ public boolean visit(SingleMemberAnnotation node) {
+ IAnnotationBinding b = node.resolveAnnotationBinding();
+ if(b != null) {
+ String type = b.getAnnotationType().getQualifiedName();
+ if(IMPORT_ANNOTATION_TYPE.equals(type)) {
+ List<String> imports = ComponentBuilder.getArrayValue(node);
+ for (String s: imports) System.out.println("SingleMemberAnnotation " + s);
+ }
+ }
+ return true;
+ }
}
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/SeamAnnotations.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/SeamAnnotations.java 2010-11-17 14:54:38 UTC (rev 26669)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/scanner/java/SeamAnnotations.java 2010-11-17 14:59:18 UTC (rev 26670)
@@ -22,6 +22,7 @@
public static final String NAME_ANNOTATION_TYPE = SEAM_ANNOTATION_TYPE_PREFIX + "Name"; //$NON-NLS-1$
public static final String SCOPE_ANNOTATION_TYPE = SEAM_ANNOTATION_TYPE_PREFIX + "Scope"; //$NON-NLS-1$
public static final String INSTALL_ANNOTATION_TYPE = SEAM_ANNOTATION_TYPE_PREFIX + "Install"; //$NON-NLS-1$
+ public static final String IMPORT_ANNOTATION_TYPE = SEAM_ANNOTATION_TYPE_PREFIX + "Import"; //$NON-NLS-1$
public static final String NAMESPACE_ANNOTATION_TYPE = SEAM_ANNOTATION_TYPE_PREFIX + "Namespace"; //$NON-NLS-1$
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamCoreValidator.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamCoreValidator.java 2010-11-17 14:54:38 UTC (rev 26669)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamCoreValidator.java 2010-11-17 14:59:18 UTC (rev 26670)
@@ -857,8 +857,9 @@
// save link between java source and variable name
validationContext.addLinkedCoreResource(name, declaration.getSourcePath(), false);
- Set<ISeamContextVariable> variables = seamProject.getVariablesByName(name);
- if(variables==null || variables.size()<1) {
+ Set<ISeamContextVariable> variables = declaration.getVariablesByName(name);
+ if(variables == null || variables.isEmpty()) variables = seamProject.getVariablesByName(name);
+ if(variables == null || variables.isEmpty()) {
ISeamProject parentProject = seamProject.getParentProject();
if(parentProject != null) {
variables = parentProject.getVariablesByName(name);
15 years, 5 months
JBoss Tools SVN: r26669 - trunk/common/plugins/org.jboss.tools.common/META-INF.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2010-11-17 09:54:38 -0500 (Wed, 17 Nov 2010)
New Revision: 26669
Modified:
trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF
Log:
[JBIDE-7597] added method to create multi status instance
Modified: trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF
===================================================================
--- trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF 2010-11-17 14:53:50 UTC (rev 26668)
+++ trunk/common/plugins/org.jboss.tools.common/META-INF/MANIFEST.MF 2010-11-17 14:54:38 UTC (rev 26669)
@@ -27,7 +27,7 @@
org.eclipse.ui.workbench.texteditor,
org.eclipse.jface.text,
org.apache.commons.httpclient;bundle-version="3.1.0"
-Bundle-Version: 3.2.0.qualifier
+Bundle-Version: 3.2.1.qualifier
Bundle-ActivationPolicy: lazy
Bundle-ManifestVersion: 2
Bundle-RequiredExecutionEnvironment: J2SE-1.5
15 years, 5 months
JBoss Tools SVN: r26668 - trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/log.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2010-11-17 09:53:50 -0500 (Wed, 17 Nov 2010)
New Revision: 26668
Modified:
trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/log/StatusFactory.java
Log:
[JBIDE-7597] added method to create multi status instance
Modified: trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/log/StatusFactory.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/log/StatusFactory.java 2010-11-17 14:47:59 UTC (rev 26667)
+++ trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/log/StatusFactory.java 2010-11-17 14:53:50 UTC (rev 26668)
@@ -7,10 +7,11 @@
*
* Contributors:
* Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
+ ******************************************************************************/
package org.jboss.tools.common.log;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.Status;
public class StatusFactory {
@@ -18,11 +19,11 @@
public final static String UNSPECIFIED_MESSAGE = null;
public final static String EMPTY_MESSAGE = ""; //$NON-NLS-1$
public final static String EMPTY_PLUGIN = ""; //$NON-NLS-1$
-
+
public static IStatus getInstance(int severity, String pluginId,
int code, String message, Throwable t) {
return new Status(severity, pluginId == null ? EMPTY_PLUGIN : pluginId,
- code, checkMessage(message, t) , t);
+ code, checkMessage(message, t), t);
}
public static IStatus getInstance(int severity, int code, String message,
@@ -44,26 +45,41 @@
Throwable t) {
return getInstance(severity, pluginId, UNDEFINED_ERROR, EMPTY_MESSAGE, t);
}
-
+
public static IStatus getInstance(int severity, String pluginId,
int code, Throwable t) {
return getInstance(severity, pluginId, code, EMPTY_MESSAGE, t);
}
-
+
public static IStatus getInstance(int severity, String pluginId,
int code, String message) {
return getInstance(severity, pluginId, code, message, null);
}
-
+
+ /**
+ * Returns a multi status with the given severity, plugin id, error code,
+ * message, cause and child status instances.
+ *
+ * @param severity
+ * @param pluginId
+ * @param message
+ * @param t
+ * @param status
+ * @return a multi status
+ */
+ public static IStatus getInstance(int severity, String pluginId, String message, Throwable t, IStatus... status) {
+ return new MultiStatus(pluginId, UNDEFINED_ERROR, status, message, t);
+ }
+
private static String checkMessage(String message, Throwable t) {
if (message == UNSPECIFIED_MESSAGE) {
if (t != null && t.getMessage() != null) {
return t.getMessage();
}
-
+
return EMPTY_MESSAGE;
}
-
+
return message;
}
}
15 years, 5 months