diff --git a/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/AppOperations.java b/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/AppOperations.java index ebb28729..de872355 100644 --- a/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/AppOperations.java +++ b/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/AppOperations.java @@ -37,13 +37,16 @@ import java.util.HashMap; */ public class AppOperations { + private static String appmPublisherMobileBinariesUrl = "/api/appm/publisher/v1.1/apps/mobile/binaries"; + private static String appmPublisherResourcesUrl = "/api/appm/publisher/v1.1/apps/static-contents?appType=mobileapp"; + private static String appmPublisherAppsUrl = "/api/appm/publisher/v1.1/apps/mobileapp"; + + public static MobileApplication uploadApplication(String platform, String appName, String appContentType) { - String appUploadEndpoint = - EMMQSGConfig.getInstance().getEmmHost() + "/api/appm/publisher/v1.1/apps/mobile/binaries"; - String filePath = "apps" + File.separator + platform + File.separator + appName; - HTTPResponse - httpResponse = HTTPInvoker.uploadFile(appUploadEndpoint, filePath, appContentType); + String appUploadEndpoint = EMMQSGConfig.getInstance().getEmmHost() + appmPublisherMobileBinariesUrl; + String filePath = "apps" + File.separator + platform + File.separator + appName; + HTTPResponse httpResponse = HTTPInvoker.uploadFile(appUploadEndpoint, filePath, appContentType); if (Constants.HTTPStatus.OK == httpResponse.getResponseCode()) { JSONObject appMeta = null; MobileApplication application = new MobileApplication(); @@ -70,8 +73,8 @@ public class AppOperations { } private static String uploadAsset(String path) { - String resUploadEndpoint = - EMMQSGConfig.getInstance().getEmmHost() + "/api/appm/publisher/v1.1/apps/static-contents?appType=mobileapp"; + + String resUploadEndpoint = EMMQSGConfig.getInstance().getEmmHost() + appmPublisherResourcesUrl; HTTPResponse httpResponse = HTTPInvoker.uploadFile(resUploadEndpoint, path, "image/jpeg"); if (Constants.HTTPStatus.OK == httpResponse.getResponseCode()) { JSONObject resp = null; @@ -86,6 +89,7 @@ public class AppOperations { } public static MobileApplication uploadAssets(String platform, MobileApplication application) { + String assetDir = "apps" + File.separator + platform + File.separator + "images"; //Upload the icon file String imgFile = assetDir + File.separator + "icon.jpg"; @@ -141,7 +145,8 @@ public class AppOperations { public static boolean addApplication(String name, MobileApplication mblApp, boolean isEnterpriseApp) { HashMap headers = new HashMap(); - String appEndpoint = EMMQSGConfig.getInstance().getEmmHost() + "/api/appm/publisher/v1.1/apps/mobileapp"; + + String appEndpoint = EMMQSGConfig.getInstance().getEmmHost() + appmPublisherAppsUrl; //Set the application payload JSONObject application = new JSONObject(); application.put("name", name); @@ -160,7 +165,7 @@ public class AppOperations { application.put("provider", "admin"); application.put("displayName", name); application.put("category", "Business"); - application.put("icon", mblApp.getIcon()); + application.put("iconFile", mblApp.getIcon()); application.put("version", mblApp.getVersion()); application.put("banner", mblApp.getBanner()); application.put("platform", mblApp.getPlatform()); diff --git a/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/QSGExecutor.java b/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/QSGExecutor.java index 2b4edc33..9ae62475 100644 --- a/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/QSGExecutor.java +++ b/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/QSGExecutor.java @@ -30,10 +30,20 @@ import java.util.*; */ public class QSGExecutor { + private static String iotAdminUser= "milan"; + private static String iotAdminPassword = "milan@IoTS"; + private static String iotAdminEmail = "milan@mobx.com"; + + private static String iotMobileUser = "ryan"; + private static String iotMobileUserPassword = "ryan@IoTS"; + private static String roleName = "iotMobileUser"; + public static void main(String[] args) { boolean status = false; - Scanner scanner = new Scanner(System.in); + // prompt for the user's name + /* + Scanner scanner = new Scanner(System.in); System.out.print("Enter your email address and press enter : "); String email = scanner.next(); if (!QSGUtils.isValidEmailAddress(email)) { @@ -42,7 +52,10 @@ public class QSGExecutor { email = scanner.next(); } while (!QSGUtils.isValidEmailAddress(email)); } - //Setup the OAuth token + */ + String email = "ryan@example.com"; + + //Setup the OAuth token String token = QSGUtils.getOAuthToken(); if (token == null) { System.out.println("Unable to get the OAuth token. Please check the config.properties file."); @@ -50,87 +63,92 @@ public class QSGExecutor { } HTTPInvoker.oAuthToken = token; //Creates the admin user - status = UserOperations.createUser("tom", "tom@mobx.com", true); + + status = UserOperations.createUser(iotAdminUser, iotAdminEmail, true); if (!status) { System.out.println("Unable to create the admin user. Please check the config.properties file."); System.exit(0); } - status = UserOperations.changePassword("tom", "tomemm"); + + status = UserOperations.changePassword(iotAdminUser, iotAdminPassword); if (!status) { - System.out.println("Unable to change the password of the admin user. Terminating the EMM QSG now."); + System.out.println("Unable to change the password of the admin user. Terminating the IoTS QSG now."); System.exit(0); } + //Creates the emm user - status = UserOperations.createUser("kim", email, false); + + status = UserOperations.createUser(iotMobileUser, email, false); if (!status) { - System.out.println("Unable to create the emm user Kim. Terminating the EMM QSG now."); + System.out.println("Unable to create the iot user ryan. Terminating the IoTS QSG now."); System.exit(0); } - status = UserOperations.changePassword("kim", "kimemm"); + + status = UserOperations.changePassword(iotMobileUser, iotMobileUserPassword); if (!status) { - System.out.println("Unable to change the password of the emm user. Terminating the EMM QSG now."); + System.out.println("Unable to change the password of the iot user. Terminating the IoTS QSG now."); System.exit(0); } + //Creates the emm-user role - status = UserOperations.createRole(Constants.EMM_USER_ROLE, new String[] { "kim" }); + status = UserOperations.createRole(roleName, new String[] {iotMobileUser}); if (!status) { - System.out.println("Unable to create the emm user role. Terminating the EMM QSG now."); + System.out.println("Unable to create the emm user role. Terminating the IoTs QSG now."); System.exit(0); } //Add the android policy status = PolicyOperations.createPasscodePolicy("android-passcode-policy1", Constants.DeviceType.ANDROID); if (!status) { - System.out.println("Unable to create the android passcode policy. Terminating the EMM QSG now."); + System.out.println("Unable to create the android passcode policy. Terminating the IoTS QSG now."); System.exit(0); } //Add the windows policy status = PolicyOperations.createPasscodePolicy("windows-passcode-policy1", Constants.DeviceType.WINDOWS); if (!status) { - System.out.println("Unable to create the windows passcode policy. Terminating the EMM QSG now."); + System.out.println("Unable to create the windows passcode policy. Terminating the IoTS QSG now."); System.exit(0); } //Add the iOS policy status = PolicyOperations.createPasscodePolicy("ios-passcode-policy1", Constants.DeviceType.IOS); if (!status) { - System.out.println("Unable to create the ios passcode policy. Terminating the EMM QSG now."); + System.out.println("Unable to create the ios passcode policy. Terminating the IoTS QSG now."); System.exit(0); } //Upload the android application MobileApplication application = AppOperations.uploadApplication(Constants.DeviceType.ANDROID, "catalog.apk", "application/vnd.android.package-archive"); if (application == null) { - System.out.println("Unable to upload the sample android application. Terminating the EMM QSG now."); + System.out.println("Unable to upload the sample android application. Terminating the IoTS QSG now."); System.exit(0); } //Upload the assets application = AppOperations.uploadAssets(Constants.DeviceType.ANDROID, application); if (application == null) { System.out.println( - "Unable to upload the assets for sample android application. Terminating the EMM QSG now."); + "Unable to upload the assets for sample android application. Terminating the IoTS QSG now."); System.exit(0); } //Create application entry in publisher status = AppOperations.addApplication("Catalog", application, true); if (!status) { - System.out.println("Unable to create the mobile application. Terminating the EMM QSG now."); + System.out.println("Unable to create the android mobile application. Terminating the IoTS QSG now."); System.exit(0); } //Upload the ios application - MobileApplication iOSApplication = AppOperations.uploadApplication(Constants.DeviceType.IOS, "PNDemo.ipa", - "application/octet-stream"); + MobileApplication iOSApplication = AppOperations.uploadApplication(Constants.DeviceType.IOS, "PNDemo.ipa","application/octet-stream"); iOSApplication.setVersion("1.0.0"); //Upload the assets iOSApplication = AppOperations.uploadAssets(Constants.DeviceType.IOS, iOSApplication); if (iOSApplication == null) { System.out.println( - "Unable to upload the assets for sample iOS application. Terminating the EMM QSG now."); + "Unable to upload the assets for sample iOS application. Terminating the IoTS QSG now."); System.exit(0); } //Create application entry in publisher status = AppOperations.addApplication("WSO2Con", iOSApplication, true); if (!status) { - System.out.println("Unable to create the mobile application. Terminating the EMM QSG now."); + System.out.println("Unable to create the iOS mobile application. Terminating the IoTS QSG now."); System.exit(0); } } diff --git a/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/UserOperations.java b/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/UserOperations.java index a3fa0ad3..4c238f31 100644 --- a/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/UserOperations.java +++ b/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/UserOperations.java @@ -42,11 +42,11 @@ public class UserOperations { JSONArray roles = new JSONArray(); if (isAdmin) { roles.add("admin"); - userData.put("firstname", "Tom"); + userData.put("firstname", "Milan"); userData.put("lastname", "Admin"); } else { userData.put("password", "kimemmtrial"); - userData.put("firstname", "Kim"); + userData.put("firstname", "Ryan"); userData.put("lastname", "User"); } userData.put("roles", roles); @@ -82,6 +82,8 @@ public class UserOperations { String permissions = "/permission/admin/device-mgt/certificates/manage," + "/permission/admin/device-mgt/certificates/view," + "/permission/admin/device-mgt/configurations/view," + + "/permission/admin/device-mgt/api," + + "/permission/admin/device-mgt/devices/enroll," + "/permission/admin/device-mgt/devices/enroll/android," + "/permission/admin/device-mgt/devices/enroll/ios," + "/permission/admin/device-mgt/devices/owning-device/view," + diff --git a/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/utils/HTTPInvoker.java b/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/utils/HTTPInvoker.java index 7a314ed7..733310be 100644 --- a/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/utils/HTTPInvoker.java +++ b/modules/core/scripts/mobile-qsg/src/main/java/org/wso2/mdm/qsg/utils/HTTPInvoker.java @@ -277,6 +277,7 @@ public class HTTPInvoker { for (String key : headers.keySet()) { post.setHeader(key, headers.get(key)); } + post.setHeader(Constants.Header.AUTH, OAUTH_BEARER + oAuthToken); response = httpclient.execute(post); } catch (UnsupportedEncodingException e) {