You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2015/06/22 16:42:52 UTC
stratos git commit: fixing non exisiting application runtime issue
Repository: stratos
Updated Branches:
refs/heads/master aa3bc711b -> 0a969200d
fixing non exisiting application runtime issue
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/0a969200
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/0a969200
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/0a969200
Branch: refs/heads/master
Commit: 0a969200d11228158606f011ca7e5e795f336d92
Parents: aa3bc71
Author: reka <rt...@gmail.com>
Authored: Mon Jun 22 19:27:15 2015 +0530
Committer: reka <rt...@gmail.com>
Committed: Mon Jun 22 19:33:05 2015 +0530
----------------------------------------------------------------------
.../rest/endpoint/api/StratosApiV41.java | 2 +
.../rest/endpoint/api/StratosApiV41Utils.java | 44 ++++++++++++++------
2 files changed, 34 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/0a969200/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
index 6f8bcc6..9712980 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
@@ -1272,6 +1272,8 @@ public class StratosApiV41 extends AbstractApi {
@AuthorizationAction("/permission/admin/stratos/applications/view")
public Response getApplicationRuntime(
@PathParam("applicationId") String applicationId) throws RestAPIException {
+
+
ApplicationInfoBean applicationRuntime = StratosApiV41Utils.getApplicationRuntime(applicationId);
if (applicationRuntime == null) {
return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
http://git-wip-us.apache.org/repos/asf/stratos/blob/0a969200/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index c8928f9..ea24d09 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -1875,21 +1875,41 @@ public class StratosApiV41Utils {
* @param applicationId Application Id
* @return ApplicationInfoBean
*/
- public static ApplicationInfoBean getApplicationRuntime(String applicationId) {
+ public static ApplicationInfoBean getApplicationRuntime(String applicationId)
+ throws RestAPIException {
ApplicationInfoBean applicationBean = null;
+ ApplicationContext applicationContext = null;
+ //Checking whether application is in deployed mode
try {
- ApplicationManager.acquireReadLockForApplication(applicationId);
- Application application = ApplicationManager.getApplications().getApplication(applicationId);
- if (application == null) {
- return null;
- }
- applicationBean = ObjectConverter.convertApplicationToApplicationInstanceBean(application);
- for (ApplicationInstanceBean instanceBean : applicationBean.getApplicationInstances()) {
- addClustersInstancesToApplicationInstanceBean(instanceBean, application);
- addGroupsInstancesToApplicationInstanceBean(instanceBean, application);
+ applicationContext = getAutoscalerServiceClient().
+ getApplication(applicationId);
+ } catch (RemoteException e) {
+ String message = "Could not get application definition: [application-id] " + applicationId;
+ log.error(message, e);
+ throw new RestAPIException(message, e);
+
+ } catch (RestAPIException e) {
+ String message = "Could not get application definition: [application-id] " + applicationId;
+ log.error(message, e);
+ throw new RestAPIException(message, e);
+
+ }
+
+ if(applicationContext != null && applicationContext.getStatus().equals("Deployed")) {
+ try {
+ ApplicationManager.acquireReadLockForApplication(applicationId);
+ Application application = ApplicationManager.getApplications().getApplication(applicationId);
+ if (application == null) {
+ return null;
+ }
+ applicationBean = ObjectConverter.convertApplicationToApplicationInstanceBean(application);
+ for (ApplicationInstanceBean instanceBean : applicationBean.getApplicationInstances()) {
+ addClustersInstancesToApplicationInstanceBean(instanceBean, application);
+ addGroupsInstancesToApplicationInstanceBean(instanceBean, application);
+ }
+ } finally {
+ ApplicationManager.releaseReadLockForApplication(applicationId);
}
- } finally {
- ApplicationManager.releaseReadLockForApplication(applicationId);
}
return applicationBean;
}