JBoss Tools SVN: r34577 - in trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift: internal/core and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-09-08 03:47:01 -0400 (Thu, 08 Sep 2011)
New Revision: 34577
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/NotFoundException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UnauthorizedException.java
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientNotFoundException.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/InvalidCredentialsOpenshiftException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftEndpointException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/InternalServerErrorException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java
Log:
[JBIDE-9510] implemented invalid credentials
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/InvalidCredentialsOpenshiftException.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/InvalidCredentialsOpenshiftException.java 2011-09-08 00:36:21 UTC (rev 34576)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/InvalidCredentialsOpenshiftException.java 2011-09-08 07:47:01 UTC (rev 34577)
@@ -18,20 +18,7 @@
private static final long serialVersionUID = 1L;
- private String username;
- private String password;
-
- public InvalidCredentialsOpenshiftException(String url, Throwable cause, String username, String password, String message, String... arguments) {
+ public InvalidCredentialsOpenshiftException(String url, Throwable cause, String message, String... arguments) {
super(url, cause, message);
- this.username = username;
- this.password = password;
}
-
- protected String getUsername() {
- return username;
- }
-
- protected String getPassword() {
- return password;
- }
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftEndpointException.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftEndpointException.java 2011-09-08 00:36:21 UTC (rev 34576)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftEndpointException.java 2011-09-08 07:47:01 UTC (rev 34577)
@@ -17,6 +17,7 @@
public class OpenshiftEndpointException extends OpenshiftException {
private static final long serialVersionUID = 1L;
+
private String url;
public OpenshiftEndpointException(String url, Throwable cause, String message, Object... arguments) {
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java 2011-09-08 00:36:21 UTC (rev 34576)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java 2011-09-08 07:47:01 UTC (rev 34577)
@@ -19,6 +19,7 @@
import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.UserInfoRequestJsonMarshaller;
import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
import org.jboss.ide.eclipse.as.openshift.internal.core.HttpClientException;
+import org.jboss.ide.eclipse.as.openshift.internal.core.UnauthorizedException;
import org.jboss.ide.eclipse.as.openshift.internal.core.UrlConnectionHttpClient;
import org.jboss.ide.eclipse.as.openshift.internal.core.UserInfo;
import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationAction;
@@ -107,9 +108,13 @@
cartridge).unmarshall();
return openshiftResponse.getData();
} catch (MalformedURLException e) {
- throw new OpenshiftEndpointException(
- url, e, "Could not {0} application \"{1}\" at \"{2}\"",
+ throw new OpenshiftException(
+ e, "Could not {0} application \"{1}\" at \"{2}\": Invalid url \"{2}\"",
applicationRequest.getAction().toHumanReadable(), name, url);
+ } catch (UnauthorizedException e) {
+ throw new InvalidCredentialsOpenshiftException(
+ url, e, "Could not {0} application \"{1}\" at \"{2}\": Invalid credentials user \"{3}\", password \"{4}\"",
+ applicationRequest.getAction().toHumanReadable(), name, url, username, password);
} catch (HttpClientException e) {
throw new OpenshiftEndpointException(
url, e, "Could not {0} application \"{1}\" at \"{2}\"",
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientNotFoundException.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientNotFoundException.java 2011-09-08 00:36:21 UTC (rev 34576)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientNotFoundException.java 2011-09-08 07:47:01 UTC (rev 34577)
@@ -1,17 +0,0 @@
-package org.jboss.ide.eclipse.as.openshift.internal.core;
-
-public class HttpClientNotFoundException extends HttpClientException {
-
- public HttpClientNotFoundException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public HttpClientNotFoundException(String message) {
- super(message);
- }
-
- private HttpClientNotFoundException(Throwable cause) {
- super(cause);
- }
-
-}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/InternalServerErrorException.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/InternalServerErrorException.java 2011-09-08 00:36:21 UTC (rev 34576)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/InternalServerErrorException.java 2011-09-08 07:47:01 UTC (rev 34577)
@@ -1,16 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.internal.core;
+/**
+ * @author André Dietisheim
+ */
public class InternalServerErrorException extends HttpClientException {
- InternalServerErrorException(String message, Throwable cause) {
+ private static final long serialVersionUID = 1L;
+
+ public InternalServerErrorException(String message, Throwable cause) {
super(message, cause);
}
- InternalServerErrorException(String message) {
+ public InternalServerErrorException(String message) {
super(message);
}
- InternalServerErrorException(Throwable cause) {
+ public InternalServerErrorException(Throwable cause) {
super(cause);
}
Copied: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/NotFoundException.java (from rev 34533, trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientNotFoundException.java)
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/NotFoundException.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/NotFoundException.java 2011-09-08 07:47:01 UTC (rev 34577)
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.internal.core;
+
+/**
+ * @author André Dietisheim
+ */
+public class NotFoundException extends HttpClientException {
+
+ private static final long serialVersionUID = 1L;
+
+ public NotFoundException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ private NotFoundException(Throwable cause) {
+ super(cause);
+ }
+
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/NotFoundException.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UnauthorizedException.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UnauthorizedException.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UnauthorizedException.java 2011-09-08 07:47:01 UTC (rev 34577)
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.internal.core;
+
+/**
+ * @author André Dietisheim
+ */
+public class UnauthorizedException extends HttpClientException {
+
+ private static final long serialVersionUID = 1L;
+
+ public UnauthorizedException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public UnauthorizedException(Throwable cause) {
+ super(cause);
+ }
+
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UnauthorizedException.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java 2011-09-08 00:36:21 UTC (rev 34576)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java 2011-09-08 07:47:01 UTC (rev 34577)
@@ -28,11 +28,8 @@
StreamUtils.writeTo(data.getBytes(), connection.getOutputStream());
return StreamUtils.readToString(connection.getInputStream());
} catch (FileNotFoundException e) {
- /*
- * thrown by #connect when server resonds with 404
- */
- throw new HttpClientNotFoundException(
- MessageFormat.format("Could not find resource {0}", url.toString()));
+ throw new NotFoundException(
+ MessageFormat.format("Could not find resource {0}", url.toString()), e);
} catch (IOException e) {
throw getException(e, connection);
} finally {
@@ -44,11 +41,14 @@
private HttpClientException getException(IOException ioe, HttpURLConnection connection) {
try {
+ int responseCode = connection.getResponseCode();
String errorMessage = StreamUtils.readToString(connection.getErrorStream());
- int responseCode = connection.getResponseCode();
- if (responseCode == 500) {
+ switch (responseCode) {
+ case 500:
return new InternalServerErrorException(errorMessage, ioe);
- } else {
+ case 401:
+ return new UnauthorizedException(errorMessage, ioe);
+ default:
return new HttpClientException(errorMessage, ioe);
}
} catch (IOException e) {
14 years, 7 months
JBoss Tools SVN: r34576 - trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-09-07 20:36:21 -0400 (Wed, 07 Sep 2011)
New Revision: 34576
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/NewBeansXMLCreationWizard.java
Log:
JBIDE-9678
https://issues.jboss.org/browse/JBIDE-9678
New beans.xml wizard is initialized with existing beans.xml location whatever selection was, and warning of existing beans.xml displayed right away.
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/NewBeansXMLCreationWizard.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/NewBeansXMLCreationWizard.java 2011-09-07 21:30:41 UTC (rev 34575)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/NewBeansXMLCreationWizard.java 2011-09-08 00:36:21 UTC (rev 34576)
@@ -25,6 +25,7 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPage;
@@ -137,6 +138,11 @@
public WizardNewBeansXMLFileCreationPage(String pageName, IStructuredSelection selection) {
super(pageName, selection);
}
+
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ validatePage();
+ }
protected void initialPopulateContainerNameField() {
super.initialPopulateContainerNameField();
@@ -152,20 +158,31 @@
boolean needMetaInf = false;
IPath current = getContainerFullPath();
IProject p = r.getProject();
- IPath path = ProjectHome.getWebInfPath(p);
- if(current != null && current.equals(path)) return;
+ //Prefer location of existing beans.xml to any other location.
+ IPath path = getContainerWithExistingBeansXML(p);
+
if(path == null) {
-
+ //If no beans.xml exist, prefer WEB-INF if it exists
+ path = ProjectHome.getWebInfPath(p);
+ }
+ if(current != null && current.equals(path)) {
+ return;
+ }
+ if(path == null) {
Set<IFolder> fs = EclipseResourceUtil.getSourceFolders(p);
- if(fs != null) for (IFolder f: fs) {
+ for (IFolder f: fs) {
IFolder fm = f.getFolder("META-INF");
if(!fm.exists()) {
needMetaInf = true;
fm = f;
}
IPath pth = fm.getFullPath();
- if(current != null && current.equals(pth)) return;
- if(path == null) path = pth;
+ if(pth.equals(current) && !needMetaInf) {
+ return;
+ }
+ if(path == null || pth.equals(current)) {
+ path = pth;
+ }
}
}
if(path != null) {
@@ -210,7 +227,7 @@
if(path == null) {
boolean needMetaInf = false;
Set<IFolder> fs = EclipseResourceUtil.getSourceFolders(p);
- if(fs != null) for (IFolder f: fs) {
+ for (IFolder f: fs) {
IFolder fm = f.getFolder("META-INF");
IPath pth = fm.getFullPath();
if(path == null) {
@@ -225,4 +242,29 @@
return path;
}
+ /**
+ * Returns path to folder that contains existing beans.xml,
+ * or null, if there is no beans.xml in WEB-INF or META-INF folders.
+ *
+ * @param p
+ * @return
+ */
+ public static IPath getContainerWithExistingBeansXML(IProject p) {
+ IPath path = ProjectHome.getWebInfPath(p);
+ if(path != null) {
+ IFile f = p.getParent().getFile(path.append("beans.xml"));
+ if(f.exists()) {
+ return path;
+ }
+ }
+ Set<IFolder> fs = EclipseResourceUtil.getSourceFolders(p);
+ for (IFolder f: fs) {
+ IFolder fm = f.getFolder("META-INF");
+ if(fm.exists() && fm.getFile("beans.xml").exists()) {
+ return fm.getFullPath();
+ }
+ }
+ return null;
+ }
+
}
14 years, 7 months
JBoss Tools SVN: r34575 - in trunk/cdi/tests: org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-09-07 17:30:41 -0400 (Wed, 07 Sep 2011)
New Revision: 34575
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/typesafe/resolution/Zoo.java
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/ELReferencesQueryParticipantTest.java
Log:
JBIDE-9672
https://issues.jboss.org/browse/JBIDE-9672
Search for matches of producers in injections and EL fixed.
Modified: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/typesafe/resolution/Zoo.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/typesafe/resolution/Zoo.java 2011-09-07 21:04:34 UTC (rev 34574)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/typesafe/resolution/Zoo.java 2011-09-07 21:30:41 UTC (rev 34575)
@@ -28,8 +28,10 @@
@Produces @Named("aaaf") @Wild PetShop petShop;
-// @Produces @Named("aaaf") @Wild PetShop getPetShop() {
-// return null;
-// }
+ String str = "#{aaam.aslan}";
+ @Produces @Named("aaam") @Wild PetShop getPetShop() {
+ return null;
+ }
+
}
Modified: trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java 2011-09-07 21:04:34 UTC (rev 34574)
+++ trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java 2011-09-07 21:30:41 UTC (rev 34575)
@@ -193,7 +193,7 @@
testSearchParticipant("JavaSource/org/jboss/jsr299/tck/tests/lookup/injectionpoint/BeanWithInjectionPointMetadata.java", TYPE_SEARCH, "BeanWithInjectionPointMetadata", "", new CDIBeanQueryParticipant(), matches);
}
- public void testCDIBeanQueryParticipant2(){
+ public void testCDIBeanQueryParticipantAtProducerField(){
ArrayList<MatchStructure> matches = new ArrayList<MatchStructure>();
matches.add(new MatchStructure(InjectionPointField.class, "Zoo.p"));
@@ -205,4 +205,17 @@
testSearchParticipant("JavaSource/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/Zoo.java", FIELD_SEARCH, "petShop", "", new CDIBeanQueryParticipant(), matches);
}
+
+ public void testCDIBeanQueryParticipantAtProducerMethod(){
+ ArrayList<MatchStructure> matches = new ArrayList<MatchStructure>();
+
+ matches.add(new MatchStructure(InjectionPointField.class, "Zoo.p"));
+ matches.add(new MatchStructure(InjectionPointField.class, "NamedDecoratorBroken.logger"));
+ matches.add(new MatchStructure(InjectionPointField.class, "NamedStereotypedDecoratorBroken.logger"));
+ matches.add(new MatchStructure(InjectionPointField.class, "NamedStereotypedDecoratorBroken.logger"));
+ matches.add(new MatchStructure(InjectionPointField.class, "SpecializingDecoratorBroken.logger"));
+ matches.add(new MatchStructure(InjectionPointField.class, "ObserverMethodInDecoratorBroken.logger"));
+
+ testSearchParticipant("JavaSource/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/Zoo.java", METHOD_SEARCH, "getPetShop", "", new CDIBeanQueryParticipant(), matches);
+ }
}
Modified: trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/ELReferencesQueryParticipantTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/ELReferencesQueryParticipantTest.java 2011-09-07 21:04:34 UTC (rev 34574)
+++ trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/ELReferencesQueryParticipantTest.java 2011-09-07 21:30:41 UTC (rev 34575)
@@ -26,6 +26,34 @@
matches);
}
+ public void testELReferencesQueryParticipantForProducerField() throws CoreException{
+ ArrayList<MatchStructure> matches = new ArrayList<MatchStructure>();
+
+ matches.add(new MatchStructure("/tck/JavaSource/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/Zoo.java", "aaaf"));
+
+ QueryParticipantTestUtils.testSearchParticipant(tckProject,
+ "JavaSource/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/Zoo.java",
+ QueryParticipantTestUtils.FIELD_SEARCH,
+ "petShop",
+ "",
+ new ELReferencesQueryParticipant(),
+ matches);
+ }
+
+ public void testELReferencesQueryParticipantForProducerMethod() throws CoreException{
+ ArrayList<MatchStructure> matches = new ArrayList<MatchStructure>();
+
+ matches.add(new MatchStructure("/tck/JavaSource/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/Zoo.java", "aaam"));
+
+ QueryParticipantTestUtils.testSearchParticipant(tckProject,
+ "JavaSource/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/Zoo.java",
+ QueryParticipantTestUtils.METHOD_SEARCH,
+ "getPetShop",
+ "",
+ new ELReferencesQueryParticipant(),
+ matches);
+ }
+
public void testELReferencesQueryParticipantForMethod() throws CoreException{
ArrayList<MatchStructure> matches = new ArrayList<MatchStructure>();
14 years, 7 months
JBoss Tools SVN: r34574 - in trunk/cdi: plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/el and 5 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-09-07 17:04:34 -0400 (Wed, 07 Sep 2011)
New Revision: 34574
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/typesafe/resolution/Zoo.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/el/CdiElResolver.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/search/CDIBeanQueryParticipant.java
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/testmodel/CDIProject.java
Log:
JBIDE-9672
https://issues.jboss.org/browse/JBIDE-9672
Search for matches of producers in injections and EL fixed.
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java 2011-09-07 19:40:46 UTC (rev 34573)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java 2011-09-07 21:04:34 UTC (rev 34574)
@@ -14,6 +14,7 @@
import java.util.Set;
import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IType;
import org.jboss.tools.common.java.IParametedType;
import org.jboss.tools.common.text.INodeReference;
@@ -161,6 +162,14 @@
Set<IBean> getBeans(IPath path);
/**
+ * Returns the set of beans based on the Java element.
+ * Current implementation is slow - it iterates over all beans.
+ *
+ * @param element
+ * @return
+ */
+ public Set<IBean> getBeans(IJavaElement element);
+ /**
* Returns all the available qualifiers.
*
* @return all the available qualifiers.
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/el/CdiElResolver.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/el/CdiElResolver.java 2011-09-07 19:40:46 UTC (rev 34573)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/el/CdiElResolver.java 2011-09-07 21:04:34 UTC (rev 34574)
@@ -11,11 +11,13 @@
package org.jboss.tools.cdi.internal.core.el;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IMember;
import org.eclipse.swt.graphics.Image;
import org.jboss.tools.cdi.core.CDICoreNature;
@@ -24,11 +26,14 @@
import org.jboss.tools.cdi.core.IBean;
import org.jboss.tools.cdi.core.IBeanManager;
import org.jboss.tools.cdi.core.IBeanMember;
+import org.jboss.tools.cdi.core.ICDIProject;
import org.jboss.tools.cdi.core.IClassBean;
import org.jboss.tools.common.el.core.ca.AbstractELCompletionEngine;
+import org.jboss.tools.common.el.core.ca.DefaultJavaRelevanceCheck;
import org.jboss.tools.common.el.core.model.ELInvocationExpression;
import org.jboss.tools.common.el.core.parser.ELParserFactory;
import org.jboss.tools.common.el.core.parser.ELParserUtil;
+import org.jboss.tools.common.el.core.resolver.IRelevanceCheck;
import org.jboss.tools.common.el.core.resolver.TypeInfoCollector;
import org.jboss.tools.common.el.core.resolver.TypeInfoCollector.MemberInfo;
@@ -150,4 +155,39 @@
protected boolean isStaticMethodsCollectingEnabled() {
return true;
}
+
+ public IRelevanceCheck createRelevanceCheck(IJavaElement element) {
+ return new BeanRelevanceCheck(element);
+ }
+
+}
+
+class BeanRelevanceCheck extends DefaultJavaRelevanceCheck {
+ Set<String> names = new HashSet<String>();
+
+ public BeanRelevanceCheck(IJavaElement element) {
+ super(element);
+ IProject project = element.getJavaProject().getProject();
+ ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+ if(cdi != null) {
+ Set<IBean> beans = cdi.getBeans(element);
+ for (IBean b: beans) {
+ if(b.getName() != null) {
+ names.add(b.getName());
+ }
+ }
+ }
+ }
+
+ public boolean isRelevant(String content) {
+ if(super.isRelevant(content)) {
+ return true;
+ }
+ for (String name: names) {
+ if(content.contains(name)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
\ No newline at end of file
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2011-09-07 19:40:46 UTC (rev 34573)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2011-09-07 21:04:34 UTC (rev 34574)
@@ -29,6 +29,8 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.Flags;
import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IMember;
import org.eclipse.jdt.core.IMemberValuePair;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.IType;
@@ -65,6 +67,7 @@
import org.jboss.tools.cdi.internal.core.impl.definition.TypeDefinition;
import org.jboss.tools.cdi.internal.core.scanner.ImplementationCollector;
import org.jboss.tools.common.java.IAnnotationDeclaration;
+import org.jboss.tools.common.java.IJavaMemberReference;
import org.jboss.tools.common.java.IParametedType;
import org.jboss.tools.common.java.ParametedType;
import org.jboss.tools.common.model.XModelObject;
@@ -567,7 +570,22 @@
if(beans != null && !beans.isEmpty()) result.addAll(beans);
return result;
}
+
+ static int q = 0;
+ public synchronized Set<IBean> getBeans(IJavaElement element) {
+ Set<IBean> result = new HashSet<IBean>();
+ for (IBean bean: allBeans) {
+ if(bean instanceof IJavaMemberReference) {
+ IMember m = ((IJavaMemberReference)bean).getSourceMember();
+ if(((IJavaMemberReference)bean).getSourceMember().equals(element)) {
+ result.add(bean);
+ }
+ }
+ }
+ return result;
+ }
+
public List<INodeReference> getDecoratorClasses() {
List<INodeReference> result = new ArrayList<INodeReference>();
synchronized (allBeansXMLData) {
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/search/CDIBeanQueryParticipant.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/search/CDIBeanQueryParticipant.java 2011-09-07 19:40:46 UTC (rev 34573)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/search/CDIBeanQueryParticipant.java 2011-09-07 21:04:34 UTC (rev 34574)
@@ -10,13 +10,13 @@
******************************************************************************/
package org.jboss.tools.cdi.ui.search;
+import java.util.HashSet;
import java.util.Set;
-import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.search.IJavaSearchConstants;
import org.eclipse.jdt.ui.JavaUI;
@@ -31,12 +31,10 @@
import org.eclipse.search.ui.text.Match;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.PartInitException;
-import org.jboss.tools.cdi.core.CDICoreNature;
import org.jboss.tools.cdi.core.CDICorePlugin;
import org.jboss.tools.cdi.core.IBean;
import org.jboss.tools.cdi.core.ICDIElement;
import org.jboss.tools.cdi.core.ICDIProject;
-import org.jboss.tools.cdi.core.IClassBean;
import org.jboss.tools.cdi.core.IInjectionPoint;
import org.jboss.tools.cdi.core.IInjectionPointField;
import org.jboss.tools.cdi.core.IInjectionPointMethod;
@@ -44,6 +42,7 @@
import org.jboss.tools.cdi.ui.CDIUIMessages;
import org.jboss.tools.cdi.ui.CDIUIPlugin;
import org.jboss.tools.cdi.ui.CDIUiImages;
+import org.jboss.tools.common.java.IParametedType;
public class CDIBeanQueryParticipant implements IQueryParticipant{
static CDIBeanLabelProvider labelProvider = new CDIBeanLabelProvider();
@@ -53,53 +52,44 @@
QuerySpecification querySpecification, IProgressMonitor monitor)
throws CoreException {
if(querySpecification instanceof ElementQuerySpecification){
- if (!isSearchForReferences(querySpecification.getLimitTo()))
+ if (!isSearchForReferences(querySpecification.getLimitTo())) {
return;
+ }
ElementQuerySpecification qs = (ElementQuerySpecification)querySpecification;
IJavaElement element = qs.getElement();
- if(element instanceof IType){
- IFile file = (IFile)element.getResource();
- if(file == null)
- return;
+ IProject project = element.getJavaProject().getProject();
+ ICDIProject cdiProject = CDICorePlugin.getCDIProject(project, true);
+ if(cdiProject == null) {
+ return;
+ }
+ Set<IBean> sourceBeans = cdiProject.getBeans(element);
+
+ Set<IInjectionPoint> injectionPoints = new HashSet<IInjectionPoint>();
+ for (IBean b: sourceBeans) {
+ Set<IParametedType> ts = b.getLegalTypes();
+ for (IParametedType t: ts) {
+ injectionPoints.addAll(cdiProject.getInjections(t.getType().getFullyQualifiedName()));
+ }
+ }
+
+ monitor.beginTask(CDIUIMessages.CDI_BEAN_QUERY_PARTICIPANT_TASK, injectionPoints.size());
- CDICoreNature cdiNature = CDICorePlugin.getCDI(file.getProject(), true);
-
- if(cdiNature == null)
- return;
-
- ICDIProject cdiProject = cdiNature.getDelegate();
-
- if(cdiProject == null)
- return;
-
- IClassBean sourceBean = cdiProject.getBeanClass((IType)element);
-
- IBean[] beans = cdiProject.getBeans();
-
- monitor.beginTask(CDIUIMessages.CDI_BEAN_QUERY_PARTICIPANT_TASK, beans.length);
-
- for(IBean bean : beans){
- if(monitor.isCanceled())
- break;
+ for(IInjectionPoint injectionPoint : injectionPoints){
+ if(monitor.isCanceled())
+ break;
+ Set<IBean> resultBeans = cdiProject.getBeans(false, injectionPoint);
+ monitor.worked(1);
- monitor.worked(1);
-
- Set<IInjectionPoint> injectionPoints = bean.getInjectionPoints();
-
- for(IInjectionPoint injectionPoint : injectionPoints){
- Set<IBean> resultBeans = cdiProject.getBeans(false, injectionPoint);
-
- for(IBean cBean : resultBeans){
- if(cBean == sourceBean){
- Match match = new CDIMatch(injectionPoint);
- requestor.reportMatch(match);
- }
- }
+ for(IBean cBean : resultBeans){
+ if(sourceBeans.contains(cBean)){
+ Match match = new CDIMatch(injectionPoint);
+ requestor.reportMatch(match);
+ break;
}
}
- monitor.done();
}
+ monitor.done();
}
}
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/typesafe/resolution/Zoo.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/typesafe/resolution/Zoo.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/typesafe/resolution/Zoo.java 2011-09-07 21:04:34 UTC (rev 34574)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.jsr299.tck.tests.lookup.typesafe.resolution;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+public class Zoo {
+
+ @Inject @Wild PetShop p;
+
+ String str = "#{aaaf.aslan}";
+
+ @Produces @Named("aaaf") @Wild PetShop petShop;
+
+// @Produces @Named("aaaf") @Wild PetShop getPetShop() {
+// return null;
+// }
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/lookup/typesafe/resolution/Zoo.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java 2011-09-07 19:40:46 UTC (rev 34573)
+++ trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java 2011-09-07 21:04:34 UTC (rev 34574)
@@ -192,4 +192,17 @@
testSearchParticipant("JavaSource/org/jboss/jsr299/tck/tests/lookup/injectionpoint/BeanWithInjectionPointMetadata.java", TYPE_SEARCH, "BeanWithInjectionPointMetadata", "", new CDIBeanQueryParticipant(), matches);
}
+
+ public void testCDIBeanQueryParticipant2(){
+ ArrayList<MatchStructure> matches = new ArrayList<MatchStructure>();
+
+ matches.add(new MatchStructure(InjectionPointField.class, "Zoo.p"));
+ matches.add(new MatchStructure(InjectionPointField.class, "NamedDecoratorBroken.logger"));
+ matches.add(new MatchStructure(InjectionPointField.class, "NamedStereotypedDecoratorBroken.logger"));
+ matches.add(new MatchStructure(InjectionPointField.class, "NamedStereotypedDecoratorBroken.logger"));
+ matches.add(new MatchStructure(InjectionPointField.class, "SpecializingDecoratorBroken.logger"));
+ matches.add(new MatchStructure(InjectionPointField.class, "ObserverMethodInDecoratorBroken.logger"));
+
+ testSearchParticipant("JavaSource/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/Zoo.java", FIELD_SEARCH, "petShop", "", new CDIBeanQueryParticipant(), matches);
+ }
}
Modified: trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/testmodel/CDIProject.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/testmodel/CDIProject.java 2011-09-07 19:40:46 UTC (rev 34573)
+++ trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/testmodel/CDIProject.java 2011-09-07 21:04:34 UTC (rev 34574)
@@ -5,6 +5,7 @@
import java.util.Set;
import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IType;
import org.jboss.tools.cdi.core.CDIConstants;
import org.jboss.tools.cdi.core.CDICoreNature;
@@ -300,4 +301,10 @@
public void update(boolean updateDependent) {
}
+ @Override
+ public Set<IBean> getBeans(IJavaElement element) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
14 years, 7 months
JBoss Tools SVN: r34573 - trunk/common/plugins/org.jboss.tools.common.projecttemplates/templates/jsf-2.0/JSFKickStartWithoutLibs/WebContent/pages.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2011-09-07 15:40:46 -0400 (Wed, 07 Sep 2011)
New Revision: 34573
Modified:
trunk/common/plugins/org.jboss.tools.common.projecttemplates/templates/jsf-2.0/JSFKickStartWithoutLibs/WebContent/pages/inputname.xhtml
Log:
https://issues.jboss.org/browse/JBIDE-9634 Replace EL prefixed used in content assist to be #{...} instead of ${...} by default
Modified: trunk/common/plugins/org.jboss.tools.common.projecttemplates/templates/jsf-2.0/JSFKickStartWithoutLibs/WebContent/pages/inputname.xhtml
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.projecttemplates/templates/jsf-2.0/JSFKickStartWithoutLibs/WebContent/pages/inputname.xhtml 2011-09-07 18:47:20 UTC (rev 34572)
+++ trunk/common/plugins/org.jboss.tools.common.projecttemplates/templates/jsf-2.0/JSFKickStartWithoutLibs/WebContent/pages/inputname.xhtml 2011-09-07 19:40:46 UTC (rev 34573)
@@ -13,7 +13,7 @@
<ui:define name="body">
<h:message showSummary="true" showDetail="false" style="color: red; font-weight: bold;" for="inputname" />
- <ez:input id="inputname" label="${msgs.prompt}" value="#{user.name}" action="#{user.sayHello}" submitlabel="Say Hello"/>
+ <ez:input id="inputname" label="#{msgs.prompt}" value="#{user.name}" action="#{user.sayHello}" submitlabel="Say Hello"/>
</ui:define>
</ui:composition>
</html>
\ No newline at end of file
14 years, 7 months
JBoss Tools SVN: r34572 - trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF.
by jbosstools-commits@lists.jboss.org
Author: dgolovin
Date: 2011-09-07 14:47:20 -0400 (Wed, 07 Sep 2011)
New Revision: 34572
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF
Log:
https://issues.jboss.org/browse/JBIDE-9680 New CDI beans.xml Wizard throws NullPointerException on finish when Seam 3 Support feature installed from update site
fixed by adding cdi.xml dependnecy to cdi.ui
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF 2011-09-07 17:42:48 UTC (rev 34571)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF 2011-09-07 18:47:20 UTC (rev 34572)
@@ -25,7 +25,8 @@
org.eclipse.jdt.ui;bundle-version="3.7.0",
org.apache.ant;bundle-version="1.7.1",
org.jboss.tools.jst.web,
- org.jboss.tools.common.validation
+ org.jboss.tools.common.validation,
+ org.jboss.tools.cdi.xml
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: JBoss by Red Hat
14 years, 7 months
JBoss Tools SVN: r34571 - in trunk/as/plugins: org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-09-07 13:42:48 -0400 (Wed, 07 Sep 2011)
New Revision: 34571
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/InvalidCredentialsOpenshiftException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftEndpointException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/CreateDomainRequest.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/OpenshiftJsonRequestFactory.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java
Log:
[JBIDE-9510] implementing usecase of invalid credentials
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java 2011-09-07 14:03:16 UTC (rev 34570)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java 2011-09-07 17:42:48 UTC (rev 34571)
@@ -24,4 +24,6 @@
public Application createApplication(String name, Cartridge cartridge) throws OpenshiftException;
public Application destroyApplication(String name, Cartridge cartridge) throws OpenshiftException;
+
+ public Application createDomain(String name) throws OpenshiftException;
}
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/InvalidCredentialsOpenshiftException.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/InvalidCredentialsOpenshiftException.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/InvalidCredentialsOpenshiftException.java 2011-09-07 17:42:48 UTC (rev 34571)
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.core;
+
+
+/**
+ * @author André Dietisheim
+ */
+public class InvalidCredentialsOpenshiftException extends OpenshiftEndpointException {
+
+ private static final long serialVersionUID = 1L;
+
+ private String username;
+ private String password;
+
+ public InvalidCredentialsOpenshiftException(String url, Throwable cause, String username, String password, String message, String... arguments) {
+ super(url, cause, message);
+ this.username = username;
+ this.password = password;
+ }
+
+ protected String getUsername() {
+ return username;
+ }
+
+ protected String getPassword() {
+ return password;
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/InvalidCredentialsOpenshiftException.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Copied: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftEndpointException.java (from rev 34538, trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftException.java)
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftEndpointException.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftEndpointException.java 2011-09-07 17:42:48 UTC (rev 34571)
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.core;
+
+
+/**
+ * @author André Dietisheim
+ */
+public class OpenshiftEndpointException extends OpenshiftException {
+
+ private static final long serialVersionUID = 1L;
+ private String url;
+
+ public OpenshiftEndpointException(String url, Throwable cause, String message, Object... arguments) {
+ super(cause, message, arguments);
+ this.url = url;
+ }
+
+ protected String getUrl() {
+ return url;
+ }
+
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftEndpointException.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftException.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftException.java 2011-09-07 14:03:16 UTC (rev 34570)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftException.java 2011-09-07 17:42:48 UTC (rev 34571)
@@ -10,6 +10,8 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.openshift.core;
+import java.text.MessageFormat;
+
/**
* @author André Dietisheim
*/
@@ -17,16 +19,7 @@
private static final long serialVersionUID = 1L;
- public OpenshiftException(String message, Throwable cause) {
- super(message, cause);
+ public OpenshiftException(Throwable cause, String message, Object... arguments) {
+ super(MessageFormat.format(message, arguments), cause);
}
-
- public OpenshiftException(String message) {
- super(message);
- }
-
- public OpenshiftException(Throwable cause) {
- super(cause);
- }
-
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java 2011-09-07 14:03:16 UTC (rev 34570)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java 2011-09-07 17:42:48 UTC (rev 34571)
@@ -14,7 +14,6 @@
import java.net.URL;
import java.util.List;
-import org.eclipse.osgi.util.NLS;
import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ApplicationRequestJsonMarshaller;
import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ListCartridgesRequestJsonMarshaller;
import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.UserInfoRequestJsonMarshaller;
@@ -47,43 +46,44 @@
public UserInfo getUserInfo() throws OpenshiftException {
UserInfoRequest userInfoRequest = new UserInfoRequest(username, true);
+ String url = userInfoRequest.getUrlString(BASE_URL);
try {
String userInfoRequestString = new UserInfoRequestJsonMarshaller().marshall(userInfoRequest);
String request = new OpenshiftJsonRequestFactory(password, userInfoRequestString).create();
- String userInfoResponse = createHttpClient(userInfoRequest.getUrl(BASE_URL)).post(request);
+ String userInfoResponse = createHttpClient(url).post(request);
throw new UnsupportedOperationException();
} catch (MalformedURLException e) {
- throw new OpenshiftException(
- NLS.bind("Could not get user info for user \"{0}\" at \"{1}\"", username,
- userInfoRequest.getUrlString(BASE_URL)), e);
+ throw new OpenshiftEndpointException(
+ url, e, "Could not get user info for user \"{0}\" at \"{1}\"", username, url, e);
} catch (HttpClientException e) {
- throw new OpenshiftException(
- NLS.bind("Could not get user info for user \"{0}\" at \"{1}\"", username,
- userInfoRequest.getUrlString(BASE_URL)), e);
+ throw new OpenshiftEndpointException(
+ url, e, "Could not get user info for user \"{0}\" at \"{1}\"", username, url, e);
}
}
@Override
public List<Cartridge> getCartridges() throws OpenshiftException {
ListCartridgesRequest listCartridgesRequest = new ListCartridgesRequest(username, true);
+ String url = listCartridgesRequest.getUrlString(BASE_URL);
try {
String listCartridgesRequestString =
new ListCartridgesRequestJsonMarshaller().marshall(listCartridgesRequest);
String request = new OpenshiftJsonRequestFactory(password, listCartridgesRequestString).create();
- String listCatridgesReponse = createHttpClient(listCartridgesRequest.getUrl(BASE_URL)).post(request);
+ String listCatridgesReponse = createHttpClient(url).post(request);
throw new UnsupportedOperationException();
} catch (MalformedURLException e) {
- throw new OpenshiftException(
- NLS.bind("Could not list available cartridges at \"{0}\"",
- listCartridgesRequest.getUrlString(BASE_URL)), e);
+ throw new OpenshiftEndpointException(url, e, "Could not list available cartridges at \"{0}\"", url);
} catch (HttpClientException e) {
- throw new OpenshiftException(
- NLS.bind("Could not list available cartridges at \"{0}\"",
- listCartridgesRequest.getUrlString(BASE_URL)), e);
+ throw new OpenshiftEndpointException(url, e, "Could not list available cartridges at \"{0}\"", url);
}
}
@Override
+ public Application createDomain(String name) throws OpenshiftException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public Application createApplication(String name, Cartridge cartridge) throws OpenshiftException {
return requestApplicationAction(name, cartridge,
new ApplicationRequest(name, cartridge, ApplicationAction.CONFIGURE, username, true));
@@ -97,30 +97,28 @@
protected Application requestApplicationAction(String name, Cartridge cartridge,
ApplicationRequest applicationRequest) throws OpenshiftException {
+ String url = applicationRequest.getUrlString(BASE_URL);
try {
String applicationRequestString =
new ApplicationRequestJsonMarshaller().marshall(applicationRequest);
String request = new OpenshiftJsonRequestFactory(password, applicationRequestString).create();
- String response = createHttpClient(applicationRequest.getUrl(BASE_URL)).post(request);
+ String response = createHttpClient(url).post(request);
OpenshiftResponse<Application> openshiftResponse = new ApplicationResponseUnmarshaller(response, name,
cartridge).unmarshall();
return openshiftResponse.getData();
} catch (MalformedURLException e) {
- throw new OpenshiftException(
- NLS.bind(
- "Could not {0} application \"{1}\" at \"{2}\"", new String[] {
- applicationRequest.getAction().toHumanReadable(), name,
- applicationRequest.getUrlString(BASE_URL) }), e);
+ throw new OpenshiftEndpointException(
+ url, e, "Could not {0} application \"{1}\" at \"{2}\"",
+ applicationRequest.getAction().toHumanReadable(), name, url);
} catch (HttpClientException e) {
- throw new OpenshiftException(
- NLS.bind("Could not {0} application \"{1}\" at \"{2}\"", new String[] {
- applicationRequest.getAction().toHumanReadable(), name,
- applicationRequest.getUrlString(BASE_URL) }), e);
+ throw new OpenshiftEndpointException(
+ url, e, "Could not {0} application \"{1}\" at \"{2}\"",
+ applicationRequest.getAction().toHumanReadable(), name, url);
}
}
- private IHttpClient createHttpClient(URL url) {
- return new UrlConnectionHttpClient(url);
+ private IHttpClient createHttpClient(String url) throws MalformedURLException {
+ return new UrlConnectionHttpClient(new URL(url));
}
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientException.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientException.java 2011-09-07 14:03:16 UTC (rev 34570)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/HttpClientException.java 2011-09-07 17:42:48 UTC (rev 34571)
@@ -1,7 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.internal.core;
+/**
+ * @author André Dietisheim
+ */
public class HttpClientException extends Exception {
+ private static final long serialVersionUID = 1L;
+
public HttpClientException(String message, Throwable cause) {
super(message, cause);
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java 2011-09-07 14:03:16 UTC (rev 34570)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/UrlConnectionHttpClient.java 2011-09-07 17:42:48 UTC (rev 34571)
@@ -44,11 +44,12 @@
private HttpClientException getException(IOException ioe, HttpURLConnection connection) {
try {
+ String errorMessage = StreamUtils.readToString(connection.getErrorStream());
int responseCode = connection.getResponseCode();
if (responseCode == 500) {
- return new InternalServerErrorException(ioe);
+ return new InternalServerErrorException(errorMessage, ioe);
} else {
- return new HttpClientException(ioe);
+ return new HttpClientException(errorMessage, ioe);
}
} catch (IOException e) {
return new HttpClientException(e);
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/CreateDomainRequest.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/CreateDomainRequest.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/CreateDomainRequest.java 2011-09-07 17:42:48 UTC (rev 34571)
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.internal.core.request;
+
+
+/**
+ * @author André Dietisheim
+ */
+public class CreateDomainRequest extends AbstractOpenshiftRequest {
+
+ private String name;
+ private String sshKey;
+ private String namespace;
+
+ public CreateDomainRequest(String name, String namespace, String sshKey, ApplicationAction action, String username) {
+ this(name, namespace, sshKey, username, false);
+ }
+
+ public CreateDomainRequest(String name, String namespace, String sshKey, String username, boolean debug) {
+ super(username, debug);
+ this.name = name;
+ this.namespace = namespace;
+ this.sshKey = sshKey;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ protected String getSshKey() {
+ return sshKey;
+ }
+
+ protected String getNamespace() {
+ return namespace;
+ }
+
+ @Override
+ public String getResourcePath() {
+ return "domain";
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/CreateDomainRequest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/OpenshiftJsonRequestFactory.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/OpenshiftJsonRequestFactory.java 2011-09-07 14:03:16 UTC (rev 34570)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/OpenshiftJsonRequestFactory.java 2011-09-07 17:42:48 UTC (rev 34571)
@@ -13,6 +13,7 @@
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
+import org.jboss.ide.eclipse.as.openshift.core.OpenshiftEndpointException;
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
/**
@@ -45,7 +46,7 @@
appendPayload(builder);
return builder.toString();
} catch (UnsupportedEncodingException e) {
- throw new OpenshiftException("Could not create request", e);
+ throw new OpenshiftException(e, "Could not create request");
}
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java 2011-09-07 14:03:16 UTC (rev 34570)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java 2011-09-07 17:42:48 UTC (rev 34571)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.openshift.internal.core.response;
-import org.eclipse.osgi.util.NLS;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.ModelType;
import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftJsonConstants;
@@ -37,9 +36,9 @@
OPENSHIFTOBJECT openshiftObject = createOpenshiftObject(node.get(IOpenshiftJsonConstants.PROPERTY_DATA));
return new OpenshiftResponse<OPENSHIFTOBJECT>(debug, messages, result, openshiftObject, exitCode);
} catch (IllegalArgumentException e) {
- throw new OpenshiftException(NLS.bind("Could not parse response \"{0}\"", response), e);
+ throw new OpenshiftException(e, "Could not parse response \"{0}\"", response);
} catch (Exception e) {
- throw new OpenshiftException(NLS.bind("Could not unmarshall response \"{0}\"", response), e);
+ throw new OpenshiftException(e, "Could not unmarshall response \"{0}\"", response);
}
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java 2011-09-07 14:03:16 UTC (rev 34570)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java 2011-09-07 17:42:48 UTC (rev 34571)
@@ -6,6 +6,7 @@
import java.util.List;
import org.jboss.ide.eclipse.as.openshift.core.Application;
+import org.jboss.ide.eclipse.as.openshift.core.InvalidCredentialsOpenshiftException;
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftService;
import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
@@ -15,13 +16,15 @@
public class OpenshiftServiceIntegrationTest {
private OpenshiftService openshiftService;
+ private OpenshiftService invalidCredentialsOpenshiftService;
private static final String USERNAME = "toolsjboss(a)gmail.com";
- private static final String PASSWORD = "1q3e5t7u";
+ private static final String PASSWORD = "1q2w3e";
@Before
public void setUp() {
this.openshiftService = new OpenshiftService(USERNAME, PASSWORD);
+ this.invalidCredentialsOpenshiftService = new OpenshiftService(USERNAME, "bogus");
}
@Test(expected=OpenshiftException.class)
@@ -36,10 +39,18 @@
assertTrue(cartridges.size() > 0);
}
+ @Test(expected=InvalidCredentialsOpenshiftException.class)
+ public void createApplicationWithInvalidCredentialsThrowsException() throws Exception {
+ invalidCredentialsOpenshiftService.createApplication(createRandomApplicationName(), Cartridge.JBOSSAS_7);
+ }
+
@Test
public void canCreateApplication() throws Exception {
Application application = openshiftService.createApplication("test-application", Cartridge.JBOSSAS_7);
assertNotNull(application);
}
+ private String createRandomApplicationName() {
+ return String.valueOf(System.currentTimeMillis());
+ }
}
14 years, 7 months
JBoss Tools SVN: r34570 - in trunk/as/plugins: org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-09-07 10:03:16 -0400 (Wed, 07 Sep 2011)
New Revision: 34570
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceTest.java
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshift.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Openshift.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftIntegrationTest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/Cartridge.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/ApplicationAction.java
Log:
[JBIDE-9510] renamed OpenShift to OpenShiftService
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshift.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshift.java 2011-09-07 13:29:55 UTC (rev 34569)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshift.java 2011-09-07 14:03:16 UTC (rev 34570)
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 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.ide.eclipse.as.openshift.core;
-
-import java.util.List;
-
-import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
-import org.jboss.ide.eclipse.as.openshift.internal.core.UserInfo;
-
-public interface IOpenshift {
-
- public UserInfo getUserInfo() throws OpenshiftException;
-
- public List<Cartridge> getCartridges() throws OpenshiftException;
-
- public Application createApplication(String name, Cartridge cartridge) throws OpenshiftException;
-}
Copied: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java (from rev 34544, trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshift.java)
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java 2011-09-07 14:03:16 UTC (rev 34570)
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.core;
+
+import java.util.List;
+
+import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
+import org.jboss.ide.eclipse.as.openshift.internal.core.UserInfo;
+
+public interface IOpenshiftService {
+
+ public UserInfo getUserInfo() throws OpenshiftException;
+
+ public List<Cartridge> getCartridges() throws OpenshiftException;
+
+ public Application createApplication(String name, Cartridge cartridge) throws OpenshiftException;
+
+ public Application destroyApplication(String name, Cartridge cartridge) throws OpenshiftException;
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftService.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Openshift.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Openshift.java 2011-09-07 13:29:55 UTC (rev 34569)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Openshift.java 2011-09-07 14:03:16 UTC (rev 34570)
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 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.ide.eclipse.as.openshift.core;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.osgi.util.NLS;
-import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ApplicationRequestJsonMarshaller;
-import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ListCartridgesRequestJsonMarshaller;
-import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.UserInfoRequestJsonMarshaller;
-import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
-import org.jboss.ide.eclipse.as.openshift.internal.core.HttpClientException;
-import org.jboss.ide.eclipse.as.openshift.internal.core.UrlConnectionHttpClient;
-import org.jboss.ide.eclipse.as.openshift.internal.core.UserInfo;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationAction;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationRequest;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.ListCartridgesRequest;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.OpenshiftJsonRequestFactory;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.UserInfoRequest;
-import org.jboss.ide.eclipse.as.openshift.internal.core.response.ApplicationResponseUnmarshaller;
-import org.jboss.ide.eclipse.as.openshift.internal.core.response.OpenshiftResponse;
-
-/**
- * @author André Dietisheim
- */
-public class Openshift implements IOpenshift {
-
- private static final String BASE_URL = "https://openshift.redhat.com/broker";
-
- private String username;
- private String password;
-
- public Openshift(String username, String password) {
- this.username = username;
- this.password = password;
- }
-
- public UserInfo getUserInfo() throws OpenshiftException {
- UserInfoRequest userInfoRequest = new UserInfoRequest(username, true);
- try {
- String userInfoRequestString = new UserInfoRequestJsonMarshaller().marshall(userInfoRequest);
- String request = new OpenshiftJsonRequestFactory(password, userInfoRequestString).create();
- String userInfoResponse = createHttpClient(userInfoRequest.getUrl(BASE_URL)).post(request);
- throw new UnsupportedOperationException();
- } catch (MalformedURLException e) {
- throw new OpenshiftException(
- NLS.bind("Could not get user info for user \"{0}\" at \"{1}\"", username,
- userInfoRequest.getUrlString(BASE_URL)), e);
- } catch (HttpClientException e) {
- throw new OpenshiftException(
- NLS.bind("Could not get user info for user \"{0}\" at \"{1}\"", username,
- userInfoRequest.getUrlString(BASE_URL)), e);
- }
- }
-
- @Override
- public List<Cartridge> getCartridges() throws OpenshiftException {
- ListCartridgesRequest listCartridgesRequest = new ListCartridgesRequest(username, true);
- try {
- String listCartridgesRequestString =
- new ListCartridgesRequestJsonMarshaller().marshall(listCartridgesRequest);
- String request = new OpenshiftJsonRequestFactory(password, listCartridgesRequestString).create();
- String listCatridgesReponse = createHttpClient(listCartridgesRequest.getUrl(BASE_URL)).post(request);
- throw new UnsupportedOperationException();
- } catch (MalformedURLException e) {
- throw new OpenshiftException(
- NLS.bind("Could not list available cartridges at \"{0}\"",
- listCartridgesRequest.getUrlString(BASE_URL)), e);
- } catch (HttpClientException e) {
- throw new OpenshiftException(
- NLS.bind("Could not list available cartridges at \"{0}\"",
- listCartridgesRequest.getUrlString(BASE_URL)), e);
- }
- }
-
- @Override
- public Application createApplication(String name, Cartridge cartridge) throws OpenshiftException {
- ApplicationRequest applicationRequest = new ApplicationRequest(name, cartridge, ApplicationAction.CONFIGURE, username, true);
- try {
- String listCartridgesRequestString =
- new ApplicationRequestJsonMarshaller().marshall(applicationRequest);
- String request = new OpenshiftJsonRequestFactory(password, listCartridgesRequestString).create();
- String response = createHttpClient(applicationRequest.getUrl(BASE_URL)).post(request);
- OpenshiftResponse<Application> openshiftResponse = new ApplicationResponseUnmarshaller(response, name, cartridge).unmarshall();
- return openshiftResponse.getData();
- } catch (MalformedURLException e) {
- throw new OpenshiftException(
- NLS.bind("Could not create application \"{0}\" at \"{1}\"",
- name, applicationRequest.getUrlString(BASE_URL)), e);
- } catch (HttpClientException e) {
- throw new OpenshiftException(
- NLS.bind("Could not create application \"{0}\" at \"{1}\"",
- name, applicationRequest.getUrlString(BASE_URL)), e);
- }
-
- }
-
- private IHttpClient createHttpClient(URL url) {
- return new UrlConnectionHttpClient(url);
- }
-
-}
Copied: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java (from rev 34568, trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Openshift.java)
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java 2011-09-07 14:03:16 UTC (rev 34570)
@@ -0,0 +1,126 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.core;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.List;
+
+import org.eclipse.osgi.util.NLS;
+import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ApplicationRequestJsonMarshaller;
+import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ListCartridgesRequestJsonMarshaller;
+import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.UserInfoRequestJsonMarshaller;
+import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
+import org.jboss.ide.eclipse.as.openshift.internal.core.HttpClientException;
+import org.jboss.ide.eclipse.as.openshift.internal.core.UrlConnectionHttpClient;
+import org.jboss.ide.eclipse.as.openshift.internal.core.UserInfo;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationAction;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationRequest;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.ListCartridgesRequest;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.OpenshiftJsonRequestFactory;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.UserInfoRequest;
+import org.jboss.ide.eclipse.as.openshift.internal.core.response.ApplicationResponseUnmarshaller;
+import org.jboss.ide.eclipse.as.openshift.internal.core.response.OpenshiftResponse;
+
+/**
+ * @author André Dietisheim
+ */
+public class OpenshiftService implements IOpenshiftService {
+
+ private static final String BASE_URL = "https://openshift.redhat.com/broker";
+
+ private String username;
+ private String password;
+
+ public OpenshiftService(String username, String password) {
+ this.username = username;
+ this.password = password;
+ }
+
+ public UserInfo getUserInfo() throws OpenshiftException {
+ UserInfoRequest userInfoRequest = new UserInfoRequest(username, true);
+ try {
+ String userInfoRequestString = new UserInfoRequestJsonMarshaller().marshall(userInfoRequest);
+ String request = new OpenshiftJsonRequestFactory(password, userInfoRequestString).create();
+ String userInfoResponse = createHttpClient(userInfoRequest.getUrl(BASE_URL)).post(request);
+ throw new UnsupportedOperationException();
+ } catch (MalformedURLException e) {
+ throw new OpenshiftException(
+ NLS.bind("Could not get user info for user \"{0}\" at \"{1}\"", username,
+ userInfoRequest.getUrlString(BASE_URL)), e);
+ } catch (HttpClientException e) {
+ throw new OpenshiftException(
+ NLS.bind("Could not get user info for user \"{0}\" at \"{1}\"", username,
+ userInfoRequest.getUrlString(BASE_URL)), e);
+ }
+ }
+
+ @Override
+ public List<Cartridge> getCartridges() throws OpenshiftException {
+ ListCartridgesRequest listCartridgesRequest = new ListCartridgesRequest(username, true);
+ try {
+ String listCartridgesRequestString =
+ new ListCartridgesRequestJsonMarshaller().marshall(listCartridgesRequest);
+ String request = new OpenshiftJsonRequestFactory(password, listCartridgesRequestString).create();
+ String listCatridgesReponse = createHttpClient(listCartridgesRequest.getUrl(BASE_URL)).post(request);
+ throw new UnsupportedOperationException();
+ } catch (MalformedURLException e) {
+ throw new OpenshiftException(
+ NLS.bind("Could not list available cartridges at \"{0}\"",
+ listCartridgesRequest.getUrlString(BASE_URL)), e);
+ } catch (HttpClientException e) {
+ throw new OpenshiftException(
+ NLS.bind("Could not list available cartridges at \"{0}\"",
+ listCartridgesRequest.getUrlString(BASE_URL)), e);
+ }
+ }
+
+ @Override
+ public Application createApplication(String name, Cartridge cartridge) throws OpenshiftException {
+ return requestApplicationAction(name, cartridge,
+ new ApplicationRequest(name, cartridge, ApplicationAction.CONFIGURE, username, true));
+ }
+
+ @Override
+ public Application destroyApplication(String name, Cartridge cartridge) throws OpenshiftException {
+ return requestApplicationAction(name, cartridge,
+ new ApplicationRequest(name, cartridge, ApplicationAction.DECONFIGURE, username, true));
+ }
+
+ protected Application requestApplicationAction(String name, Cartridge cartridge,
+ ApplicationRequest applicationRequest) throws OpenshiftException {
+ try {
+ String applicationRequestString =
+ new ApplicationRequestJsonMarshaller().marshall(applicationRequest);
+ String request = new OpenshiftJsonRequestFactory(password, applicationRequestString).create();
+ String response = createHttpClient(applicationRequest.getUrl(BASE_URL)).post(request);
+ OpenshiftResponse<Application> openshiftResponse = new ApplicationResponseUnmarshaller(response, name,
+ cartridge).unmarshall();
+ return openshiftResponse.getData();
+ } catch (MalformedURLException e) {
+ throw new OpenshiftException(
+ NLS.bind(
+ "Could not {0} application \"{1}\" at \"{2}\"", new String[] {
+ applicationRequest.getAction().toHumanReadable(), name,
+ applicationRequest.getUrlString(BASE_URL) }), e);
+ } catch (HttpClientException e) {
+ throw new OpenshiftException(
+ NLS.bind("Could not {0} application \"{1}\" at \"{2}\"", new String[] {
+ applicationRequest.getAction().toHumanReadable(), name,
+ applicationRequest.getUrlString(BASE_URL) }), e);
+ }
+ }
+
+ private IHttpClient createHttpClient(URL url) {
+ return new UrlConnectionHttpClient(url);
+ }
+
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/OpenshiftService.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/Cartridge.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/Cartridge.java 2011-09-07 13:29:55 UTC (rev 34569)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/Cartridge.java 2011-09-07 14:03:16 UTC (rev 34570)
@@ -17,6 +17,8 @@
*/
public class Cartridge implements IOpenshiftObject {
+ public static final Cartridge JBOSSAS_7 = new Cartridge("jbossas-7.0");
+
private String name;
public Cartridge(String name) {
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/ApplicationAction.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/ApplicationAction.java 2011-09-07 13:29:55 UTC (rev 34569)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/ApplicationAction.java 2011-09-07 14:03:16 UTC (rev 34570)
@@ -11,5 +11,9 @@
package org.jboss.ide.eclipse.as.openshift.internal.core.request;
public enum ApplicationAction {
- CONFIGURE, DECONFIGURE, START, STOP, RESTART, STATUS
+ CONFIGURE, DECONFIGURE, START, STOP, RESTART, STATUS;
+
+ public String toHumanReadable() {
+ return name().toLowerCase();
+ }
}
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftIntegrationTest.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftIntegrationTest.java 2011-09-07 13:29:55 UTC (rev 34569)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftIntegrationTest.java 2011-09-07 14:03:16 UTC (rev 34570)
@@ -1,36 +0,0 @@
-package org.jboss.ide.eclipse.as.openshift.internal.test.core;
-
-import org.jboss.ide.eclipse.as.openshift.core.Openshift;
-import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
-import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
-import org.junit.Before;
-import org.junit.Test;
-
-public class OpenshiftIntegrationTest {
-
- private Openshift openshift;
-
- private static final String USERNAME = "toolsjboss(a)gmail.com";
- private static final String PASSWORD = "1q3e5t7u";
-
- @Before
- public void setUp() {
- this.openshift = new Openshift(USERNAME, PASSWORD);
- }
-
- @Test(expected=OpenshiftException.class)
- public void cannotGetUserInfoIfNotAppNorDomainCreated() throws OpenshiftException {
- openshift.getUserInfo();
- }
-
- @Test
- public void canRequestListCartridges() throws Exception {
- openshift.getCartridges();
- }
-
- @Test
- public void canCreateApplication() throws Exception {
- openshift.createApplication("test-application", new Cartridge("jbossas-7.0"));
- }
-
-}
Copied: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java (from rev 34568, trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftIntegrationTest.java)
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java 2011-09-07 14:03:16 UTC (rev 34570)
@@ -0,0 +1,45 @@
+package org.jboss.ide.eclipse.as.openshift.internal.test.core;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.List;
+
+import org.jboss.ide.eclipse.as.openshift.core.Application;
+import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
+import org.jboss.ide.eclipse.as.openshift.core.OpenshiftService;
+import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
+import org.junit.Before;
+import org.junit.Test;
+
+public class OpenshiftServiceIntegrationTest {
+
+ private OpenshiftService openshiftService;
+
+ private static final String USERNAME = "toolsjboss(a)gmail.com";
+ private static final String PASSWORD = "1q3e5t7u";
+
+ @Before
+ public void setUp() {
+ this.openshiftService = new OpenshiftService(USERNAME, PASSWORD);
+ }
+
+ @Test(expected=OpenshiftException.class)
+ public void cannotGetUserInfoIfNotAppNorDomainCreated() throws OpenshiftException {
+ openshiftService.getUserInfo();
+ }
+
+ @Test
+ public void canRequestListCartridges() throws Exception {
+ List<Cartridge> cartridges = openshiftService.getCartridges();
+ assertNotNull(cartridges);
+ assertTrue(cartridges.size() > 0);
+ }
+
+ @Test
+ public void canCreateApplication() throws Exception {
+ Application application = openshiftService.createApplication("test-application", Cartridge.JBOSSAS_7);
+ assertNotNull(application);
+ }
+
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceIntegrationTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Copied: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceTest.java (from rev 34569, trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java)
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceTest.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceTest.java 2011-09-07 14:03:16 UTC (rev 34570)
@@ -0,0 +1,130 @@
+package org.jboss.ide.eclipse.as.openshift.internal.test.core;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import java.net.URLEncoder;
+import java.text.MessageFormat;
+import java.util.List;
+
+import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
+import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ApplicationRequestJsonMarshaller;
+import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ListCartridgesRequestJsonMarshaller;
+import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.UserInfoRequestJsonMarshaller;
+import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationAction;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationRequest;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.ListCartridgesRequest;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.OpenshiftJsonRequestFactory;
+import org.jboss.ide.eclipse.as.openshift.internal.core.request.UserInfoRequest;
+import org.jboss.ide.eclipse.as.openshift.internal.core.response.ListCartridgesResponseUnmarshaller;
+import org.jboss.ide.eclipse.as.openshift.internal.core.response.OpenshiftResponse;
+import org.junit.Test;
+
+public class OpenshiftServiceTest {
+
+ private static final String USERNAME = "toolsjboss(a)gmail.com";
+ private static final String PASSWORD = "1q2w3e";
+
+ @Test
+ public void canMarshallUserInfoRequest() throws Exception {
+ String expectedRequestString =
+ "password=" + PASSWORD
+ + "&json_data=%7B"
+ + "%22rhlogin%22+%3A+%22" + URLEncoder.encode(USERNAME, "UTF-8") + "%22%2C+"
+ + "%22debug%22+%3A+%22true%22"
+ + "%7D";
+
+ String userInfoRequest = new UserInfoRequestJsonMarshaller().marshall(new UserInfoRequest(USERNAME, true));
+ String effectiveRequest = new OpenshiftJsonRequestFactory(PASSWORD, userInfoRequest).create();
+
+ assertEquals(expectedRequestString, effectiveRequest);
+ }
+
+ @Test
+ public void canMarshallListCartridgesRequest() throws Exception {
+ String expectedRequestString = "password=" + PASSWORD + "&json_data=%7B%22rhlogin%22+%3A+%22"
+ + URLEncoder.encode(USERNAME, "UTF-8")
+ + "%22%2C+%22debug%22+%3A+%22true%22%2C+%22cart_type%22+%3A+%22standalone%22%7D";
+
+ String listCartridgeRequest = new ListCartridgesRequestJsonMarshaller().marshall(
+ new ListCartridgesRequest(USERNAME, true));
+ String effectiveRequest = new OpenshiftJsonRequestFactory(PASSWORD, listCartridgeRequest).create();
+
+ assertEquals(expectedRequestString, effectiveRequest);
+ }
+
+ @Test
+ public void canMarshallApplicationCreateRequest() throws Exception {
+ String expectedRequestString =
+ "password="
+ + PASSWORD
+ + "&json_data=%7B"
+ + "%22rhlogin%22+%3A+%22"
+ + URLEncoder.encode(USERNAME, "UTF-8")
+ + "%22"
+ + "%2C+%22debug%22+%3A+%22true%22"
+ + "%2C+%22cartridge%22+%3A+%22jbossas-7.0%22"
+ + "%2C+%22action%22+%3A+%22configure%22"
+ + "%2C+%22app_name%22+%3A+%22test-application%22"
+ + "%7D";
+
+ String createApplicationRequest = new ApplicationRequestJsonMarshaller().marshall(
+ new ApplicationRequest(
+ "test-application", new Cartridge("jbossas-7.0"), ApplicationAction.CONFIGURE, USERNAME, true));
+ String effectiveRequest = new OpenshiftJsonRequestFactory(PASSWORD, createApplicationRequest).create();
+
+ assertEquals(expectedRequestString, effectiveRequest);
+ }
+
+ @Test
+ public void canUnmarshallCartridgeListResponse() throws OpenshiftException {
+ /*
+ * WARNING: the current (9-7-2011) response from the openshift rest
+ * service is invalid. It quotes the nested json object in the data
+ * property: '"data" : "{'. My current unmarshalling code does not
+ * handle this bad json.
+ */
+ String cartridgeListResponse =
+ "{"
+ + "\"messages\":\"\","
+ + "\"debug\":\"\","
+ + "\"data\":"
+ + "{\"carts\":[\"perl-5.10\",\"jbossas-7.0\",\"wsgi-3.2\",\"rack-1.1\",\"php-5.3\"]},"
+ + "\"api\":\"1.1.1\","
+ + "\"api_c\":[\"placeholder\"],"
+ + "\"result\":null,"
+ + "\"broker\":\"1.1.1\","
+ + "\"broker_c\":[\"namespace\",\"rhlogin\",\"ssh\",\"app_uuid\",\"debug\",\"alter\",\"cartridge\",\"cart_type\",\"action\",\"app_name\",\"api\"],"
+ + "\"exit_code\":0}";
+
+ OpenshiftResponse<List<Cartridge>> response = new ListCartridgesResponseUnmarshaller(cartridgeListResponse)
+ .unmarshall();
+ assertEquals("", response.getMessages());
+ assertEquals(false, response.isDebug());
+
+ List<Cartridge> cartridges = response.getData();
+ assertEquals(5, cartridges.size());
+ assertThatContainsCartridge("perl-5.10", cartridges);
+ assertThatContainsCartridge("jbossas-7.0", cartridges);
+ assertThatContainsCartridge("wsgi-3.2", cartridges);
+ assertThatContainsCartridge("rack-1.1", cartridges);
+ assertThatContainsCartridge("php-5.3", cartridges);
+ assertEquals(null, response.getResult());
+ assertEquals(0, response.getExitCode());
+
+ }
+
+ private void assertThatContainsCartridge(String cartridgeName, List<Cartridge> cartridges) {
+ boolean found = false;
+ for (Cartridge cartridge : cartridges) {
+ if (cartridgeName.equals(cartridge.getName())) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ fail(MessageFormat.format("Could not find cartridge with name \"{0}\"", cartridgeName));
+ }
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftServiceTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java 2011-09-07 13:29:55 UTC (rev 34569)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java 2011-09-07 14:03:16 UTC (rev 34570)
@@ -1,130 +0,0 @@
-package org.jboss.ide.eclipse.as.openshift.internal.test.core;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-import java.net.URLEncoder;
-import java.text.MessageFormat;
-import java.util.List;
-
-import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
-import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ApplicationRequestJsonMarshaller;
-import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ListCartridgesRequestJsonMarshaller;
-import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.UserInfoRequestJsonMarshaller;
-import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationAction;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.ApplicationRequest;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.ListCartridgesRequest;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.OpenshiftJsonRequestFactory;
-import org.jboss.ide.eclipse.as.openshift.internal.core.request.UserInfoRequest;
-import org.jboss.ide.eclipse.as.openshift.internal.core.response.ListCartridgesResponseUnmarshaller;
-import org.jboss.ide.eclipse.as.openshift.internal.core.response.OpenshiftResponse;
-import org.junit.Test;
-
-public class OpenshiftTest {
-
- private static final String USERNAME = "toolsjboss(a)gmail.com";
- private static final String PASSWORD = "1q2w3e";
-
- @Test
- public void canMarshallUserInfoRequest() throws Exception {
- String expectedRequestString =
- "password=" + PASSWORD
- + "&json_data=%7B"
- + "%22rhlogin%22+%3A+%22" + URLEncoder.encode(USERNAME, "UTF-8") + "%22%2C+"
- + "%22debug%22+%3A+%22true%22"
- + "%7D";
-
- String userInfoRequest = new UserInfoRequestJsonMarshaller().marshall(new UserInfoRequest(USERNAME, true));
- String effectiveRequest = new OpenshiftJsonRequestFactory(PASSWORD, userInfoRequest).create();
-
- assertEquals(expectedRequestString, effectiveRequest);
- }
-
- @Test
- public void canMarshallListCartridgesRequest() throws Exception {
- String expectedRequestString = "password=" + PASSWORD + "&json_data=%7B%22rhlogin%22+%3A+%22"
- + URLEncoder.encode(USERNAME, "UTF-8")
- + "%22%2C+%22debug%22+%3A+%22true%22%2C+%22cart_type%22+%3A+%22standalone%22%7D";
-
- String listCartridgeRequest = new ListCartridgesRequestJsonMarshaller().marshall(
- new ListCartridgesRequest(USERNAME, true));
- String effectiveRequest = new OpenshiftJsonRequestFactory(PASSWORD, listCartridgeRequest).create();
-
- assertEquals(expectedRequestString, effectiveRequest);
- }
-
- @Test
- public void canMarshallApplicationCreateRequest() throws Exception {
- String expectedRequestString =
- "password="
- + PASSWORD
- + "&json_data=%7B"
- + "%22rhlogin%22+%3A+%22"
- + URLEncoder.encode(USERNAME, "UTF-8")
- + "%22"
- + "%2C+%22debug%22+%3A+%22true%22"
- + "%2C+%22cartridge%22+%3A+%22jbossas-7.0%22"
- + "%2C+%22action%22+%3A+%22configure%22"
- + "%2C+%22app_name%22+%3A+%22test-application%22"
- + "%7D";
-
- String createApplicationRequest = new ApplicationRequestJsonMarshaller().marshall(
- new ApplicationRequest(
- "test-application", new Cartridge("jbossas-7.0"), ApplicationAction.CONFIGURE, USERNAME, true));
- String effectiveRequest = new OpenshiftJsonRequestFactory(PASSWORD, createApplicationRequest).create();
-
- assertEquals(expectedRequestString, effectiveRequest);
- }
-
- @Test
- public void canUnmarshallCartridgeListResponse() throws OpenshiftException {
- /*
- * WARNING: the current (9-7-2011) response from the openshift rest
- * service is invalid. It quotes the nested json object in the data
- * property: '"data" : "{'. My current unmarshalling code does not
- * handle this bad json.
- */
- String cartridgeListResponse =
- "{"
- + "\"messages\":\"\","
- + "\"debug\":\"\","
- + "\"data\":"
- + "{\"carts\":[\"perl-5.10\",\"jbossas-7.0\",\"wsgi-3.2\",\"rack-1.1\",\"php-5.3\"]},"
- + "\"api\":\"1.1.1\","
- + "\"api_c\":[\"placeholder\"],"
- + "\"result\":null,"
- + "\"broker\":\"1.1.1\","
- + "\"broker_c\":[\"namespace\",\"rhlogin\",\"ssh\",\"app_uuid\",\"debug\",\"alter\",\"cartridge\",\"cart_type\",\"action\",\"app_name\",\"api\"],"
- + "\"exit_code\":0}";
-
- OpenshiftResponse<List<Cartridge>> response = new ListCartridgesResponseUnmarshaller(cartridgeListResponse)
- .unmarshall();
- assertEquals("", response.getMessages());
- assertEquals(false, response.isDebug());
-
- List<Cartridge> cartridges = response.getData();
- assertEquals(5, cartridges.size());
- assertThatContainsCartridge("perl-5.10", cartridges);
- assertThatContainsCartridge("jbossas-7.0", cartridges);
- assertThatContainsCartridge("wsgi-3.2", cartridges);
- assertThatContainsCartridge("rack-1.1", cartridges);
- assertThatContainsCartridge("php-5.3", cartridges);
- assertEquals(null, response.getResult());
- assertEquals(0, response.getExitCode());
-
- }
-
- private void assertThatContainsCartridge(String cartridgeName, List<Cartridge> cartridges) {
- boolean found = false;
- for (Cartridge cartridge : cartridges) {
- if (cartridgeName.equals(cartridge.getName())) {
- found = true;
- break;
- }
- }
- if (!found) {
- fail(MessageFormat.format("Could not find cartridge with name \"{0}\"", cartridgeName));
- }
- }
-}
14 years, 7 months
JBoss Tools SVN: r34569 - in trunk/as/plugins: org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-09-07 09:29:55 -0400 (Wed, 07 Sep 2011)
New Revision: 34569
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java
Log:
[JBIDE-9510] implemented unmarshalling of cartridge list (not working with the real service yet since they send invalid json. My impl assumes they corrected the invalid json)
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java 2011-09-07 10:51:53 UTC (rev 34568)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java 2011-09-07 13:29:55 UTC (rev 34569)
@@ -12,6 +12,7 @@
import org.eclipse.osgi.util.NLS;
import org.jboss.dmr.ModelNode;
+import org.jboss.dmr.ModelType;
import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftJsonConstants;
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
@@ -30,8 +31,8 @@
try {
ModelNode node = ModelNode.fromJSONString(response);
boolean debug = node.get(IOpenshiftJsonConstants.PROPERTY_DEBUG).asBoolean();
- String messages = node.get(IOpenshiftJsonConstants.PROPERTY_MESSAGES).asString();
- String result = node.get(IOpenshiftJsonConstants.PROPERTY_RESULT).asString();
+ String messages = getString(IOpenshiftJsonConstants.PROPERTY_MESSAGES, node);
+ String result = getString(IOpenshiftJsonConstants.PROPERTY_RESULT, node);
int exitCode = node.get(IOpenshiftJsonConstants.PROPERTY_EXIT_CODE).asInt();
OPENSHIFTOBJECT openshiftObject = createOpenshiftObject(node.get(IOpenshiftJsonConstants.PROPERTY_DATA));
return new OpenshiftResponse<OPENSHIFTOBJECT>(debug, messages, result, openshiftObject, exitCode);
@@ -48,4 +49,12 @@
return response;
}
+ protected String getString(String property, ModelNode node) {
+ ModelNode propertyNode = node.get(property);
+ if (propertyNode.getType() == ModelType.UNDEFINED) {
+ return null;
+ }
+ return propertyNode.asString();
+ }
+
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java 2011-09-07 10:51:53 UTC (rev 34568)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java 2011-09-07 13:29:55 UTC (rev 34569)
@@ -106,6 +106,10 @@
List<Cartridge> cartridges = response.getData();
assertEquals(5, cartridges.size());
assertThatContainsCartridge("perl-5.10", cartridges);
+ assertThatContainsCartridge("jbossas-7.0", cartridges);
+ assertThatContainsCartridge("wsgi-3.2", cartridges);
+ assertThatContainsCartridge("rack-1.1", cartridges);
+ assertThatContainsCartridge("php-5.3", cartridges);
assertEquals(null, response.getResult());
assertEquals(0, response.getExitCode());
14 years, 7 months
JBoss Tools SVN: r34568 - in trunk/as/plugins: org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-09-07 06:51:53 -0400 (Wed, 07 Sep 2011)
New Revision: 34568
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ListCartridgesResponseUnmarshaller.java
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseFactory.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseFactory.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftJsonConstants.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Openshift.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/OpenshiftJsonRequestFactory.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/OpenshiftResponse.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftIntegrationTest.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java
Log:
[JBIDE-9510] implemented unmarshalling of cartridge list (not working with the real service yet since they send invalid json. My impl assumes they corrected the invalid json)
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftJsonConstants.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftJsonConstants.java 2011-09-07 05:02:30 UTC (rev 34567)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/IOpenshiftJsonConstants.java 2011-09-07 10:51:53 UTC (rev 34568)
@@ -27,5 +27,6 @@
public static final String PROPERTY_APP_NAME = "app_name";
public static final String PROPERTY_ACTION = "action";
public static final String PROPERTY_CARTRIDGE = "cartridge";
+ public static final String PROPERTY_CARTS = "carts";
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Openshift.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Openshift.java 2011-09-07 05:02:30 UTC (rev 34567)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/core/Openshift.java 2011-09-07 10:51:53 UTC (rev 34568)
@@ -27,7 +27,7 @@
import org.jboss.ide.eclipse.as.openshift.internal.core.request.ListCartridgesRequest;
import org.jboss.ide.eclipse.as.openshift.internal.core.request.OpenshiftJsonRequestFactory;
import org.jboss.ide.eclipse.as.openshift.internal.core.request.UserInfoRequest;
-import org.jboss.ide.eclipse.as.openshift.internal.core.response.ApplicationResponseFactory;
+import org.jboss.ide.eclipse.as.openshift.internal.core.response.ApplicationResponseUnmarshaller;
import org.jboss.ide.eclipse.as.openshift.internal.core.response.OpenshiftResponse;
/**
@@ -91,7 +91,7 @@
new ApplicationRequestJsonMarshaller().marshall(applicationRequest);
String request = new OpenshiftJsonRequestFactory(password, listCartridgesRequestString).create();
String response = createHttpClient(applicationRequest.getUrl(BASE_URL)).post(request);
- OpenshiftResponse<Application> openshiftResponse = new ApplicationResponseFactory(response, name, cartridge).create();
+ OpenshiftResponse<Application> openshiftResponse = new ApplicationResponseUnmarshaller(response, name, cartridge).unmarshall();
return openshiftResponse.getData();
} catch (MalformedURLException e) {
throw new OpenshiftException(
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/OpenshiftJsonRequestFactory.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/OpenshiftJsonRequestFactory.java 2011-09-07 05:02:30 UTC (rev 34567)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/request/OpenshiftJsonRequestFactory.java 2011-09-07 10:51:53 UTC (rev 34568)
@@ -7,7 +7,7 @@
*
* Contributors:
* Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
+ ******************************************************************************/
package org.jboss.ide.eclipse.as.openshift.internal.core.request;
import java.io.UnsupportedEncodingException;
@@ -16,6 +16,9 @@
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
/**
+ * A factory that creates the json string that the openshift rest service
+ * would consume.
+ *
* @author André Dietisheim
*/
public class OpenshiftJsonRequestFactory {
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseFactory.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseFactory.java 2011-09-07 05:02:30 UTC (rev 34567)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseFactory.java 2011-09-07 10:51:53 UTC (rev 34568)
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 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.ide.eclipse.as.openshift.internal.core.response;
-
-import org.jboss.dmr.ModelNode;
-import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftJsonConstants;
-import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftObject;
-import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
-
-/**
- * @author André Dietisheim
- */
-public abstract class AbstractOpenshiftJsonResponseFactory<OPENSHIFTOBJECT extends IOpenshiftObject> {
-
- private String response;
-
- public AbstractOpenshiftJsonResponseFactory(String response) {
- this.response = response;
- }
-
- public OpenshiftResponse<OPENSHIFTOBJECT> create() throws OpenshiftException {
- ModelNode node = ModelNode.fromJSONString(response);
- boolean debug = node.get(IOpenshiftJsonConstants.PROPERTY_DEBUG).asBoolean();
- String messages = node.get(IOpenshiftJsonConstants.PROPERTY_MESSAGES).asString();
- String result = node.get(IOpenshiftJsonConstants.PROPERTY_RESULT).asString();
- int exitCode = node.get(IOpenshiftJsonConstants.PROPERTY_EXIT_CODE).asInt();
- OPENSHIFTOBJECT openshiftObject = createOpenshiftObject(node.get(IOpenshiftJsonConstants.PROPERTY_DATA));
- return new OpenshiftResponse<OPENSHIFTOBJECT>(debug, messages, result, openshiftObject, exitCode);
- }
-
- protected abstract OPENSHIFTOBJECT createOpenshiftObject(ModelNode node);
-
- protected String getResponse() {
- return response;
- }
-
-}
Copied: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java (from rev 34544, trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseFactory.java)
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java 2011-09-07 10:51:53 UTC (rev 34568)
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.internal.core.response;
+
+import org.eclipse.osgi.util.NLS;
+import org.jboss.dmr.ModelNode;
+import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftJsonConstants;
+import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
+
+/**
+ * @author André Dietisheim
+ */
+public abstract class AbstractOpenshiftJsonResponseUnmarshaller<OPENSHIFTOBJECT> {
+
+ private String response;
+
+ public AbstractOpenshiftJsonResponseUnmarshaller(String response) {
+ this.response = response;
+ }
+
+ public OpenshiftResponse<OPENSHIFTOBJECT> unmarshall() throws OpenshiftException {
+ try {
+ ModelNode node = ModelNode.fromJSONString(response);
+ boolean debug = node.get(IOpenshiftJsonConstants.PROPERTY_DEBUG).asBoolean();
+ String messages = node.get(IOpenshiftJsonConstants.PROPERTY_MESSAGES).asString();
+ String result = node.get(IOpenshiftJsonConstants.PROPERTY_RESULT).asString();
+ int exitCode = node.get(IOpenshiftJsonConstants.PROPERTY_EXIT_CODE).asInt();
+ OPENSHIFTOBJECT openshiftObject = createOpenshiftObject(node.get(IOpenshiftJsonConstants.PROPERTY_DATA));
+ return new OpenshiftResponse<OPENSHIFTOBJECT>(debug, messages, result, openshiftObject, exitCode);
+ } catch (IllegalArgumentException e) {
+ throw new OpenshiftException(NLS.bind("Could not parse response \"{0}\"", response), e);
+ } catch (Exception e) {
+ throw new OpenshiftException(NLS.bind("Could not unmarshall response \"{0}\"", response), e);
+ }
+ }
+
+ protected abstract OPENSHIFTOBJECT createOpenshiftObject(ModelNode dataNode);
+
+ protected String getResponse() {
+ return response;
+ }
+
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseFactory.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseFactory.java 2011-09-07 05:02:30 UTC (rev 34567)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseFactory.java 2011-09-07 10:51:53 UTC (rev 34568)
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 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.ide.eclipse.as.openshift.internal.core.response;
-
-import org.jboss.dmr.ModelNode;
-import org.jboss.ide.eclipse.as.openshift.core.Application;
-import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
-
-/**
- * @author André Dietisheim
- */
-public class ApplicationResponseFactory extends AbstractOpenshiftJsonResponseFactory<Application> {
-
- private String applicationName;
- private Cartridge cartridge;
-
- public ApplicationResponseFactory(String response, String applicationName, Cartridge cartridge) {
- super(response);
- this.applicationName = applicationName;
- this.cartridge = cartridge;
- }
-
- @Override
- protected Application createOpenshiftObject(ModelNode node) {
- return new Application(applicationName, cartridge);
- }
-}
Copied: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseUnmarshaller.java (from rev 34544, trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseFactory.java)
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseUnmarshaller.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseUnmarshaller.java 2011-09-07 10:51:53 UTC (rev 34568)
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.internal.core.response;
+
+import org.jboss.dmr.ModelNode;
+import org.jboss.ide.eclipse.as.openshift.core.Application;
+import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
+
+/**
+ * @author André Dietisheim
+ */
+public class ApplicationResponseUnmarshaller extends AbstractOpenshiftJsonResponseUnmarshaller<Application> {
+
+ private String applicationName;
+ private Cartridge cartridge;
+
+ public ApplicationResponseUnmarshaller(String response, String applicationName, Cartridge cartridge) {
+ super(response);
+ this.applicationName = applicationName;
+ this.cartridge = cartridge;
+ }
+
+ @Override
+ protected Application createOpenshiftObject(ModelNode node) {
+ return new Application(applicationName, cartridge);
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ApplicationResponseUnmarshaller.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ListCartridgesResponseUnmarshaller.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ListCartridgesResponseUnmarshaller.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ListCartridgesResponseUnmarshaller.java 2011-09-07 10:51:53 UTC (rev 34568)
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.ide.eclipse.as.openshift.internal.core.response;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.dmr.ModelNode;
+import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftJsonConstants;
+import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
+
+/**
+ * @author André Dietisheim
+ */
+public class ListCartridgesResponseUnmarshaller extends AbstractOpenshiftJsonResponseUnmarshaller<List<Cartridge>> {
+
+ public ListCartridgesResponseUnmarshaller(String response) {
+ super(response);
+ }
+
+ @Override
+ protected List<Cartridge> createOpenshiftObject(ModelNode dataNode) {
+ List<Cartridge> cartridges = new ArrayList<Cartridge>();
+ ModelNode cartridgesNode = dataNode.get(IOpenshiftJsonConstants.PROPERTY_CARTS);
+ for (ModelNode cartridgeNode : cartridgesNode.asList()) {
+ cartridges.add(createCartridge(cartridgeNode));
+ }
+ return cartridges;
+ }
+
+ private Cartridge createCartridge(ModelNode cartridgeNode) {
+ String name = cartridgeNode.asString();
+ return new Cartridge(name);
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/ListCartridgesResponseUnmarshaller.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/OpenshiftResponse.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/OpenshiftResponse.java 2011-09-07 05:02:30 UTC (rev 34567)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/OpenshiftResponse.java 2011-09-07 10:51:53 UTC (rev 34568)
@@ -10,12 +10,11 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.openshift.internal.core.response;
-import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftObject;
/**
* @author André Dietisheim
*/
-public class OpenshiftResponse<OPENSHIFTOBJECT extends IOpenshiftObject> {
+public class OpenshiftResponse<OPENSHIFTOBJECT> {
private boolean debug;
private String messages;
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/META-INF/MANIFEST.MF 2011-09-07 05:02:30 UTC (rev 34567)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/META-INF/MANIFEST.MF 2011-09-07 10:51:53 UTC (rev 34568)
@@ -7,6 +7,6 @@
Bundle-Vendor: JBoss by Red Hat
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.junit;bundle-version="[4.8.0,5.0.0)",
- org.jboss.ide.eclipse.as.openshift.core;bundle-version="1.0.0"
+ org.jboss.ide.eclipse.as.openshift.core;bundle-version="[1.0.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftIntegrationTest.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftIntegrationTest.java 2011-09-07 05:02:30 UTC (rev 34567)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftIntegrationTest.java 2011-09-07 10:51:53 UTC (rev 34568)
@@ -2,6 +2,7 @@
import org.jboss.ide.eclipse.as.openshift.core.Openshift;
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
+import org.jboss.ide.eclipse.as.openshift.internal.core.Cartridge;
import org.junit.Before;
import org.junit.Test;
@@ -27,5 +28,9 @@
openshift.getCartridges();
}
+ @Test
+ public void canCreateApplication() throws Exception {
+ openshift.createApplication("test-application", new Cartridge("jbossas-7.0"));
+ }
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java 2011-09-07 05:02:30 UTC (rev 34567)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java 2011-09-07 10:51:53 UTC (rev 34568)
@@ -1,9 +1,13 @@
package org.jboss.ide.eclipse.as.openshift.internal.test.core;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
import java.net.URLEncoder;
+import java.text.MessageFormat;
+import java.util.List;
+import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ApplicationRequestJsonMarshaller;
import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.ListCartridgesRequestJsonMarshaller;
import org.jboss.ide.eclipse.as.openshift.core.internal.marshalling.UserInfoRequestJsonMarshaller;
@@ -13,6 +17,8 @@
import org.jboss.ide.eclipse.as.openshift.internal.core.request.ListCartridgesRequest;
import org.jboss.ide.eclipse.as.openshift.internal.core.request.OpenshiftJsonRequestFactory;
import org.jboss.ide.eclipse.as.openshift.internal.core.request.UserInfoRequest;
+import org.jboss.ide.eclipse.as.openshift.internal.core.response.ListCartridgesResponseUnmarshaller;
+import org.jboss.ide.eclipse.as.openshift.internal.core.response.OpenshiftResponse;
import org.junit.Test;
public class OpenshiftTest {
@@ -70,4 +76,51 @@
assertEquals(expectedRequestString, effectiveRequest);
}
+
+ @Test
+ public void canUnmarshallCartridgeListResponse() throws OpenshiftException {
+ /*
+ * WARNING: the current (9-7-2011) response from the openshift rest
+ * service is invalid. It quotes the nested json object in the data
+ * property: '"data" : "{'. My current unmarshalling code does not
+ * handle this bad json.
+ */
+ String cartridgeListResponse =
+ "{"
+ + "\"messages\":\"\","
+ + "\"debug\":\"\","
+ + "\"data\":"
+ + "{\"carts\":[\"perl-5.10\",\"jbossas-7.0\",\"wsgi-3.2\",\"rack-1.1\",\"php-5.3\"]},"
+ + "\"api\":\"1.1.1\","
+ + "\"api_c\":[\"placeholder\"],"
+ + "\"result\":null,"
+ + "\"broker\":\"1.1.1\","
+ + "\"broker_c\":[\"namespace\",\"rhlogin\",\"ssh\",\"app_uuid\",\"debug\",\"alter\",\"cartridge\",\"cart_type\",\"action\",\"app_name\",\"api\"],"
+ + "\"exit_code\":0}";
+
+ OpenshiftResponse<List<Cartridge>> response = new ListCartridgesResponseUnmarshaller(cartridgeListResponse)
+ .unmarshall();
+ assertEquals("", response.getMessages());
+ assertEquals(false, response.isDebug());
+
+ List<Cartridge> cartridges = response.getData();
+ assertEquals(5, cartridges.size());
+ assertThatContainsCartridge("perl-5.10", cartridges);
+ assertEquals(null, response.getResult());
+ assertEquals(0, response.getExitCode());
+
+ }
+
+ private void assertThatContainsCartridge(String cartridgeName, List<Cartridge> cartridges) {
+ boolean found = false;
+ for (Cartridge cartridge : cartridges) {
+ if (cartridgeName.equals(cartridge.getName())) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ fail(MessageFormat.format("Could not find cartridge with name \"{0}\"", cartridgeName));
+ }
+ }
}
14 years, 7 months