[
https://issues.jboss.org/browse/JBIDE-12620?page=com.atlassian.jira.plugi...
]
Andre Dietisheim updated JBIDE-12620:
-------------------------------------
Fix Version/s: 4.0.x
(was: 4.0.0.Alpha2)
openshift java client: should not load all applications when creating
a new application
---------------------------------------------------------------------------------------
Key: JBIDE-12620
URL:
https://issues.jboss.org/browse/JBIDE-12620
Project: Tools (JBoss Tools)
Issue Type: Enhancement
Components: openshift
Affects Versions: 3.3.0.Final
Reporter: Andre Dietisheim
Assignee: Andre Dietisheim
Fix For: 4.0.x
When creating a new application, the openshift-java-client would lookup if the
application name already exist. When doing that it'll load the existing apps from the
backend if they're not cached yet:
{code:title=stacktrace when creating a new application}
at
com.openshift.internal.client.AbstractOpenShiftResource$ServiceRequest.execute(AbstractOpenShiftResource.java:137)
at
com.openshift.internal.client.DomainResource.loadApplications(DomainResource.java:189)
at
com.openshift.internal.client.DomainResource.getApplications(DomainResource.java:179)
at
com.openshift.internal.client.DomainResource.getApplicationByName(DomainResource.java:141)
at
com.openshift.internal.client.DomainResource.hasApplicationByName(DomainResource.java:151)
at
com.openshift.internal.client.DomainResource.createApplication(DomainResource.java:126)
at
com.openshift.internal.client.DomainResource.createApplication(DomainResource.java:112)
{code}
{code:title=DomainResource looks applications up, to see if the name is already used.
DomainResource#createApplication}
if (hasApplicationByName(name)) {
throw new OpenShiftException("Application with name \"{0}\" already
exists.", name);
}
{code}
{code:title=DomainResource#hasApplicationByName gets the available applications:}
return getApplicationByName(name) != null;
{code}
{code:title=DomainResource#getApplicationByName}
IApplication matchingApplication = null;
for (IApplication application : getApplications()) {
if (application.getName().equals(name)) {
matchingApplication = application;
break;
}
}
return matchingApplication;
{code}
{code:title=DomainResource#getApplications would load the applications from the backend
if they're not loaded yet}
if (this.applications == null) {
this.applications = loadApplications();
}
return CollectionUtils.toUnmodifiableCopy(applications);
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira