You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/05/17 21:36:09 UTC
[4/4] stratos git commit: Introducing custom exceptions for
application policy
Introducing custom exceptions for application policy
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/1ff37ab5
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/1ff37ab5
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/1ff37ab5
Branch: refs/heads/master
Commit: 1ff37ab5bded48de8ebd18f061b0525bb8d1a5db
Parents: 1fb43bc
Author: Pubudu Gunatilaka <pu...@gmail.com>
Authored: Mon May 18 00:09:12 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Mon May 18 01:06:00 2015 +0530
----------------------------------------------------------------------
...ApplicationPolicyAlreadyExistsException.java | 32 +
.../autoscaler/services/AutoscalerService.java | 4 +-
.../services/impl/AutoscalerServiceImpl.java | 17 +-
.../common/client/AutoscalerServiceClient.java | 2 +-
.../rest/endpoint/api/StratosApiV41.java | 13 +-
.../rest/endpoint/api/StratosApiV41Utils.java | 2 +-
.../src/main/resources/AutoscalerService.wsdl | 802 ++++++++++---------
7 files changed, 470 insertions(+), 402 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/1ff37ab5/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/policy/ApplicationPolicyAlreadyExistsException.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/policy/ApplicationPolicyAlreadyExistsException.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/policy/ApplicationPolicyAlreadyExistsException.java
new file mode 100644
index 0000000..eae5eb2
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/policy/ApplicationPolicyAlreadyExistsException.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.apache.stratos.autoscaler.exception.policy;
+
+/**
+ * Application Policy Already Exists
+ */
+public class ApplicationPolicyAlreadyExistsException extends Exception {
+
+ public ApplicationPolicyAlreadyExistsException(String message)
+ {
+ super(message);
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/1ff37ab5/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
index 7a1f2c1..10fad76 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
@@ -148,8 +148,10 @@ public interface AutoscalerService {
* @throws InvalidApplicationPolicyException
* @throws RemoteException
* @throws InvalidPolicyException
+ * @throws ApplicationPolicyAlreadyExistsException
*/
- public boolean addApplicationPolicy(ApplicationPolicy applicationPolicy) throws RemoteException, InvalidApplicationPolicyException, InvalidPolicyException;
+ public boolean addApplicationPolicy(ApplicationPolicy applicationPolicy) throws RemoteException,
+ InvalidApplicationPolicyException, InvalidPolicyException,ApplicationPolicyAlreadyExistsException;
/**
* Get application policy by application id
http://git-wip-us.apache.org/repos/asf/stratos/blob/1ff37ab5/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
index 390a402..7dc8668 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -807,10 +807,25 @@ public class AutoscalerServiceImpl implements AutoscalerService {
@Override
public boolean addApplicationPolicy(ApplicationPolicy applicationPolicy)
- throws RemoteException, InvalidApplicationPolicyException {
+ throws RemoteException, InvalidApplicationPolicyException,ApplicationPolicyAlreadyExistsException {
// validating application policy
AutoscalerUtil.validateApplicationPolicy(applicationPolicy);
+
+ if (log.isInfoEnabled()) {
+ log.info("Adding application policy: [application-policy-id] " + applicationPolicy.getId());
+ }
+ if (log.isDebugEnabled()) {
+ log.debug("Application policy definition: " + applicationPolicy.toString());
+ }
+
+ String applicationPolicyID = applicationPolicy.getId();
+ if (PolicyManager.getInstance().getApplicationPolicy(applicationPolicyID) != null) {
+ String message = "Application policy already exists: [application-policy-id] " + applicationPolicyID;
+ log.error(message);
+ throw new ApplicationPolicyAlreadyExistsException(message);
+ }
+
// Add application policy to the registry
PolicyManager.getInstance().addApplicationPolicy(applicationPolicy);
return true;
http://git-wip-us.apache.org/repos/asf/stratos/blob/1ff37ab5/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
index cbf0183..f6a97e7 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
@@ -119,7 +119,7 @@ public class AutoscalerServiceClient {
public void addApplicationPolicy(ApplicationPolicy applicationPolicy)
throws RemoteException,
- AutoscalerServiceRemoteExceptionException, AutoscalerServiceInvalidApplicationPolicyExceptionException {
+ AutoscalerServiceRemoteExceptionException, AutoscalerServiceInvalidApplicationPolicyExceptionException,AutoscalerServiceApplicationPolicyAlreadyExistsExceptionException {
stub.addApplicationPolicy(applicationPolicy);
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/1ff37ab5/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 057ce75..a87a61a 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
@@ -21,6 +21,9 @@ package org.apache.stratos.rest.endpoint.api;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.autoscaler.stub.*;
+import org.apache.stratos.autoscaler.stub.impl.AutoscalerServiceApplicatioinPolicyNotExistsException;
+import org.apache.stratos.autoscaler.stub.impl.AutoscalerServiceApplicationPolicyAlreadyExistsException;
+import org.apache.stratos.autoscaler.stub.impl.AutoscalerServiceAutoScalingPolicyAlreadyExistException;
import org.apache.stratos.cloud.controller.stub.*;
import org.apache.stratos.common.beans.ResponseMessageBean;
import org.apache.stratos.common.beans.TenantInfoBean;
@@ -817,12 +820,18 @@ public class StratosApiV41 extends AbstractApi {
return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
String.format("Application policy added successfully: [application-policy] %s",
applicationPolicy.getId()))).build();
- } catch (RestAPIException e) {
- throw e;
} catch (AutoscalerServiceInvalidApplicationPolicyExceptionException e) {
return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
ResponseMessageBean.ERROR, "Invalid application policy")).build();
+ } catch(AutoscalerServiceApplicationPolicyAlreadyExistsExceptionException e){
+ return Response.status(Response.Status.CONFLICT).entity(new ResponseMessageBean(
+ ResponseMessageBean.ERROR, "Application policy already exists")).build();
+
+ }catch (RestAPIException e) {
+ throw e;
}
+
+
}
/**
http://git-wip-us.apache.org/repos/asf/stratos/blob/1ff37ab5/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 d86ab0c..f73a4a2 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
@@ -699,7 +699,7 @@ public class StratosApiV41Utils {
* @throws RestAPIException
*/
public static void addApplicationPolicy(ApplicationPolicyBean applicationPolicyBean) throws RestAPIException,
- AutoscalerServiceInvalidApplicationPolicyExceptionException {
+ AutoscalerServiceInvalidApplicationPolicyExceptionException,AutoscalerServiceApplicationPolicyAlreadyExistsExceptionException {
if (applicationPolicyBean == null) {
String msg = "Application policy bean is null";