Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,17 @@ public ApplicationContext getApplicationContext(String applicationId) {
return applicationContextMap.get(applicationId);
}

public ApplicationContext getApplicationContextByTenant(String applicationId, int tenantId) {
ApplicationContext applicationContext = null;
for (ApplicationContext applicationContext1 : getApplicationContexts()) {
if (applicationContext1.getTenantId() == tenantId && applicationContext1.getApplicationId().equals
(applicationId)) {
applicationContext = applicationContext1;
}
}
return applicationContext;
}

public Collection<ApplicationContext> getApplicationContexts() {
return applicationContextMap.values();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,7 @@ public ApplicationPolicy getApplicationPolicy(String applicationPolicyId) {
}

/**
* Returns the deployment policy to which the specified id is mapped or null
* Returns the application policy to which the specified id is mapped or null
*
* @param id Id of the deployment policy
* @return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,14 @@ public boolean updateApplication(ApplicationContext applicationContext)
*/
public ApplicationContext getApplication(String applicationId);

/**
* Get an application
*
* @param applicationId
* @param tenantId
*/
public ApplicationContext getApplicationByTenant(String applicationId, int tenantId);

/**
* Check if the application exists
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,11 @@ public ApplicationContext getApplication(String applicationId) {
return AutoscalerContext.getInstance().getApplicationContext(applicationId);
}

@Override
public ApplicationContext getApplicationByTenant(String applicationId, int tenantId) {
return AutoscalerContext.getInstance().getApplicationContextByTenant(applicationId, tenantId);
}

@Override
public boolean existApplication(String applicationId) {
return AutoscalerContext.getInstance().getApplicationContext(applicationId) != null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,10 @@ public ApplicationContext getApplication(String applicationId) throws RemoteExce
return stub.getApplication(applicationId);
}

public ApplicationContext getApplicationByTenant(String applicationId, int tenantId) throws RemoteException {
return stub.getApplicationByTenant(applicationId, tenantId);
}

public boolean existApplication(String applicationId) throws RemoteException {
return stub.existApplication(applicationId);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ public class Application extends ParentComponent<ApplicationInstance> {
private static final long serialVersionUID = -5092959597171649688L;

// Unique id for the Application, defined in Application Definition
private String uuid;
private String id;
private String name;
private String description;
Expand All @@ -49,22 +50,30 @@ public class Application extends ParentComponent<ApplicationInstance> {
// Life cycle state manager
//protected LifeCycleStateManager<ApplicationStatus> applicationStateManager;

// application policy id
// application policy uuid
private String applicationPolicyId;

public Application(String id) {
public Application(String uuid) {
super();
this.id = id;
this.uuid = uuid;
this.key = RandomStringUtils.randomAlphanumeric(16);
this.setInstanceIdToInstanceContextMap(new HashMap<String, ApplicationInstance>());
//this.applicationStateManager =
//new LifeCycleStateManager<ApplicationStatus>(ApplicationStatus.Created, id);
}

public String getUniqueIdentifier() {
public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getUniqueIdentifier() {
return uuid;
}

public String getKey() {
return key;
}
Expand Down Expand Up @@ -134,11 +143,11 @@ public boolean equals(Object other) {
}

Application that = (Application) other;
return this.id.equals(that.id);
return this.uuid.equals(that.uuid);
}

public int hashCode() {
return id.hashCode();
return uuid.hashCode();
}

public Instance getInstanceByNetworkPartitionId(String networkPartitionId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1774,8 +1774,11 @@ public static void deployApplication(String applicationId, String applicationPol
log.info(String.format("Starting to deploy application: [application-id] %s", applicationId));
}

PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
int tenantId = carbonContext.getTenantId();

AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
ApplicationContext application = autoscalerServiceClient.getApplication(applicationId);
ApplicationContext application = autoscalerServiceClient.getApplicationByTenant(applicationId, tenantId);

if (application == null) {
String message = String.format("Application not found: [application-id] %s", applicationId);
Expand Down Expand Up @@ -1804,7 +1807,7 @@ public static void deployApplication(String applicationId, String applicationPol
}

ApplicationBean applicationBean = getApplication(applicationId);
int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
//int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
if (applicationBean.isMultiTenant() && (tenantId != -1234)) {
String message = String.format(
"Multi-tenant applications can only be deployed by super tenant: [application-id] %s",
Expand Down Expand Up @@ -1898,8 +1901,9 @@ public static void removeApplication(String applicationId) throws RestAPIExcepti
*/
public static ApplicationBean getApplication(String applicationId) throws RestAPIException {
try {
PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
return ObjectConverter.convertStubApplicationContextToApplicationDefinition(
AutoscalerServiceClient.getInstance().getApplication(applicationId));
AutoscalerServiceClient.getInstance().getApplicationByTenant(applicationId, carbonContext.getTenantId()));
} catch (RemoteException e) {
String message = "Could not read application: [application-id] " + applicationId;
log.error(message, e);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1111,7 +1111,8 @@ public static ApplicationContext convertApplicationDefinitionToStubApplicationCo

org.apache.stratos.autoscaler.stub.pojo.ApplicationContext applicationContext =
new org.apache.stratos.autoscaler.stub.pojo.ApplicationContext();
applicationContext.setApplicationId(applicationDefinition.getApplicationUuid());
applicationContext.setApplicationUuid(applicationDefinition.getApplicationUuid());
applicationContext.setApplicationId(applicationDefinition.getApplicationId());
applicationContext.setAlias(applicationDefinition.getAlias());
applicationContext.setMultiTenant(applicationDefinition.isMultiTenant());
applicationContext.setName(applicationDefinition.getName());
Expand Down Expand Up @@ -1151,7 +1152,8 @@ public static ApplicationBean convertStubApplicationContextToApplicationDefiniti
}

ApplicationBean applicationDefinition = new ApplicationBean();
applicationDefinition.setApplicationUuid(applicationContext.getApplicationId());
applicationDefinition.setApplicationUuid(applicationContext.getApplicationUuid());
applicationDefinition.setApplicationId(applicationContext.getApplicationId());
applicationDefinition.setAlias(applicationContext.getAlias());
applicationDefinition.setMultiTenant(applicationContext.getMultiTenant());
applicationDefinition.setName(applicationContext.getName());
Expand Down
Loading