Merge branch 'application-mgt-new' of https://gitlab.com/tcdlpds/carbon-device-mgt into application-mgt-new

feature/appm-store/pbac
Jayasanka 6 years ago
commit 7c25663022

@ -155,6 +155,28 @@ public class LifecycleStateManager {
}
}
public boolean isInitialState(String state) throws LifecycleManagementException {
State currentState = getMatchingState(state);
if (currentState != null) {
return currentState.isInitialState();
} else {
String msg = "Couldn't find a lifecycle state that matches with " + state + " state.";
log.error(msg);
throw new LifecycleManagementException(msg);
}
}
public boolean isEndState(String state) throws LifecycleManagementException {
State currentState = getMatchingState(state);
if (currentState != null) {
return currentState.isEndState();
} else {
String msg = "Couldn't find a lifecycle state that matches with " + state + " state.";
log.error(msg);
throw new LifecycleManagementException(msg);
}
}
public String getInitialState() throws LifecycleManagementException {
String initialState = null;
for (Map.Entry<String, State> stringStateEntry : lifecycleStates.entrySet()) {
@ -198,6 +220,23 @@ public class LifecycleStateManager {
return false;
}
public boolean isUpdatable(String state) {
State currentState = getMatchingState(state);
if (currentState.isAppUpdatable()) {
return true;
}
return false;
}
public boolean isInstallable(String state) {
State currentState = getMatchingState(state);
if (currentState.isAppInstallable()) {
return true;
}
return false;
}
public void setLifecycleStates(Map<String, State> lifecycleStates) {
this.lifecycleStates = lifecycleStates;
}

@ -24,6 +24,8 @@ public class LifecycleManagementTest {
private final String NON_UPDATABLE_STATE = "Removed";
private final String INSTALLABLE_STATE = "Published";
private final String UNINSTALlABLE_STATE = "Removed";
private final String INITIAL_STATE = "Created";
private final String END_STATE = "Removed";
@BeforeClass
@ -49,36 +51,83 @@ public class LifecycleManagementTest {
proceedingStates.contains(BOGUS_STATE.toUpperCase()));
}
// @Test
// public void CheckUpdatableState() {
// boolean isUpdatableState = lifecycleStateManager.isUpdatableState(UPDATABLE_STATE);
// System.out.println(isUpdatableState);
// Assert.assertTrue("Updatable state: " + UPDATABLE_STATE, isUpdatableState);
// }
//
// @Test
// public void CheckNonUpdatableState() {
// boolean isUpdatableState = lifecycleStateManager.isUpdatableState(NON_UPDATABLE_STATE);
// Assert.assertFalse("Non Updatable state: " + NON_UPDATABLE_STATE, isUpdatableState);
// }
//
// @Test
// public void CheckInstallableState() {
// boolean isInstallableState = lifecycleStateManager.isInstallableState(INSTALLABLE_STATE);
// Assert.assertTrue("Installable state: " + INSTALLABLE_STATE, isInstallableState);
// }
//
// @Test
// public void CheckUnInstallableState() {
// boolean isInstallableState = lifecycleStateManager.isInstallableState(UNINSTALlABLE_STATE);
// Assert.assertFalse("UnInstallable state: " + UNINSTALlABLE_STATE, isInstallableState);
// }
//
// @Test
// public void check() {
// Set<String> proceedingStates = lifecycleStateManager.getNextLifecycleStates(CURRENT_STATE);
// Assert.assertFalse("Invalid proceeding state of: " + CURRENT_STATE,
// proceedingStates.contains(BOGUS_STATE.toUpperCase()));
// }
@Test
public void CheckUpdatableState() throws LifecycleManagementException {
boolean isUpdatable = lifecycleStateManager.isUpdatable(UPDATABLE_STATE);
System.out.println(isUpdatable);
Assert.assertTrue("Updatable state: " + UPDATABLE_STATE, isUpdatable);
}
@Test
public void CheckNonUpdatableState() throws LifecycleManagementException {
boolean isUpdatable = lifecycleStateManager.isUpdatable(NON_UPDATABLE_STATE);
Assert.assertFalse("Non Updatable state: " + NON_UPDATABLE_STATE, isUpdatable);
}
@Test
public void CheckInstallableState() throws LifecycleManagementException {
boolean isInstallable = lifecycleStateManager.isInstallable(INSTALLABLE_STATE);
Assert.assertTrue("Installable state: " + INSTALLABLE_STATE, isInstallable);
}
@Test
public void CheckUnInstallableState() throws LifecycleManagementException {
boolean isInstallable = lifecycleStateManager.isInstallable(UNINSTALlABLE_STATE);
Assert.assertFalse("UnInstallable state: " + UNINSTALlABLE_STATE, isInstallable);
}
@Test
public void CheckGetInitialState() throws LifecycleManagementException {
boolean isInitialState = lifecycleStateManager.getInitialState().equalsIgnoreCase(INITIAL_STATE);
Assert.assertTrue("Initial state: " + INITIAL_STATE, isInitialState);
}
@Test
public void CheckGetNonInitialState() throws LifecycleManagementException {
boolean isInitialState = lifecycleStateManager.getInitialState().equalsIgnoreCase(END_STATE);
Assert.assertFalse("Non initial state: " + END_STATE, isInitialState);
}
@Test
public void CheckGetEndState() throws LifecycleManagementException {
boolean isEndState = lifecycleStateManager.getEndState().equalsIgnoreCase(END_STATE);
Assert.assertTrue("End State: " + END_STATE, isEndState);
}
@Test
public void CheckGetNonEndState() throws LifecycleManagementException {
boolean isEndState = lifecycleStateManager.getEndState().equalsIgnoreCase(INITIAL_STATE);
Assert.assertFalse("Non End State : " + INITIAL_STATE, isEndState);
}
@Test
public void CheckIsInitialState() throws LifecycleManagementException {
boolean isInitialState = lifecycleStateManager.isInitialState(INITIAL_STATE);
Assert.assertTrue("Initial state: " + INITIAL_STATE, isInitialState);
}
@Test
public void CheckIsNonInitialState() throws LifecycleManagementException {
boolean isInitialState = lifecycleStateManager.isInitialState(END_STATE);
Assert.assertFalse("Non Initial state: " + END_STATE, isInitialState);
}
@Test
public void CheckIsEndState() throws LifecycleManagementException {
boolean isEndState = lifecycleStateManager.isEndState(END_STATE);
Assert.assertTrue("End state: " + END_STATE, isEndState);
}
@Test
public void CheckIsNonEndState() throws LifecycleManagementException {
boolean isEndState = lifecycleStateManager.isEndState(INITIAL_STATE);
Assert.assertFalse("Non End state: " + INITIAL_STATE, isEndState);
}
@Test
public void check() {
Set<String> proceedingStates = lifecycleStateManager.getNextLifecycleStates(CURRENT_STATE);
Assert.assertFalse("Invalid proceeding state of: " + CURRENT_STATE,
proceedingStates.contains(BOGUS_STATE.toUpperCase()));
}
}

@ -19,6 +19,7 @@ package org.wso2.carbon.device.application.mgt.handler.util;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.HttpResponse;
@ -27,6 +28,8 @@ import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.json.JSONException;
import org.json.JSONObject;
import org.wso2.carbon.device.application.mgt.common.ProxyResponse;
import javax.servlet.http.HttpServletRequest;
@ -201,18 +204,30 @@ public class HandlerUtil {
return;
}
Gson gson = new Gson();
resp.setStatus(proxyResponse.getCode());
resp.setContentType("application/json");
resp.setCharacterEncoding("UTF-8");
proxyResponse.setExecutorResponse(null);
try (PrintWriter writer = resp.getWriter()) {
if (proxyResponse.getCode() == HttpStatus.SC_OK){
writer.write(gson.toJson(proxyResponse.getData()));
} else{
writer.write(proxyResponse.getData());
JSONObject response = new JSONObject();
String redirectUrl = proxyResponse.getUrl();
String responseData = proxyResponse.getData();
if (!StringUtils.isEmpty(redirectUrl)){
response.put("url", redirectUrl);
}
if (!StringUtils.isEmpty(responseData)){
try {
JSONObject responseDataJsonObj = new JSONObject(responseData);
response.put("data", responseDataJsonObj);
} catch (JSONException e) {
log.debug("Response data is not valid json string");
response.put("data", responseData);
}
}
try (PrintWriter writer = resp.getWriter()) {
writer.write(response.toString());
}
}
}

Loading…
Cancel
Save