mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'application-mgt-new' of https://gitlab.com/tcdlpds/carbon-device-mgt into application-mgt-new
This commit is contained in:
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…
Reference in New Issue
Block a user