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 {
|
public String getInitialState() throws LifecycleManagementException {
|
||||||
String initialState = null;
|
String initialState = null;
|
||||||
for (Map.Entry<String, State> stringStateEntry : lifecycleStates.entrySet()) {
|
for (Map.Entry<String, State> stringStateEntry : lifecycleStates.entrySet()) {
|
||||||
@ -198,6 +220,23 @@ public class LifecycleStateManager {
|
|||||||
return false;
|
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) {
|
public void setLifecycleStates(Map<String, State> lifecycleStates) {
|
||||||
this.lifecycleStates = lifecycleStates;
|
this.lifecycleStates = lifecycleStates;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,6 +24,8 @@ public class LifecycleManagementTest {
|
|||||||
private final String NON_UPDATABLE_STATE = "Removed";
|
private final String NON_UPDATABLE_STATE = "Removed";
|
||||||
private final String INSTALLABLE_STATE = "Published";
|
private final String INSTALLABLE_STATE = "Published";
|
||||||
private final String UNINSTALlABLE_STATE = "Removed";
|
private final String UNINSTALlABLE_STATE = "Removed";
|
||||||
|
private final String INITIAL_STATE = "Created";
|
||||||
|
private final String END_STATE = "Removed";
|
||||||
|
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
@ -49,36 +51,83 @@ public class LifecycleManagementTest {
|
|||||||
proceedingStates.contains(BOGUS_STATE.toUpperCase()));
|
proceedingStates.contains(BOGUS_STATE.toUpperCase()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Test
|
@Test
|
||||||
// public void CheckUpdatableState() {
|
public void CheckUpdatableState() throws LifecycleManagementException {
|
||||||
// boolean isUpdatableState = lifecycleStateManager.isUpdatableState(UPDATABLE_STATE);
|
boolean isUpdatable = lifecycleStateManager.isUpdatable(UPDATABLE_STATE);
|
||||||
// System.out.println(isUpdatableState);
|
System.out.println(isUpdatable);
|
||||||
// Assert.assertTrue("Updatable state: " + UPDATABLE_STATE, isUpdatableState);
|
Assert.assertTrue("Updatable state: " + UPDATABLE_STATE, isUpdatable);
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @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 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.Gson;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.apache.http.HttpResponse;
|
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.client.methods.HttpPost;
|
||||||
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
import org.apache.http.impl.client.HttpClients;
|
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 org.wso2.carbon.device.application.mgt.common.ProxyResponse;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
@ -201,17 +204,29 @@ public class HandlerUtil {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Gson gson = new Gson();
|
|
||||||
resp.setStatus(proxyResponse.getCode());
|
resp.setStatus(proxyResponse.getCode());
|
||||||
resp.setContentType("application/json");
|
resp.setContentType("application/json");
|
||||||
resp.setCharacterEncoding("UTF-8");
|
resp.setCharacterEncoding("UTF-8");
|
||||||
proxyResponse.setExecutorResponse(null);
|
|
||||||
try (PrintWriter writer = resp.getWriter()) {
|
JSONObject response = new JSONObject();
|
||||||
if (proxyResponse.getCode() == HttpStatus.SC_OK){
|
String redirectUrl = proxyResponse.getUrl();
|
||||||
writer.write(gson.toJson(proxyResponse.getData()));
|
String responseData = proxyResponse.getData();
|
||||||
} else{
|
|
||||||
writer.write(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