From b9e0b099a15c015f70fbed6ae4f0de957954140a Mon Sep 17 00:00:00 2001 From: Hasunie Date: Wed, 7 Dec 2016 08:37:00 +0530 Subject: [PATCH 01/14] fixing device update issue --- .../mgt/core/dao/impl/AbstractDeviceDAOImpl.java | 15 ++++++++------- .../DeviceManagementProviderServiceImpl.java | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java index 3c08f86339..d5b6128daf 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java @@ -82,16 +82,17 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO { int rows; try { conn = this.getConnection(); - String sql = "UPDATE DM_DEVICE SET DESCRIPTION = ?, LAST_UPDATED_TIMESTAMP = ? " + + String sql = "UPDATE DM_DEVICE SET NAME = ?, DESCRIPTION = ?, LAST_UPDATED_TIMESTAMP = ? " + "WHERE DEVICE_TYPE_ID = (SELECT ID FROM DM_DEVICE_TYPE WHERE NAME = ? AND PROVIDER_TENANT_ID = ?) " + "AND DEVICE_IDENTIFICATION = ? AND TENANT_ID = ?"; stmt = conn.prepareStatement(sql, new String[] {"id"}); - stmt.setString(1, device.getDescription()); - stmt.setTimestamp(2, new Timestamp(new Date().getTime())); - stmt.setString(3, device.getType()); - stmt.setInt(4, tenantId); - stmt.setString(5, device.getDeviceIdentifier()); - stmt.setInt(6, tenantId); + stmt.setString(1, device.getName()); + stmt.setString(2, device.getDescription()); + stmt.setTimestamp(3, new Timestamp(new Date().getTime())); + stmt.setString(4, device.getType()); + stmt.setInt(5, tenantId); + stmt.setString(6, device.getDeviceIdentifier()); + stmt.setInt(7, tenantId); rows = stmt.executeUpdate(); return (rows > 0); } catch (SQLException e) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java index aa6a9ba080..88a2705bb4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java @@ -274,7 +274,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv Device currentDevice = deviceDAO.getDevice(deviceIdentifier, tenantId); device.setId(currentDevice.getId()); device.getEnrolmentInfo().setId(currentDevice.getEnrolmentInfo().getId()); - + device.setName(currentDevice.getName()); deviceDAO.updateDevice(device, tenantId); enrollmentDAO.updateEnrollment(device.getEnrolmentInfo()); DeviceManagementDAOFactory.commitTransaction(); From 630a1105a91ad89a83d37ce62e94198ccd032df6 Mon Sep 17 00:00:00 2001 From: Madawa Soysa Date: Thu, 8 Dec 2016 10:29:12 +0530 Subject: [PATCH 02/14] IOTS-296: Refactoring generic policy unit code This code is refactored to use the device type specific operation mod functions (payload generation etc.) in the device type plugins. --- .../public/js/policy-create.js | 32 ++++++++--------- .../public/js/policy-edit.js | 34 +++++++++---------- .../cdmf.unit.policy.view/public/js/view.js | 8 +++-- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js index f615fb4990..63807df7d9 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js @@ -18,7 +18,6 @@ var stepForwardFrom = {}; var stepBackFrom = {}; var policy = {}; -var configuredOperations = []; var validateInline = {}; var clearInline = {}; var validateStep = {}; @@ -173,7 +172,11 @@ stepForwardFrom["policy-platform"] = function (actionButton) { * Forward action of policy profile page. Generates policy profile payload. */ stepForwardFrom["policy-profile"] = function () { - policy["profile"] = operationModule.generateProfile(policy["platform"], configuredOperations); + /* + generatePolicyProfile() function should be implemented in plugin side and should include the logic to build the + policy profile object. + */ + policy["profile"] = generatePolicyProfile(); // updating next-page wizard title with selected platform $("#policy-criteria-page-wizard-title").text("ADD " + policy["platform"] + " POLICY"); }; @@ -182,8 +185,11 @@ stepForwardFrom["policy-profile"] = function () { * Backward action of policy profile page. Moves back to platform selection step. */ stepBackFrom["policy-profile"] = function () { - // reinitialize configuredOperations - configuredOperations = []; + /* + resetPolicyProfile() function should be implemented in plugin side and should include the logic to reset the policy + profile object. + */ + resetPolicyProfile(); }; /** @@ -359,18 +365,12 @@ stepForwardFrom["policy-naming"] = function () { }; var savePolicy = function (policy, isActive, serviceURL) { - var profilePayloads = []; - // traverses key by key in policy["profile"] - var key; - for (key in policy["profile"]) { - if (policy["profile"].hasOwnProperty(key)) { - profilePayloads.push({ - "featureCode": key, - "deviceType": policy["platform"], - "content": policy["profile"][key] - }); - } - } + /* + generateProfileFeaturesList() should be implemented in the plugin side and should include logic to build the + profilePayloads array which contains objects, {featureCode:"value", deviceType:"value", content:"value"}. + policy["profile"] object will be available for the method which returns from the generatePolicyProfile() function. + */ + var profilePayloads = generateProfileFeaturesList(); $.each(profilePayloads, function (i, item) { $.each(item.content, function (key, value) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.edit/public/js/policy-edit.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.edit/public/js/policy-edit.js index ce37d8d6a9..f06ae43796 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.edit/public/js/policy-edit.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.edit/public/js/policy-edit.js @@ -20,7 +20,6 @@ var validateStep = {}; var skipStep = {}; var stepForwardFrom = {}; var stepBackFrom = {}; -var configuredOperations = []; var policy = {}; var currentlyEffected = {}; @@ -200,9 +199,11 @@ skipStep["policy-platform"] = function (policyPayloadObj) { script.type = 'text/javascript'; script.src = policyOperationsScriptSrc; $(".wr-advance-operations").prepend(script); - var configuredOperations = operationModule.populateProfile(policy["platform"], - policyPayloadObj["profile"]["profileFeaturesList"]); - polulateProfileOperations(configuredOperations); + /* + This method should be implemented in the relevant plugin side and should include the logic to + populate the policy profile in the plugin specific UI. + */ + polulateProfileOperations(policyPayloadObj["profile"]["profileFeaturesList"]); } }); }); @@ -227,7 +228,11 @@ skipStep["policy-platform"] = function (policyPayloadObj) { * Forward action of policy profile page. Generates policy profile payload. */ stepForwardFrom["policy-profile"] = function () { - policy["profile"] = operationModule.generateProfile(policy["platform"], configuredOperations); + /* + generatePolicyProfile() function should be implemented in plugin side and should include the logic to build the + policy profile object. + */ + policy["profile"] = generatePolicyProfile(); // updating next-page wizard title with selected platform $("#policy-criteria-page-wizard-title").text("EDIT " + policy["platform"] + " POLICY - " + policy["name"]); }; @@ -415,19 +420,12 @@ var getParameterByName = function (name) { }; var updatePolicy = function (policy, state) { - var profilePayloads = []; - // traverses key by key in policy["profile"] - var key; - for (key in policy["profile"]) { - - if (policy["profile"].hasOwnProperty(key)) { - profilePayloads.push({ - "featureCode": key, - "deviceType": policy["platform"], - "content": policy["profile"][key] - }); - } - } + /* + generateProfileFeaturesList() should be implemented in the plugin side and should include logic to build the + profilePayloads array which contains objects, {featureCode:"value", deviceType:"value", content:"value"}. + policy["profile"] object will be available for the method which returns from the generatePolicyProfile() function. + */ + var profilePayloads = generateProfileFeaturesList(); $.each(profilePayloads, function (i, item) { $.each(item.content, function (key, value) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.view/public/js/view.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.view/public/js/view.js index b7bea7684f..2d045b864f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.view/public/js/view.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.view/public/js/view.js @@ -86,9 +86,11 @@ var displayPolicy = function (policyPayloadObj) { script.type = 'text/javascript'; script.src = policyOperationsScriptSrc; $(".wr-advance-operations").prepend(script); - var previouslyConfiguredOperations = operationModule.populateProfile(policy["platform"], - policyPayloadObj["profile"]["profileFeaturesList"]); - polulateProfileOperations(previouslyConfiguredOperations); + /* + This method should be implemented in the relevant plugin side and should include the logic to + populate the policy profile in the plugin specific UI. + */ + polulateProfileOperations(policyPayloadObj["profile"]["profileFeaturesList"]); } }); }); From d911281ad1459bd75454e1986f38ca36b498e779 Mon Sep 17 00:00:00 2001 From: geethkokila Date: Thu, 8 Dec 2016 12:34:50 +0530 Subject: [PATCH 03/14] Merging master branch with release-2.0.x --- .../lifecycle/util/AnnotationProcessor.java | 2 +- .../ExtendedFileProtocolIteratorFactory.java | 2 +- .../util/ExtendedIteratorFactory.java | 4 +- .../pom.xml | 6 +- .../mgt/core/impl/CertificateGenerator.java | 154 ++-- .../provider/gcm/GCMNotificationStrategy.java | 9 +- .../mgt/jaxrs/beans/PasswordResetWrapper.java | 3 +- .../device/mgt/jaxrs/beans/PolicyList.java | 3 +- .../device/mgt/jaxrs/beans/Profile.java | 38 +- .../mgt/jaxrs/beans/ProfileFeature.java | 31 +- .../mgt/jaxrs/service/api/Dashboard.java | 713 ++++++++++++++++-- .../impl/UserManagementServiceImpl.java | 17 + .../ExtendedFileProtocolIteratorFactory.java | 2 +- .../permission/ExtendedIteratorFactory.java | 4 +- .../carbon/device/mgt/core/dao/DeviceDAO.java | 11 + .../core/dao/impl/AbstractDeviceDAOImpl.java | 34 + .../mgt/core/search/mgt/dao/SearchDAO.java | 9 +- .../search/mgt/dao/impl/SearchDAOImpl.java | 435 ++++++----- .../core/search/mgt/impl/ProcessorImpl.java | 202 ++++- .../search/mgt/impl/QueryBuilderImpl.java | 63 +- .../DeviceManagementProviderService.java | 9 + .../DeviceManagementProviderServiceImpl.java | 68 ++ .../src/test/resources/testng.xml | 2 +- .../devicemgt/app/conf/app-conf.json | 6 +- .../app/modules/business-controllers/user.js | 39 +- .../pages/cdmf.page.dashboard/dashboard.hbs | 4 +- .../public/js/bottomJs.js | 243 +++--- .../public/templates/device-listing.hbs | 2 +- .../pages/cdmf.page.device.search/search.hbs | 21 +- .../pages/cdmf.page.device.search/search.js | 44 -- .../app/pages/cdmf.page.sign-in/sign-in.hbs | 4 +- .../cdmf.page.users/public/js/listing.js | 6 +- .../app/pages/cdmf.page.users/users.hbs | 4 +- .../configuration.hbs | 2 +- .../user-menu.hbs | 6 +- .../devicemgt/error-pages/error400.html | 33 + .../devicemgt/error-pages/error401.html | 33 + .../devicemgt/error-pages/error403.html | 34 + .../devicemgt/error-pages/error404.html | 33 + .../devicemgt/error-pages/error405.html | 33 + .../devicemgt/error-pages/error500.html | 32 + .../jaggeryapps/devicemgt/jaggery.conf | 82 +- .../app/pages/uuf.page.sign-in/sign-in.hbs | 2 +- .../jaggeryapps/uuf-template-app/jaggery.conf | 49 +- .../uuf-template-app/lib/modules/auth/auth.js | 40 +- .../pom.xml | 2 + .../wso2/carbon/policy/mgt/common/Policy.java | 140 +++- .../carbon/policy/mgt/common/Profile.java | 65 +- .../policy/mgt/common/ProfileFeature.java | 39 +- .../oauth/impl/LocalOAuthValidator.java | 4 + .../src/main/resources/conf/cdm-config.xml | 1 + 51 files changed, 2078 insertions(+), 746 deletions(-) delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/search.js create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error400.html create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error401.html create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error403.html create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error404.html create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error405.html create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error500.html diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/AnnotationProcessor.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/AnnotationProcessor.java index d36e1442f4..5611b563ca 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/AnnotationProcessor.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/AnnotationProcessor.java @@ -359,7 +359,7 @@ public class AnnotationProcessor { * @param servletContext * @return null if cannot determin /WEB-INF/classes */ - public static URL findWebInfClassesPath(ServletContext servletContext) + private static URL findWebInfClassesPath(ServletContext servletContext) { String path = servletContext.getRealPath("/WEB-INF/classes"); if (path == null) return null; diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/ExtendedFileProtocolIteratorFactory.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/ExtendedFileProtocolIteratorFactory.java index 34936f61c8..3d5ad74087 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/ExtendedFileProtocolIteratorFactory.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/ExtendedFileProtocolIteratorFactory.java @@ -21,7 +21,7 @@ import java.io.File; import java.io.IOException; import java.net.URL; -public class ExtendedFileProtocolIteratorFactory implements DirectoryIteratorFactory { +class ExtendedFileProtocolIteratorFactory implements DirectoryIteratorFactory { private static final String ENCODING_SCHEME = "UTF-8"; diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/ExtendedIteratorFactory.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/ExtendedIteratorFactory.java index e20b4ba467..2fe56fc930 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/ExtendedIteratorFactory.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/util/ExtendedIteratorFactory.java @@ -25,11 +25,11 @@ import java.io.IOException; import java.net.URL; import java.util.concurrent.ConcurrentHashMap; -public class ExtendedIteratorFactory { +class ExtendedIteratorFactory { private static final ConcurrentHashMap registry = new ConcurrentHashMap(); - public static StreamIterator create(URL url, Filter filter) throws IOException { + static StreamIterator create(URL url, Filter filter) throws IOException { String urlString = url.toString(); if(urlString.endsWith("!/")) { urlString = urlString.substring(4); diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index bae82a92b0..cf23d12014 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -50,7 +50,10 @@ ${project.artifactId} ${carbon.device.mgt.version} Device Management Core Bundle - org.wso2.carbon.certificate.mgt.core.internal + + org.wso2.carbon.certificate.mgt.core.internal, + org.wso2.carbon.certificate.mgt.core.util + org.osgi.framework, org.osgi.service.component, @@ -95,6 +98,7 @@ !org.wso2.carbon.certificate.mgt.core.internal.*, + !org.wso2.carbon.certificate.mgt.core.util, org.wso2.carbon.certificate.mgt.core.* diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/src/main/java/org/wso2/carbon/certificate/mgt/core/impl/CertificateGenerator.java b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/src/main/java/org/wso2/carbon/certificate/mgt/core/impl/CertificateGenerator.java index 854d88794a..8f47afc688 100755 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/src/main/java/org/wso2/carbon/certificate/mgt/core/impl/CertificateGenerator.java +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/src/main/java/org/wso2/carbon/certificate/mgt/core/impl/CertificateGenerator.java @@ -526,61 +526,61 @@ public class CertificateGenerator { } } - private PrivateKey getSignerKey(String signerPrivateKeyPath) throws KeystoreException { - - File file = new File(signerPrivateKeyPath); - FileInputStream fis; - - try { - fis = new FileInputStream(file); - DataInputStream dis = new DataInputStream(fis); - byte[] keyBytes = new byte[(int) file.length()]; - dis.readFully(keyBytes); - dis.close(); - - String temp = new String(keyBytes); - String privateKeyPEM = temp.replace( - CertificateManagementConstants.RSA_PRIVATE_KEY_BEGIN_TEXT, CertificateManagementConstants.EMPTY_TEXT); - privateKeyPEM = privateKeyPEM - .replace(CertificateManagementConstants.RSA_PRIVATE_KEY_END_TEXT, CertificateManagementConstants.EMPTY_TEXT); - - byte[] decoded = Base64.decodeBase64(privateKeyPEM); - PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec(decoded); - KeyFactory keyFactory = KeyFactory.getInstance(CertificateManagementConstants.RSA); - - return keyFactory.generatePrivate(encodedKeySpec); - } catch (FileNotFoundException e) { - String errorMsg = "Private key file not found in getSignerKey"; - throw new KeystoreException(errorMsg, e); - } catch (IOException e) { - String errorMsg = "Input output issue in getSignerKey"; - throw new KeystoreException(errorMsg, e); - } catch (NoSuchAlgorithmException e) { - String errorMsg = "Algorithm not not found in getSignerKey"; - throw new KeystoreException(errorMsg, e); - } catch (InvalidKeySpecException e) { - String errorMsg = "Invalid key found in getSignerKey"; - throw new KeystoreException(errorMsg, e); - } - } - - private X509Certificate getSigner(String signerCertificatePath) throws KeystoreException { - - X509Certificate certificate; - try { - CertificateFactory certificateFactory = CertificateFactory.getInstance(CertificateManagementConstants.X_509); - certificate = (X509Certificate) certificateFactory.generateCertificate( - new FileInputStream(signerCertificatePath)); - - return certificate; - } catch (CertificateException e) { - String errorMsg = "Certificate related issue occurred in getSigner"; - throw new KeystoreException(errorMsg, e); - } catch (FileNotFoundException e) { - String errorMsg = "Signer certificate path not found in getSigner"; - throw new KeystoreException(errorMsg, e); - } - } +// private PrivateKey getSignerKey(String signerPrivateKeyPath) throws KeystoreException { +// +// File file = new File(signerPrivateKeyPath); +// FileInputStream fis; +// +// try { +// fis = new FileInputStream(file); +// DataInputStream dis = new DataInputStream(fis); +// byte[] keyBytes = new byte[(int) file.length()]; +// dis.readFully(keyBytes); +// dis.close(); +// +// String temp = new String(keyBytes); +// String privateKeyPEM = temp.replace( +// CertificateManagementConstants.RSA_PRIVATE_KEY_BEGIN_TEXT, CertificateManagementConstants.EMPTY_TEXT); +// privateKeyPEM = privateKeyPEM +// .replace(CertificateManagementConstants.RSA_PRIVATE_KEY_END_TEXT, CertificateManagementConstants.EMPTY_TEXT); +// +// byte[] decoded = Base64.decodeBase64(privateKeyPEM); +// PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec(decoded); +// KeyFactory keyFactory = KeyFactory.getInstance(CertificateManagementConstants.RSA); +// +// return keyFactory.generatePrivate(encodedKeySpec); +// } catch (FileNotFoundException e) { +// String errorMsg = "Private key file not found in getSignerKey"; +// throw new KeystoreException(errorMsg, e); +// } catch (IOException e) { +// String errorMsg = "Input output issue in getSignerKey"; +// throw new KeystoreException(errorMsg, e); +// } catch (NoSuchAlgorithmException e) { +// String errorMsg = "Algorithm not not found in getSignerKey"; +// throw new KeystoreException(errorMsg, e); +// } catch (InvalidKeySpecException e) { +// String errorMsg = "Invalid key found in getSignerKey"; +// throw new KeystoreException(errorMsg, e); +// } +// } +// +// private X509Certificate getSigner(String signerCertificatePath) throws KeystoreException { +// +// X509Certificate certificate; +// try { +// CertificateFactory certificateFactory = CertificateFactory.getInstance(CertificateManagementConstants.X_509); +// certificate = (X509Certificate) certificateFactory.generateCertificate( +// new FileInputStream(signerCertificatePath)); +// +// return certificate; +// } catch (CertificateException e) { +// String errorMsg = "Certificate related issue occurred in getSigner"; +// throw new KeystoreException(errorMsg, e); +// } catch (FileNotFoundException e) { +// String errorMsg = "Signer certificate path not found in getSigner"; +// throw new KeystoreException(errorMsg, e); +// } +// } public SCEPResponse getCACert() throws KeystoreException { @@ -657,28 +657,28 @@ public class CertificateGenerator { return null; } - private ASN1Primitive toASN1Primitive(byte[] data) { - - ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(data); - ASN1InputStream inputStream = new ASN1InputStream(byteArrayInputStream); - - try { - return inputStream.readObject(); - } catch (IOException e) { - String errorMsg = "IOException occurred when converting binary array to ASN1Primitive"; - log.error(errorMsg, e); - } finally { - try { - byteArrayInputStream.close(); - inputStream.close(); - } catch (IOException e) { - String errorMsg = "IOException occurred when closing streams"; - log.error(errorMsg, e); - } - } - - return null; - } +// private ASN1Primitive toASN1Primitive(byte[] data) { +// +// ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(data); +// ASN1InputStream inputStream = new ASN1InputStream(byteArrayInputStream); +// +// try { +// return inputStream.readObject(); +// } catch (IOException e) { +// String errorMsg = "IOException occurred when converting binary array to ASN1Primitive"; +// log.error(errorMsg, e); +// } finally { +// try { +// byteArrayInputStream.close(); +// inputStream.close(); +// } catch (IOException e) { +// String errorMsg = "IOException occurred when closing streams"; +// log.error(errorMsg, e); +// } +// } +// +// return null; +// } /** * This method is used to retrieve signed certificate from certificate signing request. diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/src/main/java/org/wso2/carbon/device/mgt/extensions/push/notification/provider/gcm/GCMNotificationStrategy.java b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/src/main/java/org/wso2/carbon/device/mgt/extensions/push/notification/provider/gcm/GCMNotificationStrategy.java index 4990de95f5..af93b692a4 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/src/main/java/org/wso2/carbon/device/mgt/extensions/push/notification/provider/gcm/GCMNotificationStrategy.java +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/src/main/java/org/wso2/carbon/device/mgt/extensions/push/notification/provider/gcm/GCMNotificationStrategy.java @@ -38,7 +38,7 @@ import java.util.List; public class GCMNotificationStrategy implements NotificationStrategy { private static final String GCM_TOKEN = "GCM_TOKEN"; - private final static String GCM_ENDPOINT = "https://gcm-http.googleapis.com/gcm/send"; + private final static String GCM_ENDPOINT = "https://fcm.googleapis.com/fcm/send"; private static final String GCM_API_KEY = "gcmAPIKey"; private static final int TIME_TO_LIVE = 60; private static final int HTTP_STATUS_CODE_OK = 200; @@ -84,13 +84,10 @@ public class GCMNotificationStrategy implements NotificationStrategy { HttpURLConnection conn = null; try { conn = (HttpURLConnection) new URL(GCM_ENDPOINT).openConnection(); - conn.setDoOutput(true); - conn.setUseCaches(false); - conn.setFixedLengthStreamingMode(bytes.length); - conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("Authorization", "key=" + config.getProperty(GCM_API_KEY)); - + conn.setRequestMethod("POST"); + conn.setDoOutput(true); os = conn.getOutputStream(); os.write(bytes); } finally { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PasswordResetWrapper.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PasswordResetWrapper.java index 7bd67c2028..f1e186835a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PasswordResetWrapper.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PasswordResetWrapper.java @@ -27,7 +27,8 @@ public class PasswordResetWrapper { /* Base64 encoded password */ - @ApiModelProperty(name = "newPassword", value = "New password of the user.", required = true ) + @ApiModelProperty(name = "newPassword", value = "New password of the user.", required = true, + example = "JiM&100%pW") private String newPassword; public String getNewPassword() { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PolicyList.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PolicyList.java index 8710f2bb74..5087fc81b5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PolicyList.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PolicyList.java @@ -30,7 +30,8 @@ public class PolicyList extends BasePaginatedResult { private List policies; - @ApiModelProperty(value = "List of policies returned") + @ApiModelProperty(value = "Returns the list of policies that match the offset and limit parameter values" + + " that were specified.") @JsonProperty("policies") public List getList() { return policies; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/Profile.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/Profile.java index 77bd4f9b63..89f0dbff7d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/Profile.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/Profile.java @@ -30,23 +30,39 @@ import java.util.List; @ApiModel(value = "Profile", description = "This class carries all information related to policy profiles") public class Profile { - @ApiModelProperty(name = "profileId", value = "The ID of each profile that is in the selected policy", - required = true) + @ApiModelProperty(name = "profileId", + value = "The ID of each profile that is in the selected policy", + required = true, + example = "1") private int profileId; - @ApiModelProperty(name = "profileName", value = "The name of the profile", required = true) + @ApiModelProperty(name = "profileName", + value = "The name of the profile", + required = true, + example = "Block Camera") private String profileName; - @ApiModelProperty(name = "tenantId", value = "The ID of the tenant that added the policy", required = true) + @ApiModelProperty(name = "tenantId", + value = "The ID of the tenant that added the policy", + required = true, + example = "-1234") private int tenantId; - @ApiModelProperty(name = "deviceType", value = "Contains the device type details the policy was created " - + "for", required = true) + @ApiModelProperty(name = "deviceType", + value = "Contains the device type details the policy was created for", + required = true, + example = "android") private String deviceType; - @ApiModelProperty(name = "createdDate", value = "The date the policy was created", required = true) + @ApiModelProperty(name = "createdDate", + value = "The date the policy was created", + required = true, + example = "Thu, 6 Oct 2016 14:39:32 +0530") private Timestamp createdDate; - @ApiModelProperty(name = "updatedDate", value = "The date the changes made to the policy was published to" - + " the devices registered with the EMM", required = true) + @ApiModelProperty(name = "updatedDate", + value = "The date the changes made to the policy was published to the devices registered with the EMM", + required = true, + example = "Thu, 6 Oct 2016 14:39:32 +0530") private Timestamp updatedDate; - @ApiModelProperty(name = "profileFeaturesList", value = "Contains the features specific to each profile " - + "in the policy", required = true) + @ApiModelProperty(name = "profileFeaturesList", + value = "Contains the features specific to each profile in the policy", + required = true) private List profileFeaturesList; // Features included in the policies. public String getDeviceType() { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ProfileFeature.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ProfileFeature.java index 7a214c308c..b32c7613f4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ProfileFeature.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ProfileFeature.java @@ -28,20 +28,33 @@ import java.io.Serializable; + "features") public class ProfileFeature implements Serializable { - @ApiModelProperty(name = "id", value = "Define the ID", required = true) + @ApiModelProperty(name = "id", + value = "Define the ID", + required = true, + example = "1") private int id; - @ApiModelProperty(name = "featureCode", value = "Provide the code that defines the policy you wish to add", - required = true) + @ApiModelProperty(name = "featureCode", + value = "Provide the code that defines the policy you wish to add", + required = true, + example = "CAMERA") private String featureCode; - @ApiModelProperty(name = "profileId", value = "Define the ID of the profile", required = true) + @ApiModelProperty(name = "profileId", + value = "Define the ID of the profile", + required = true, + example = "1") private int profileId; - @ApiModelProperty(name = "deviceTypeId", value = "The ID used to define the type of the device platform", - required = true) + @ApiModelProperty(name = "deviceTypeId", + value = "The ID used to define the type of the device platform", + required = true, + example = "android") private String deviceType; - @ApiModelProperty(name = "content", value = "The list of parameters that define the policy", - required = true) + @ApiModelProperty(name = "content", + value = "The list of parameters that define the policy", + required = true, + example = "{\\\"enabled\\\":false}") private Object content; - @ApiModelProperty(name = "payLoad", value = "The payload which is submitted to each feature", + @ApiModelProperty(name = "payLoad", + value = "The payload which is submitted to each feature", required = true) private String payLoad; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/Dashboard.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/Dashboard.java index 22126d9042..5fcb651b45 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/Dashboard.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/Dashboard.java @@ -1,57 +1,24 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ - package org.wso2.carbon.device.mgt.jaxrs.service.api; -import io.swagger.annotations.SwaggerDefinition; -import io.swagger.annotations.Info; -import io.swagger.annotations.ExtensionProperty; -import io.swagger.annotations.Extension; -import io.swagger.annotations.Tag; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import io.swagger.annotations.ResponseHeader; import org.wso2.carbon.apimgt.annotations.api.Permission; +import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceCountByGroup; +import org.wso2.carbon.device.mgt.jaxrs.beans.DashboardGadgetDataWrapper; +import org.wso2.carbon.device.mgt.jaxrs.beans.DashboardPaginationGadgetDataWrapper; +import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; +import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; /** * Device Analytics Dashboard related REST-APIs. This can be used to obtain device related analytics. */ -@SwaggerDefinition( - info = @Info( - version = "1.0.0", - title = "", - extensions = { - @Extension(properties = { - @ExtensionProperty(name = "name", value = "DeviceAnalyticsDashboard"), - @ExtensionProperty(name = "context", value = "/api/device-mgt/v1.0/dashboard"), - }) - } - ), - tags = { - @Tag(name = "device_management", description = "") - } -) @Path("/dashboard") @Api(value = "Device Analytics Dashboard", description = "Device Analytics Dashboard related information APIs are described here.") @@ -71,67 +38,667 @@ public interface Dashboard { @GET @Path("device-count-overview") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get the details of registered devices in WSO2 EMM.", + notes = "Get the details of active, inactive, removed and total number of registered devices in" + + " WSO2 EMM.", + tags = "Dashboard") + @ApiResponses(value = { + @ApiResponse( + code = 200, + message = "OK.", + response = DashboardGadgetDataWrapper.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource has been modified the last time.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. \n Empty body because the client has already the latest version of " + + "the requested resource."), + @ApiResponse( + code = 400, + message = "Bad Request. \n Invalid request or validation error.", + response = ErrorResponse.class), + @ApiResponse( + code = 401, + message = "Unauthorized. \n Unauthorized request."), + @ApiResponse( + code = 404, + message = "Not Found.", + response = ErrorResponse.class), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported"), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n ErrorResponse in retrieving requested data.", + response = ErrorResponse.class) + }) @Permission(name = "View Dashboard", permission = "/device-mgt/dashboard/view") Response getOverviewDeviceCounts(); @GET @Path("device-counts-by-potential-vulnerabilities") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get the number of unmonitored and non-compliant devices in WSO2 EMM.", + tags = "Dashboard") + @ApiResponses(value = { + @ApiResponse( + code = 200, + message = "OK.", + response = DashboardGadgetDataWrapper.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource has been modified the last time.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. \n Empty body because the client has already the latest version of " + + "the requested resource."), + @ApiResponse( + code = 400, + message = "Bad Request. \n Invalid request or validation error.", + response = ErrorResponse.class), + @ApiResponse( + code = 401, + message = "Unauthorized. \n Unauthorized request."), + @ApiResponse( + code = 404, + message = "Not Found.", + response = ErrorResponse.class), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported"), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n Server error occurred while fetching activity data.", + response = ErrorResponse.class) + }) @Permission(name = "View Dashboard", permission = "/device-mgt/dashboard/view") Response getDeviceCountsByPotentialVulnerabilities(); @GET @Path("non-compliant-device-counts-by-features") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get the number of devices that have not complied to a policy that was enforced on a " + + "device.", + tags = "Dashboard") + @ApiResponses(value = { + @ApiResponse( + code = 200, + message = "OK.", + response = DashboardPaginationGadgetDataWrapper.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource has been modified the last time.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. \n Empty body because the client has already the latest version of " + + "the requested resource."), + @ApiResponse( + code = 400, + message = "Bad Request. \n", + response = ErrorResponse.class), + @ApiResponse( + code = 401, + message = "Unauthorized. \n Unauthorized request."), + @ApiResponse( + code = 404, + message = "Not Found. \n", + response = ErrorResponse.class), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported"), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n ErrorResponse in retrieving requested data.", + response = ErrorResponse.class) + }) @Permission(name = "View Dashboard", permission = "/device-mgt/dashboard/view") - Response getNonCompliantDeviceCountsByFeatures(@QueryParam(START_INDEX) int startIndex, - @QueryParam(RESULT_COUNT) int resultCount); + Response getNonCompliantDeviceCountsByFeatures( + @ApiParam( + name = "start", + value = "Provide the starting pagination index. Example 10", + required = true) + @QueryParam(START_INDEX) int startIndex, + @ApiParam( + name = "length", + value = "Provide how many policy details you require from the starting pagination index." + + " For example if you require the non-compliant policy details from the 10th " + + "pagination index to the 15th, you must define 10 as the value for start and " + + "5 as the value for length.", + required = true) + @QueryParam(RESULT_COUNT) int resultCount); @GET @Path("device-counts-by-groups") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get the number of devices for a given device type, such as connectivity status, " + + "potential vulnerability, platform, and ownership.\n", + tags = "Dashboard") + @ApiResponses(value = { + @ApiResponse( + code = 200, + message = "OK.", + response = DeviceCountByGroup.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource has been modified the last time.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. \n Empty body because the client has already the latest version of " + + "the requested resource."), + @ApiResponse( + code = 400, + message = "Bad Request.", + response = ErrorResponse.class), + @ApiResponse( + code = 401, + message = "Unauthorized. \n Unauthorized request."), + @ApiResponse( + code = 404, + message = "Not Found.", + response = ErrorResponse.class), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported"), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n ErrorResponse in retrieving requested data.", + response = ErrorResponse.class) + }) @Permission(name = "View Dashboard", permission = "/device-mgt/dashboard/view") - Response getDeviceCountsByGroups(@QueryParam(CONNECTIVITY_STATUS) String connectivityStatus, - @QueryParam(POTENTIAL_VULNERABILITY) String potentialVulnerability, - @QueryParam(PLATFORM) String platform, - @QueryParam(OWNERSHIP) String ownership); + Response getDeviceCountsByGroups( + @ApiParam( + name = "connectivity-status", + value = "Provide the connectivity status of the device. The following values can be assigned:\n" + + "active: The devices that are registered with WSO2 EMM and are actively " + + "communicating with the server.\n" + + "inactive: The devices that are registered with WSO2 EMM but unable to " + + "actively communicate with the server.\n" + + "removed: The devices that have unregistered from WSO2 EMM", + required = true) + @QueryParam(CONNECTIVITY_STATUS) String connectivityStatus, + @ApiParam( + name = "potential-vulnerability", + value = "Provide details of the potential vulnerabilities of the device. The following " + + "values can be assigned:\n" + + "non-compliant: Devices that have not complied to the policies enforced on the " + + "device by WSO2 EMM.\n" + + "unmonitored: Devices that have no policy assigned to them.", + required = true) + @QueryParam(POTENTIAL_VULNERABILITY) String potentialVulnerability, + @ApiParam( + name = "platform", + value = "Provide the platform that the device is running on. The following values can " + + "be assigned:\n" + + "iOS\n" + "Android\n" + "Windows", + required = true) + @QueryParam(PLATFORM) String platform, + @ApiParam( + name = "ownership", + value = "Provide the ownership status of the device. The following values can be assigned:\n" + + "BYOD: Bring Your Own Device\n" + "COPE: Corporate-Owned, Personally-Enabled", + required = true) + @QueryParam(OWNERSHIP) String ownership); @GET @Path("feature-non-compliant-device-counts-by-groups") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get the number of devices that have not complied to a given policy based on a particular" + + " device type.", + tags = "Dashboard") + @ApiResponses(value = { + @ApiResponse( + code = 200, + message = "OK.", + response = DeviceCountByGroup.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource has been modified the last time.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. \n Empty body because the client has already the latest version of " + + "the requested resource."), + @ApiResponse( + code = 400, + message = "Bad Request.", + response = ErrorResponse.class), + @ApiResponse( + code = 401, + message = "Unauthorized. \n Unauthorized request."), + @ApiResponse( + code = 404, + message = "Not Found.", + response = ErrorResponse.class), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported"), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n ErrorResponse in retrieving requested data.", + response = ErrorResponse.class) + }) @Permission(name = "View Dashboard", permission = "/device-mgt/dashboard/view") - Response getFeatureNonCompliantDeviceCountsByGroups(@QueryParam(NON_COMPLIANT_FEATURE_CODE) String nonCompliantFeatureCode, - @QueryParam(PLATFORM) String platform, - @QueryParam(OWNERSHIP) String ownership); + Response getFeatureNonCompliantDeviceCountsByGroups( + @ApiParam( + name = "non-compliant-feature-code", + value = "As the value for this parameter, the policy feature code or ID can be used. Some" + + " examples for feature codes are: PASSCODE_POLICY,CAMERA and WIFI.", + required = true) + @QueryParam(NON_COMPLIANT_FEATURE_CODE) String nonCompliantFeatureCode, + @ApiParam( + name = "platform", + value = "Provide the platform that the device is running on. The following values can " + + "be assigned:\n" + + "iOS\n" + "Android\n" + "Windows", + required = false) + @QueryParam(PLATFORM) String platform, + @ApiParam( + name = "ownership", + value = "Provide the ownership status of the device. The following values can be assigned:\n" + + "BYOD: Bring Your Own Device\n" + "COPE: Corporate-Owned, Personally-Enabled", + required = false) + @QueryParam(OWNERSHIP) String ownership); + @GET @Path("filtered-device-count-over-total") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get the number of devices that are registered with WSO2 EMM filtered by one of the " + + "following attributes:\n" + + "Connectivity status of the device, such as active, inactive or removed.\n" + + "The device ownership type, such as BYOD or COPE.\n" + "The device platform.\n" + + "The potential vulnerabilities faced by the devices.", + tags = "Dashboard") + @ApiResponses(value = { + @ApiResponse( + code = 200, + message = "OK.", + response = DashboardGadgetDataWrapper.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource has been modified the last time.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. \n Empty body because the client has already the latest version of " + + "the requested resource."), + @ApiResponse( + code = 400, + message = "Bad Request.", + response = ErrorResponse.class), + @ApiResponse( + code = 401, + message = "Unauthorized. \n Unauthorized request."), + @ApiResponse( + code = 404, + message = "Not Found.", + response = ErrorResponse.class), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported"), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n ErrorResponse in retrieving requested data.", + response = ErrorResponse.class) + }) @Permission(name = "View Dashboard", permission = "/device-mgt/dashboard/view") - Response getFilteredDeviceCountOverTotal(@QueryParam(CONNECTIVITY_STATUS) String connectivityStatus, - @QueryParam(POTENTIAL_VULNERABILITY) String potentialVulnerability, - @QueryParam(PLATFORM) String platform, - @QueryParam(OWNERSHIP) String ownership); + Response getFilteredDeviceCountOverTotal( + @ApiParam( + name = "connectivity-status", + value = "Provide the connectivity status of the device. You can assign any of the values " + + "given below:\n" + + "Total: All the devices that have registered with WSO2 EMM.\n" + + "active: The devices that are registered with WSO2 EMM and are actively " + + "communicating with the server.\n" + + "inactive: The devices that are registered with WSO2 EMM but unable to actively" + + " communicate with the server.\n" + + "removed: The devices that have unregistered from WSO2 EMM.", + required = true) + @QueryParam(CONNECTIVITY_STATUS) String connectivityStatus, + @ApiParam( + name = "potential-vulnerability", + value = "Provide details of the potential vulnerabilities of the device. You can assign" + + " any of the values given below:\n" + + "non-compliant: Devices that have not complied to the policies enforced on the " + + "device by WSO2 EMM.\n" + + "unmonitored: Devices that have no policy assigned to them.", + required = true) + @QueryParam(POTENTIAL_VULNERABILITY) String potentialVulnerability, + @ApiParam( + name = "platform", + value = "Provide the platform that the device is running on. You can assign any of the " + + "values given below:\n" + + "iOS\n" + "Android\n" + "Windows", + required = true) + @QueryParam(PLATFORM) String platform, + @ApiParam( + name = "ownership", + value = "Provide the ownership status of the device. You can assign any of the values " + + "given below:\n" + + "BYOD: Bring Your Own Device\n" + "COPE: Corporate-Owned, Personally-Enabled", + required = true) + @QueryParam(OWNERSHIP) String ownership); @GET @Path("feature-non-compliant-device-count-over-total") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get the number of devices that have not complied to a given policy over the total" + + " number of devices registered with WSO2 EMM.\n", + tags = "Dashboard") + @ApiResponses(value = { + @ApiResponse( + code = 200, + message = "OK.", + response = DashboardGadgetDataWrapper.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource has been modified the last time.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. \n Empty body because the client has already the latest version of " + + "the requested resource."), + @ApiResponse( + code = 400, + message = "Bad Request.", + response = ErrorResponse.class), + @ApiResponse( + code = 401, + message = "Unauthorized. \n Unauthorized request."), + @ApiResponse( + code = 404, + message = "Not Found.", + response = ErrorResponse.class), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported"), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n ErrorResponse in retrieving requested data.", + response = ErrorResponse.class) + }) @Permission(name = "View Dashboard", permission = "/device-mgt/dashboard/view") - Response getFeatureNonCompliantDeviceCountOverTotal(@QueryParam(NON_COMPLIANT_FEATURE_CODE) String nonCompliantFeatureCode, - @QueryParam(PLATFORM) String platform, - @QueryParam(OWNERSHIP) String ownership); + Response getFeatureNonCompliantDeviceCountOverTotal( + @ApiParam( + name = "non-compliant-feature-code", + value = "Provide the feature code or ID of the policy. Some examples for feature codes " + + "are: WIFI, PASSCODE_POLICY, CAMERA and ENCRYPT_STORAGE.", + required = true) + @QueryParam(NON_COMPLIANT_FEATURE_CODE) String nonCompliantFeatureCode, + @ApiParam( + name = "platform", + value = "Provide the platform that the device is running on. You can assign the values " + + "given below:\n" + + "iOS\n" + "Android\n" + "Windows", + required = true) + @QueryParam(PLATFORM) String platform, + @ApiParam( + name = "ownership", + value = "Provide the ownership status of the device. You can assign the values given below:\n" + + "BYOD: Bring Your Own Device\n" + "COPE: Corporate-Owned, Personally-Enabled", + required = true) + @QueryParam(OWNERSHIP) String ownership); @GET @Path("devices-with-details") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get device details of devices based on a particular device type.", + tags = "Dashboard") + @ApiResponses(value = { + @ApiResponse( + code = 200, + message = "OK.", + response = DashboardPaginationGadgetDataWrapper.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource has been modified the last time.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. \n Empty body because the client has already the latest version of " + + "the requested resource."), + @ApiResponse( + code = 400, + message = "Bad Request.", + response = ErrorResponse.class), + @ApiResponse( + code = 401, + message = "Unauthorized. \n Unauthorized request."), + @ApiResponse( + code = 404, + message = "Not Found.", + response = ErrorResponse.class), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported"), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n ErrorResponse in retrieving requested data.", + response = ErrorResponse.class) + }) @Permission(name = "View Dashboard", permission = "/device-mgt/dashboard/view") - Response getDevicesWithDetails(@QueryParam(CONNECTIVITY_STATUS) String connectivityStatus, - @QueryParam(POTENTIAL_VULNERABILITY) String potentialVulnerability, - @QueryParam(PLATFORM) String platform, - @QueryParam(OWNERSHIP) String ownership, - @QueryParam(PAGINATION_ENABLED) String paginationEnabled, - @QueryParam(START_INDEX) int startIndex, - @QueryParam(RESULT_COUNT) int resultCount); + Response getDevicesWithDetails( + @ApiParam( + name = "connectivity-status", + value = "Provide the connectivity status of the device. This can be one of the following:\n" + + "Total: All the devices that have registered with WSO2 EMM.\n" + + "active: The devices that are registered with WSO2 EMM and are actively " + + "communicating with the server.\n" + + "inactive: The devices that are registered with WSO2 EMM but unable to actively" + + " communicate with the server.\n" + + "removed: The devices that have unregistered from WSO2 EMM.", + required = true) + @QueryParam(CONNECTIVITY_STATUS) String connectivityStatus, + @ApiParam( + name = "potential-vulnerability", + value = "Provide details of the potential vulnerabilities of the device. This can be:\n" + + "non-compliant: Devices that have not complied to the policies enforced on " + + "the device by WSO2 EMM.\n" + + "unmonitored: Devices that have no policy assigned to them. ", + required = true) + @QueryParam(POTENTIAL_VULNERABILITY) String potentialVulnerability, + @ApiParam( + name = "platform", + value = "Provide the platform that the device is running on. This can be one of the following:\n" + + "iOS\n" + "Android\n" + "Windows", + required = true) + @QueryParam(PLATFORM) String platform, + @ApiParam( + name = "ownership", + value = "Provide the ownership status of the device. This can be one of the following:\n" + + "BYOD: Bring Your Own Device\n" + "COPE: Corporate-Owned, Personally-Enabled", + required = true) + @QueryParam(OWNERSHIP) String ownership, + @ApiParam( + name = "pagination-enabled", + value = "To enable/disable pagination set the value as true or false", + required = true) + @QueryParam(PAGINATION_ENABLED) String paginationEnabled, + @ApiParam( + name = "start", + value = "Provide the starting pagination index.", + required = true) + @QueryParam(START_INDEX) int startIndex, + @ApiParam( + name = "length", + value = "Provide how many policy details you require from the starting pagination index.", + required = true) + @QueryParam(RESULT_COUNT) int resultCount); @GET @Path("feature-non-compliant-devices-with-details") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get device details of non-compliant devices which do not comply to a given policy.", + tags = "Dashboard") + @ApiResponses(value = { + @ApiResponse( + code = 200, + message = "OK.", + response = DashboardPaginationGadgetDataWrapper.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource has been modified the last time.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. \n Empty body because the client has already the latest version of " + + "the requested resource."), + @ApiResponse( + code = 400, + message = "Bad Request.", + response = ErrorResponse.class), + @ApiResponse( + code = 401, + message = "Unauthorized. \n Unauthorized request."), + @ApiResponse( + code = 404, + message = "Not Found.", + response = ErrorResponse.class), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported"), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n ErrorResponse in retrieving requested data.", + response = ErrorResponse.class) + }) @Permission(name = "View Dashboard", permission = "/device-mgt/dashboard/view") - Response getFeatureNonCompliantDevicesWithDetails(@QueryParam(NON_COMPLIANT_FEATURE_CODE) String nonCompliantFeatureCode, - @QueryParam(PLATFORM) String platform, - @QueryParam(OWNERSHIP) String ownership, - @QueryParam(PAGINATION_ENABLED) String paginationEnabled, - @QueryParam(START_INDEX) int startIndex, - @QueryParam(RESULT_COUNT) int resultCount); -} + Response getFeatureNonCompliantDevicesWithDetails( + @ApiParam( + name = "non-compliant-feature-code", + value = "Provide the code specific to the feature " + + "(examples for feature codes are: WIFI,PASSCODE_POLICY, CAMERA and ENCRYPT_STORAGE.)", + required = true) + @QueryParam(NON_COMPLIANT_FEATURE_CODE) String nonCompliantFeatureCode, + @ApiParam( + name = "platform", + value = "Provide the platform that the device is running on. This can be one of the following:\n" + + "iOS\n" + "Android\n" + "Windows", + required = true) + @QueryParam(PLATFORM) String platform, + @ApiParam( + name = "ownership", + value = "Provide the ownership status of the device. This can be one of the following:\n" + + "BYOD: Bring Your Own Device\n" + "COPE: Corporate-Owned, Personally-Enabled", + required = true) + @QueryParam(OWNERSHIP) String ownership, + @ApiParam( + name = "pagination-enabled", + value = "To enable/disable pagination set the value as true or false", + required = true) + @QueryParam(PAGINATION_ENABLED) String paginationEnabled, + @ApiParam( + name = "start", + value = "Provide the starting pagination index.", + required = true) + @QueryParam(START_INDEX) int startIndex, + @ApiParam( + name = "length", + value = "Provide how many policy details you require from the starting pagination index.", + required = true) + @QueryParam(RESULT_COUNT) int resultCount); +} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java index 96d0cf2c12..1b527337c8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java @@ -87,6 +87,17 @@ public class UserManagementServiceImpl implements UserManagementService { if (log.isDebugEnabled()) { log.debug("User by username: " + userInfo.getUsername() + " was found."); } + DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); + String[] bits = userInfo.getUsername().split("/"); + String username = bits[bits.length - 1]; + String recipient = userInfo.getEmailAddress(); + Properties props = new Properties(); + props.setProperty("first-name", userInfo.getFirstname()); + props.setProperty("username", username); + props.setProperty("password", initialUserPassword); + + EmailMetaInfo metaInfo = new EmailMetaInfo(recipient, props); + dms.sendRegistrationEmail(metaInfo); return Response.created(new URI(API_BASE_PATH + "/" + URIEncoder.encode(userInfo.getUsername(), "UTF-8"))) .entity( createdUserInfo).build(); @@ -108,6 +119,12 @@ public class UserManagementServiceImpl implements UserManagementService { log.error(msg, e); return Response.serverError().entity( new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } catch (DeviceManagementException e) { + String msg = "Error occurred while sending registration email to the user " + + userInfo.getUsername(); + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/permission/ExtendedFileProtocolIteratorFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/permission/ExtendedFileProtocolIteratorFactory.java index 1394375656..01780e26d6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/permission/ExtendedFileProtocolIteratorFactory.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/permission/ExtendedFileProtocolIteratorFactory.java @@ -21,7 +21,7 @@ import java.io.File; import java.io.IOException; import java.net.URL; -public class ExtendedFileProtocolIteratorFactory implements DirectoryIteratorFactory { +final class ExtendedFileProtocolIteratorFactory implements DirectoryIteratorFactory { @Override public StreamIterator create(URL url, Filter filter) throws IOException { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/permission/ExtendedIteratorFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/permission/ExtendedIteratorFactory.java index 18c8b7620c..0a05b1079c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/permission/ExtendedIteratorFactory.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/permission/ExtendedIteratorFactory.java @@ -24,11 +24,11 @@ import java.io.IOException; import java.net.URL; import java.util.concurrent.ConcurrentHashMap; -public class ExtendedIteratorFactory { +class ExtendedIteratorFactory { private static final ConcurrentHashMap registry = new ConcurrentHashMap(); - public static StreamIterator create(URL url, Filter filter) throws IOException { + static StreamIterator create(URL url, Filter filter) throws IOException { String urlString = url.toString(); if(urlString.endsWith("!/")) { urlString = urlString.substring(4); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java index c688b5997f..1eb39fc502 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java @@ -218,6 +218,17 @@ public interface DeviceDAO { */ List getDevicesOfUser(String username, int tenantId) throws DeviceManagementDAOException; + /** + * This method is used to retrieve the devices of given user of given device type. + * @param username user name. + * @param type device type. + * @param tenantId tenant id. + * @return + * @throws DeviceManagementDAOException + */ + List getDevicesOfUser(String username, String type, int tenantId) throws DeviceManagementDAOException; + + /** * This method is used to retrieve devices of a given user as a paginated result. * diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java index 3c08f86339..ac89c1cf49 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java @@ -368,6 +368,40 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO { return devices; } + + @Override + public List getDevicesOfUser(String username, String type, int tenantId) throws DeviceManagementDAOException { + Connection conn; + PreparedStatement stmt = null; + ResultSet rs = null; + List devices = new ArrayList<>(); + try { + conn = this.getConnection(); + String sql = "SELECT e1.OWNER, e1.OWNERSHIP, e1.ENROLMENT_ID, e1.DEVICE_ID, e1.STATUS, e1.DATE_OF_LAST_UPDATE," + + " e1.DATE_OF_ENROLMENT, d.DESCRIPTION, d.NAME AS DEVICE_NAME, d.DEVICE_IDENTIFICATION, t.NAME " + + "AS DEVICE_TYPE FROM DM_DEVICE d, (SELECT e.OWNER, e.OWNERSHIP, e.ID AS ENROLMENT_ID, " + + "e.DEVICE_ID, e.STATUS, e.DATE_OF_LAST_UPDATE, e.DATE_OF_ENROLMENT FROM DM_ENROLMENT e WHERE " + + "e.TENANT_ID = ? AND e.OWNER = ?) e1, DM_DEVICE_TYPE t WHERE d.ID = e1.DEVICE_ID " + + "AND t.ID = d.DEVICE_TYPE_ID AND t.NAME= ?"; + stmt = conn.prepareStatement(sql); + stmt.setInt(1, tenantId); + stmt.setString(2, username); + stmt.setString(3, type); + rs = stmt.executeQuery(); + + while (rs.next()) { + Device device = DeviceManagementDAOUtil.loadDevice(rs); + devices.add(device); + } + } catch (SQLException e) { + throw new DeviceManagementDAOException("Error occurred while fetching the list of devices belongs to '" + + username + "'", e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt, rs); + } + return devices; + } + private Connection getConnection() throws SQLException { return DeviceManagementDAOFactory.getConnection(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/SearchDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/SearchDAO.java index bd17d7c26e..f40c074d8c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/SearchDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/SearchDAO.java @@ -19,14 +19,11 @@ package org.wso2.carbon.device.mgt.core.search.mgt.dao; -import org.wso2.carbon.device.mgt.common.Device; - -import java.util.List; public interface SearchDAO { - List searchDeviceDetailsTable(String query) throws SearchDAOException; - - List searchDevicePropertyTable(String query) throws SearchDAOException; +// List searchDeviceDetailsTable(String query) throws SearchDAOException; +// +// List searchDevicePropertyTable(String query) throws SearchDAOException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/impl/SearchDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/impl/SearchDAOImpl.java index 1090e88c62..8d2c705699 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/impl/SearchDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/impl/SearchDAOImpl.java @@ -19,235 +19,220 @@ package org.wso2.carbon.device.mgt.core.search.mgt.dao.impl; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.common.Device; -import org.wso2.carbon.device.mgt.common.DeviceIdentifier; -import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo; -import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; -import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; import org.wso2.carbon.device.mgt.core.search.mgt.dao.SearchDAO; -import org.wso2.carbon.device.mgt.core.search.mgt.dao.SearchDAOException; -import org.wso2.carbon.device.mgt.core.search.mgt.impl.Utils; -import java.sql.*; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; public class SearchDAOImpl implements SearchDAO { - - private static final Log log = LogFactory.getLog(SearchDAOImpl.class); - - @Override - public List searchDeviceDetailsTable(String query) throws SearchDAOException { - if (log.isDebugEnabled()) { - log.debug("Query : " + query); - } - Connection conn; - PreparedStatement stmt = null; - ResultSet rs; - List devices = new ArrayList<>(); - Map devs = new HashMap<>(); - try { - conn = this.getConnection(); - stmt = conn.prepareStatement(query); - rs = stmt.executeQuery(); - while (rs.next()) { - if (!devs.containsKey(rs.getInt("ID"))) { - Device device = new Device(); - device.setId(rs.getInt("ID")); - device.setDescription(rs.getString("DESCRIPTION")); - device.setName("NAME"); - device.setType(rs.getString("DEVICE_TYPE_NAME")); - device.setDeviceIdentifier(rs.getString("DEVICE_IDENTIFICATION")); - - DeviceIdentifier identifier = new DeviceIdentifier(); - identifier.setType(rs.getString("DEVICE_TYPE_NAME")); - identifier.setId(rs.getString("DEVICE_IDENTIFICATION")); - - DeviceInfo deviceInfo = new DeviceInfo(); - deviceInfo.setAvailableRAMMemory(rs.getDouble("AVAILABLE_RAM_MEMORY")); - deviceInfo.setBatteryLevel(rs.getDouble("BATTERY_LEVEL")); - deviceInfo.setConnectionType(rs.getString("CONNECTION_TYPE")); - deviceInfo.setCpuUsage(rs.getDouble("CPU_USAGE")); - deviceInfo.setDeviceModel(rs.getString("DEVICE_MODEL")); - deviceInfo.setExternalAvailableMemory(rs.getDouble("EXTERNAL_AVAILABLE_MEMORY")); - deviceInfo.setExternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY")); - deviceInfo.setInternalAvailableMemory(rs.getDouble("INTERNAL_AVAILABLE_MEMORY")); - deviceInfo.setInternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY")); - deviceInfo.setOsVersion(rs.getString("OS_VERSION")); - deviceInfo.setOsBuildDate(rs.getString("OS_BUILD_DATE")); - deviceInfo.setPluggedIn(rs.getBoolean("PLUGGED_IN")); - deviceInfo.setSsid(rs.getString("SSID")); - deviceInfo.setTotalRAMMemory(rs.getDouble("TOTAL_RAM_MEMORY")); - deviceInfo.setVendor(rs.getString("VENDOR")); - deviceInfo.setUpdatedTime(new java.util.Date(rs.getLong("UPDATE_TIMESTAMP"))); - - DeviceLocation deviceLocation = new DeviceLocation(); - deviceLocation.setLatitude(rs.getDouble("LATITUDE")); - deviceLocation.setLongitude(rs.getDouble("LONGITUDE")); - deviceLocation.setStreet1(rs.getString("STREET1")); - deviceLocation.setStreet2(rs.getString("STREET2")); - deviceLocation.setCity(rs.getString("CITY")); - deviceLocation.setState(rs.getString("STATE")); - deviceLocation.setZip(rs.getString("ZIP")); - deviceLocation.setCountry(rs.getString("COUNTRY")); - deviceLocation.setDeviceId(rs.getInt("ID")); - deviceLocation.setUpdatedTime(new java.util.Date(rs.getLong("DL_UPDATED_TIMESTAMP"))); - - deviceInfo.setLocation(deviceLocation); - device.setDeviceInfo(deviceInfo); - devices.add(device); - devs.put(device.getId(), device.getId()); - } - } - } catch (SQLException e) { - throw new SearchDAOException("Error occurred while acquiring the device details.", e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, null); - } - - this.fillPropertiesOfDevices(devices); - - if (log.isDebugEnabled()) { - log.debug("Number of the device returned from the query : " + devices.size()); - } - return devices; - } - - @Override - public List searchDevicePropertyTable(String query) throws SearchDAOException { - if (log.isDebugEnabled()) { - log.debug("Query : " + query); - } - - Connection conn; - PreparedStatement stmt = null; - ResultSet rs; - List devices = new ArrayList<>(); - Map devs = new HashMap<>(); - try { - conn = this.getConnection(); - stmt = conn.prepareStatement(query); - rs = stmt.executeQuery(); - while (rs.next()) { - if (!devs.containsKey(rs.getInt("ID"))) { - Device device = new Device(); - device.setId(rs.getInt("ID")); - device.setDescription(rs.getString("DESCRIPTION")); - device.setName(rs.getString("NAME")); - device.setType(rs.getString("DEVICE_TYPE_NAME")); - device.setDeviceIdentifier(rs.getString("DEVICE_IDENTIFICATION")); - - DeviceIdentifier identifier = new DeviceIdentifier(); - identifier.setType(rs.getString("DEVICE_TYPE_NAME")); - identifier.setId(rs.getString("DEVICE_IDENTIFICATION")); - - DeviceInfo deviceInfo = new DeviceInfo(); - deviceInfo.setAvailableRAMMemory(rs.getDouble("AVAILABLE_RAM_MEMORY")); - deviceInfo.setBatteryLevel(rs.getDouble("BATTERY_LEVEL")); - deviceInfo.setConnectionType(rs.getString("CONNECTION_TYPE")); - deviceInfo.setCpuUsage(rs.getDouble("CPU_USAGE")); - deviceInfo.setDeviceModel(rs.getString("DEVICE_MODEL")); - deviceInfo.setExternalAvailableMemory(rs.getDouble("EXTERNAL_AVAILABLE_MEMORY")); - deviceInfo.setExternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY")); - deviceInfo.setInternalAvailableMemory(rs.getDouble("INTERNAL_AVAILABLE_MEMORY")); - deviceInfo.setInternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY")); - deviceInfo.setOsVersion(rs.getString("OS_VERSION")); - deviceInfo.setOsBuildDate(rs.getString("OS_BUILD_DATE")); - deviceInfo.setPluggedIn(rs.getBoolean("PLUGGED_IN")); - deviceInfo.setSsid(rs.getString("SSID")); - deviceInfo.setTotalRAMMemory(rs.getDouble("TOTAL_RAM_MEMORY")); - deviceInfo.setVendor(rs.getString("VENDOR")); - deviceInfo.setUpdatedTime(new java.util.Date(rs.getLong("UPDATE_TIMESTAMP"))); - - DeviceLocation deviceLocation = new DeviceLocation(); - deviceLocation.setLatitude(rs.getDouble("LATITUDE")); - deviceLocation.setLongitude(rs.getDouble("LONGITUDE")); - deviceLocation.setStreet1(rs.getString("STREET1")); - deviceLocation.setStreet2(rs.getString("STREET2")); - deviceLocation.setCity(rs.getString("CITY")); - deviceLocation.setState(rs.getString("STATE")); - deviceLocation.setZip(rs.getString("ZIP")); - deviceLocation.setCountry(rs.getString("COUNTRY")); - deviceLocation.setDeviceId(rs.getInt("ID")); - deviceLocation.setUpdatedTime(new java.util.Date(rs.getLong("DL_UPDATED_TIMESTAMP"))); - - deviceInfo.setLocation(deviceLocation); - device.setDeviceInfo(deviceInfo); - devices.add(device); - devs.put(device.getId(), device.getId()); - } - - } - } catch (SQLException e) { - throw new SearchDAOException("Error occurred while aquiring the device details.", e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, null); - } - - this.fillPropertiesOfDevices(devices); - - if (log.isDebugEnabled()) { - log.debug("Number of the device returned from the query : " + devices.size()); - } - - return devices; - } - - - private Connection getConnection() throws SQLException { - return DeviceManagementDAOFactory.getConnection(); - } - - private List fillPropertiesOfDevices(List devices) throws SearchDAOException { - if (devices.isEmpty()) { - return null; - } - - Connection conn; - PreparedStatement stmt; - ResultSet rs; - - try { - conn = this.getConnection(); - String query = "SELECT * FROM DM_DEVICE_INFO WHERE DEVICE_ID IN (?) ORDER BY DEVICE_ID ;"; - stmt = conn.prepareStatement(query); - if (conn.getMetaData().getDatabaseProductName().contains("H2") || - conn.getMetaData().getDatabaseProductName().contains("MySQL")) { - String inData = Utils.getDeviceIdsAsString(devices); - stmt.setString(1, inData); - } else { - Array array = conn.createArrayOf("INT", Utils.getArrayOfDeviceIds(devices)); - stmt.setArray(1, array); - } - rs = stmt.executeQuery(); - - DeviceInfo dInfo; - while (rs.next()) { - dInfo = this.getDeviceInfo(devices, rs.getInt("DEVICE_ID")); - dInfo.getDeviceDetailsMap().put(rs.getString("KEY_FIELD"), rs.getString("VALUE_FIELD")); - } - } catch (SQLException e) { - throw new SearchDAOException("Error occurred while retrieving the device properties.", e); - } - return devices; - } - - private DeviceInfo getDeviceInfo(List devices, int deviceId) { - for (Device device : devices) { - if (device.getId() == deviceId) { - if (device.getDeviceInfo() == null) { - device.setDeviceInfo(new DeviceInfo()); - } - return device.getDeviceInfo(); - } - } - return null; - } +// +// private static final Log log = LogFactory.getLog(SearchDAOImpl.class); +// +// @Override +// public List searchDeviceDetailsTable(String query) throws SearchDAOException { +// if (log.isDebugEnabled()) { +// log.debug("Query : " + query); +// } +// Connection conn; +// PreparedStatement stmt = null; +// ResultSet rs; +// List devices = new ArrayList<>(); +// Map devs = new HashMap<>(); +// try { +// conn = this.getConnection(); +// stmt = conn.prepareStatement(query); +// rs = stmt.executeQuery(); +// while (rs.next()) { +// if (!devs.containsKey(rs.getInt("ID"))) { +// Device device = new Device(); +// device.setId(rs.getInt("ID")); +// device.setDescription(rs.getString("DESCRIPTION")); +// device.setName("NAME"); +// device.setType(rs.getString("DEVICE_TYPE_NAME")); +// device.setDeviceIdentifier(rs.getString("DEVICE_IDENTIFICATION")); +// +// DeviceIdentifier identifier = new DeviceIdentifier(); +// identifier.setType(rs.getString("DEVICE_TYPE_NAME")); +// identifier.setId(rs.getString("DEVICE_IDENTIFICATION")); +// +// DeviceInfo deviceInfo = new DeviceInfo(); +// deviceInfo.setAvailableRAMMemory(rs.getDouble("AVAILABLE_RAM_MEMORY")); +// deviceInfo.setBatteryLevel(rs.getDouble("BATTERY_LEVEL")); +// deviceInfo.setConnectionType(rs.getString("CONNECTION_TYPE")); +// deviceInfo.setCpuUsage(rs.getDouble("CPU_USAGE")); +// deviceInfo.setDeviceModel(rs.getString("DEVICE_MODEL")); +// deviceInfo.setExternalAvailableMemory(rs.getDouble("EXTERNAL_AVAILABLE_MEMORY")); +// deviceInfo.setExternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY")); +// deviceInfo.setInternalAvailableMemory(rs.getDouble("INTERNAL_AVAILABLE_MEMORY")); +// deviceInfo.setInternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY")); +// deviceInfo.setOsVersion(rs.getString("OS_VERSION")); +// deviceInfo.setOsBuildDate(rs.getString("OS_BUILD_DATE")); +// deviceInfo.setPluggedIn(rs.getBoolean("PLUGGED_IN")); +// deviceInfo.setSsid(rs.getString("SSID")); +// deviceInfo.setTotalRAMMemory(rs.getDouble("TOTAL_RAM_MEMORY")); +// deviceInfo.setVendor(rs.getString("VENDOR")); +// deviceInfo.setUpdatedTime(new java.util.Date(rs.getLong("UPDATE_TIMESTAMP"))); +// +// DeviceLocation deviceLocation = new DeviceLocation(); +// deviceLocation.setLatitude(rs.getDouble("LATITUDE")); +// deviceLocation.setLongitude(rs.getDouble("LONGITUDE")); +// deviceLocation.setStreet1(rs.getString("STREET1")); +// deviceLocation.setStreet2(rs.getString("STREET2")); +// deviceLocation.setCity(rs.getString("CITY")); +// deviceLocation.setState(rs.getString("STATE")); +// deviceLocation.setZip(rs.getString("ZIP")); +// deviceLocation.setCountry(rs.getString("COUNTRY")); +// deviceLocation.setDeviceId(rs.getInt("ID")); +// deviceLocation.setUpdatedTime(new java.util.Date(rs.getLong("DL_UPDATED_TIMESTAMP"))); +// +// deviceInfo.setLocation(deviceLocation); +// device.setDeviceInfo(deviceInfo); +// devices.add(device); +// devs.put(device.getId(), device.getId()); +// } +// } +// } catch (SQLException e) { +// throw new SearchDAOException("Error occurred while acquiring the device details.", e); +// } finally { +// DeviceManagementDAOUtil.cleanupResources(stmt, null); +// } +// +// this.fillPropertiesOfDevices(devices); +// +// if (log.isDebugEnabled()) { +// log.debug("Number of the device returned from the query : " + devices.size()); +// } +// return devices; +// } +// +// @Override +// public List searchDevicePropertyTable(String query) throws SearchDAOException { +// if (log.isDebugEnabled()) { +// log.debug("Query : " + query); +// } +// +// Connection conn; +// PreparedStatement stmt = null; +// ResultSet rs; +// List devices = new ArrayList<>(); +// Map devs = new HashMap<>(); +// try { +// conn = this.getConnection(); +// stmt = conn.prepareStatement(query); +// rs = stmt.executeQuery(); +// while (rs.next()) { +// if (!devs.containsKey(rs.getInt("ID"))) { +// Device device = new Device(); +// device.setId(rs.getInt("ID")); +// device.setDescription(rs.getString("DESCRIPTION")); +// device.setName(rs.getString("NAME")); +// device.setType(rs.getString("DEVICE_TYPE_NAME")); +// device.setDeviceIdentifier(rs.getString("DEVICE_IDENTIFICATION")); +// +// DeviceIdentifier identifier = new DeviceIdentifier(); +// identifier.setType(rs.getString("DEVICE_TYPE_NAME")); +// identifier.setId(rs.getString("DEVICE_IDENTIFICATION")); +// +// DeviceInfo deviceInfo = new DeviceInfo(); +// deviceInfo.setAvailableRAMMemory(rs.getDouble("AVAILABLE_RAM_MEMORY")); +// deviceInfo.setBatteryLevel(rs.getDouble("BATTERY_LEVEL")); +// deviceInfo.setConnectionType(rs.getString("CONNECTION_TYPE")); +// deviceInfo.setCpuUsage(rs.getDouble("CPU_USAGE")); +// deviceInfo.setDeviceModel(rs.getString("DEVICE_MODEL")); +// deviceInfo.setExternalAvailableMemory(rs.getDouble("EXTERNAL_AVAILABLE_MEMORY")); +// deviceInfo.setExternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY")); +// deviceInfo.setInternalAvailableMemory(rs.getDouble("INTERNAL_AVAILABLE_MEMORY")); +// deviceInfo.setInternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY")); +// deviceInfo.setOsVersion(rs.getString("OS_VERSION")); +// deviceInfo.setOsBuildDate(rs.getString("OS_BUILD_DATE")); +// deviceInfo.setPluggedIn(rs.getBoolean("PLUGGED_IN")); +// deviceInfo.setSsid(rs.getString("SSID")); +// deviceInfo.setTotalRAMMemory(rs.getDouble("TOTAL_RAM_MEMORY")); +// deviceInfo.setVendor(rs.getString("VENDOR")); +// deviceInfo.setUpdatedTime(new java.util.Date(rs.getLong("UPDATE_TIMESTAMP"))); +// +// DeviceLocation deviceLocation = new DeviceLocation(); +// deviceLocation.setLatitude(rs.getDouble("LATITUDE")); +// deviceLocation.setLongitude(rs.getDouble("LONGITUDE")); +// deviceLocation.setStreet1(rs.getString("STREET1")); +// deviceLocation.setStreet2(rs.getString("STREET2")); +// deviceLocation.setCity(rs.getString("CITY")); +// deviceLocation.setState(rs.getString("STATE")); +// deviceLocation.setZip(rs.getString("ZIP")); +// deviceLocation.setCountry(rs.getString("COUNTRY")); +// deviceLocation.setDeviceId(rs.getInt("ID")); +// deviceLocation.setUpdatedTime(new java.util.Date(rs.getLong("DL_UPDATED_TIMESTAMP"))); +// +// deviceInfo.setLocation(deviceLocation); +// device.setDeviceInfo(deviceInfo); +// devices.add(device); +// devs.put(device.getId(), device.getId()); +// } +// +// } +// } catch (SQLException e) { +// throw new SearchDAOException("Error occurred while aquiring the device details.", e); +// } finally { +// DeviceManagementDAOUtil.cleanupResources(stmt, null); +// } +// +// this.fillPropertiesOfDevices(devices); +// +// if (log.isDebugEnabled()) { +// log.debug("Number of the device returned from the query : " + devices.size()); +// } +// +// return devices; +// } +// +// +// private Connection getConnection() throws SQLException { +// return DeviceManagementDAOFactory.getConnection(); +// } +// +// private List fillPropertiesOfDevices(List devices) throws SearchDAOException { +// if (devices.isEmpty()) { +// return null; +// } +// +// Connection conn; +// PreparedStatement stmt; +// ResultSet rs; +// +// try { +// conn = this.getConnection(); +// String query = "SELECT * FROM DM_DEVICE_INFO WHERE DEVICE_ID IN (?) ORDER BY DEVICE_ID ;"; +// stmt = conn.prepareStatement(query); +// if (conn.getMetaData().getDatabaseProductName().contains("H2") || +// conn.getMetaData().getDatabaseProductName().contains("MySQL")) { +// String inData = Utils.getDeviceIdsAsString(devices); +// stmt.setString(1, inData); +// } else { +// Array array = conn.createArrayOf("INT", Utils.getArrayOfDeviceIds(devices)); +// stmt.setArray(1, array); +// } +// rs = stmt.executeQuery(); +// +// DeviceInfo dInfo; +// while (rs.next()) { +// dInfo = this.getDeviceInfo(devices, rs.getInt("DEVICE_ID")); +// dInfo.getDeviceDetailsMap().put(rs.getString("KEY_FIELD"), rs.getString("VALUE_FIELD")); +// } +// } catch (SQLException e) { +// throw new SearchDAOException("Error occurred while retrieving the device properties.", e); +// } +// return devices; +// } +// +// private DeviceInfo getDeviceInfo(List devices, int deviceId) { +// for (Device device : devices) { +// if (device.getId() == deviceId) { +// if (device.getDeviceInfo() == null) { +// device.setDeviceInfo(new DeviceInfo()); +// } +// return device.getDeviceInfo(); +// } +// } +// return null; +// } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ProcessorImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ProcessorImpl.java index 2673c3f263..7fe10ba8c4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ProcessorImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ProcessorImpl.java @@ -19,29 +19,44 @@ package org.wso2.carbon.device.mgt.core.search.mgt.impl; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.wso2.carbon.device.mgt.common.Device; +import org.wso2.carbon.device.mgt.common.DeviceIdentifier; +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; +import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; +import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo; +import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation; import org.wso2.carbon.device.mgt.common.search.SearchContext; import org.wso2.carbon.device.mgt.core.dao.ApplicationDAO; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; +import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; +import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; import org.wso2.carbon.device.mgt.core.search.mgt.*; -import org.wso2.carbon.device.mgt.core.search.mgt.dao.SearchDAO; import org.wso2.carbon.device.mgt.core.search.mgt.dao.SearchDAOException; -import java.sql.SQLException; +import java.sql.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class ProcessorImpl implements Processor { - - private SearchDAO searchDAO; private ApplicationDAO applicationDAO; + private static final Log log = LogFactory.getLog(ProcessorImpl.class); + private DeviceAccessAuthorizationService deviceAccessAuthorizationService; public ProcessorImpl() { - searchDAO = DeviceManagementDAOFactory.getSearchDAO(); applicationDAO = DeviceManagementDAOFactory.getApplicationDAO(); + deviceAccessAuthorizationService = DeviceManagementDataHolder.getInstance() + .getDeviceAccessAuthorizationService(); + if (deviceAccessAuthorizationService == null) { + String msg = "DeviceAccessAuthorization service has not initialized."; + log.error(msg); + throw new IllegalStateException(msg); + } } @Override @@ -57,23 +72,22 @@ public class ProcessorImpl implements Processor { DeviceManagementDAOFactory.openConnection(); if (queries.containsKey(Constants.GENERAL)) { - generalDevices = searchDAO.searchDeviceDetailsTable(queries.get(Constants.GENERAL).get(0)); + generalDevices = searchDeviceDetailsTable(queries.get(Constants.GENERAL).get(0)); } if (queries.containsKey(Constants.PROP_AND)) { for (String query : queries.get(Constants.PROP_AND)) { - List andDevices = searchDAO.searchDevicePropertyTable(query); + List andDevices = searchDeviceDetailsTable(query); allANDDevices.add(andDevices); } } if (queries.containsKey(Constants.PROP_OR)) { for (String query : queries.get(Constants.PROP_OR)) { - List orDevices = searchDAO.searchDevicePropertyTable(query); + List orDevices = searchDeviceDetailsTable(query); allORDevices.add(orDevices); } } if (queries.containsKey(Constants.LOCATION)) { - locationDevices = searchDAO.searchDevicePropertyTable( - queries.get(Constants.LOCATION).get(0)); + locationDevices = searchDeviceDetailsTable(queries.get(Constants.LOCATION).get(0)); } } catch (InvalidOperatorException e) { throw new SearchMgtException("Invalid operator was provided, so cannot execute the search.", e); @@ -95,10 +109,35 @@ public class ProcessorImpl implements Processor { devices.put(Constants.LOCATION, locationDevices); List finalDevices = aggregator.aggregate(devices); + finalDevices = authorizedDevices(finalDevices); this.setApplicationListOfDevices(finalDevices); return finalDevices; } + /** + * To get the authorized devices for a particular user + * + * @param devices Devices that satisfy search results + * @return Devices that satisfy search results and authorized to be viewed by particular user + */ + private List authorizedDevices(List devices) throws SearchMgtException { + List filteredList = new ArrayList<>(); + try { + for (Device device : devices) { + DeviceIdentifier deviceIdentifier = new DeviceIdentifier(device.getDeviceIdentifier(), + device.getType()); + if (deviceAccessAuthorizationService != null && deviceAccessAuthorizationService + .isUserAuthorized(deviceIdentifier)) { + filteredList.add(device); + } + } + return filteredList; + } catch (DeviceAccessAuthorizationException e) { + log.error("Error getting authorized search results for logged in user"); + throw new SearchMgtException(e); + } + } + @Override public List getUpdatedDevices(long epochTime) throws SearchMgtException { @@ -107,9 +146,9 @@ public class ProcessorImpl implements Processor { } QueryBuilder queryBuilder = new QueryBuilderImpl(); try { - String query = queryBuilder.processUpdatedDevices(epochTime); + String query = queryBuilder.processUpdatedDevices(epochTime); DeviceManagementDAOFactory.openConnection(); - return searchDAO.searchDeviceDetailsTable(query); + return searchDeviceDetailsTable(query); } catch (InvalidOperatorException e) { throw new SearchMgtException("Invalid operator was provided, so cannot execute the search.", e); } catch (SQLException e) { @@ -202,5 +241,142 @@ public class ProcessorImpl implements Processor { } } -} + private List searchDeviceDetailsTable(String query) throws SearchDAOException { + if (log.isDebugEnabled()) { + log.debug("Query : " + query); + } + Connection conn; + PreparedStatement stmt = null; + ResultSet rs = null; + List devices = new ArrayList<>(); + Map devs = new HashMap<>(); + try { + conn = this.getConnection(); + stmt = conn.prepareStatement(query); + rs = stmt.executeQuery(); + while (rs.next()) { + if (!devs.containsKey(rs.getInt("ID"))) { + Device device = new Device(); + device.setId(rs.getInt("ID")); + device.setDescription(rs.getString("DESCRIPTION")); + device.setName(rs.getString("NAME")); + device.setType(rs.getString("DEVICE_TYPE_NAME")); + device.setDeviceIdentifier(rs.getString("DEVICE_IDENTIFICATION")); + + EnrolmentInfo enrolmentInfo = new EnrolmentInfo(); + enrolmentInfo.setStatus(EnrolmentInfo.Status.valueOf(rs.getString("DE_STATUS"))); + enrolmentInfo.setOwner(rs.getString("OWNER")); + enrolmentInfo.setOwnership(EnrolmentInfo.OwnerShip.valueOf(rs.getString("OWNERSHIP"))); + device.setEnrolmentInfo(enrolmentInfo); + + DeviceIdentifier identifier = new DeviceIdentifier(); + identifier.setType(rs.getString("DEVICE_TYPE_NAME")); + identifier.setId(rs.getString("DEVICE_IDENTIFICATION")); + + DeviceInfo deviceInfo = new DeviceInfo(); + deviceInfo.setAvailableRAMMemory(rs.getDouble("AVAILABLE_RAM_MEMORY")); + deviceInfo.setBatteryLevel(rs.getDouble("BATTERY_LEVEL")); + deviceInfo.setConnectionType(rs.getString("CONNECTION_TYPE")); + deviceInfo.setCpuUsage(rs.getDouble("CPU_USAGE")); + deviceInfo.setDeviceModel(rs.getString("DEVICE_MODEL")); + deviceInfo.setExternalAvailableMemory(rs.getDouble("EXTERNAL_AVAILABLE_MEMORY")); + deviceInfo.setExternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY")); + deviceInfo.setInternalAvailableMemory(rs.getDouble("INTERNAL_AVAILABLE_MEMORY")); + deviceInfo.setInternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY")); + deviceInfo.setOsVersion(rs.getString("OS_VERSION")); + deviceInfo.setOsBuildDate(rs.getString("OS_BUILD_DATE")); + deviceInfo.setPluggedIn(rs.getBoolean("PLUGGED_IN")); + deviceInfo.setSsid(rs.getString("SSID")); + deviceInfo.setTotalRAMMemory(rs.getDouble("TOTAL_RAM_MEMORY")); + deviceInfo.setVendor(rs.getString("VENDOR")); + deviceInfo.setUpdatedTime(new java.util.Date(rs.getLong("UPDATE_TIMESTAMP"))); + + DeviceLocation deviceLocation = new DeviceLocation(); + deviceLocation.setLatitude(rs.getDouble("LATITUDE")); + deviceLocation.setLongitude(rs.getDouble("LONGITUDE")); + deviceLocation.setStreet1(rs.getString("STREET1")); + deviceLocation.setStreet2(rs.getString("STREET2")); + deviceLocation.setCity(rs.getString("CITY")); + deviceLocation.setState(rs.getString("STATE")); + deviceLocation.setZip(rs.getString("ZIP")); + deviceLocation.setCountry(rs.getString("COUNTRY")); + deviceLocation.setDeviceId(rs.getInt("ID")); + deviceLocation.setUpdatedTime(new java.util.Date(rs.getLong("DL_UPDATED_TIMESTAMP"))); + + deviceInfo.setLocation(deviceLocation); + device.setDeviceInfo(deviceInfo); + devices.add(device); + devs.put(device.getId(), device.getId()); + } + } + } catch (SQLException e) { + throw new SearchDAOException("Error occurred while aquiring the device details.", e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt, rs); + } + this.fillPropertiesOfDevices(devices); + if (log.isDebugEnabled()) { + log.debug("Number of the device returned from the query : " + devices.size()); + } + return devices; + } + + + private Connection getConnection() throws SQLException { + return DeviceManagementDAOFactory.getConnection(); + } + private List fillPropertiesOfDevices(List devices) throws SearchDAOException { + if (devices.isEmpty()) { + return null; + } + Connection conn; + PreparedStatement stmt = null; + ResultSet rs = null; + try { + conn = this.getConnection(); + String query = "SELECT * FROM DM_DEVICE_INFO WHERE DEVICE_ID IN ("; + if (conn.getMetaData().getDatabaseProductName().contains("H2") || conn.getMetaData() + .getDatabaseProductName().contains("MySQL")) { + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < devices.size(); i++) { + builder.append("?,"); + } + query += builder.deleteCharAt(builder.length() - 1).toString() + ") ORDER BY DEVICE_ID"; + stmt = conn.prepareStatement(query); + for (int i = 0; i < devices.size(); i++) { + stmt.setInt(i + 1, devices.get(i).getId()); + } + } else { + query += "?) ORDER BY DEVICE_ID"; + stmt = conn.prepareStatement(query); + Array array = conn.createArrayOf("INT", Utils.getArrayOfDeviceIds(devices)); + stmt.setArray(1, array); + } + rs = stmt.executeQuery(); + + DeviceInfo dInfo; + while (rs.next()) { + dInfo = this.getDeviceInfo(devices, rs.getInt("DEVICE_ID")); + dInfo.getDeviceDetailsMap().put(rs.getString("KEY_FIELD"), rs.getString("VALUE_FIELD")); + } + } catch (SQLException e) { + throw new SearchDAOException("Error occurred while retrieving the device properties.", e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt,rs); + } + return devices; + } + + private DeviceInfo getDeviceInfo(List devices, int deviceId) { + for (Device device : devices) { + if (device.getId() == deviceId) { + if (device.getDeviceInfo() == null) { + device.setDeviceInfo(new DeviceInfo()); + } + return device.getDeviceInfo(); + } + } + return null; + } +} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/QueryBuilderImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/QueryBuilderImpl.java index 3a841f2aa0..251b773123 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/QueryBuilderImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/QueryBuilderImpl.java @@ -36,10 +36,12 @@ public class QueryBuilderImpl implements QueryBuilder { private static final Log log = LogFactory.getLog(QueryBuilderImpl.class); + private final String WILDCARD_OPERATOR = "%"; + private String current_username; + private boolean isDeviceAdminUser; @Override public Map> buildQueries(List conditions) throws InvalidOperatorException { - List andColumns = new ArrayList<>(); List orColumns = new ArrayList<>(); List otherANDColumns = new ArrayList<>(); @@ -107,34 +109,40 @@ public class QueryBuilderImpl implements QueryBuilder { @Override public String processAND(List conditions) throws InvalidOperatorException { - String querySuffix = ""; - for (Condition con : conditions) { - if (Utils.checkDeviceDetailsColumns(con.getKey().toLowerCase())) { - querySuffix = querySuffix + " AND DD." + Utils.getDeviceDetailsColumnNames().get(con.getKey().toLowerCase()) + - con.getOperator() + Utils.getConvertedValue(con.getKey().toLowerCase(), con.getValue()); + if (Utils.checkDeviceDetailsColumns(con.getKey())) { + if (con.operator.equals(WILDCARD_OPERATOR)){ + querySuffix = querySuffix + " OR DD." + Utils.getDeviceDetailsColumnNames().get(con.getKey()) + + " LIKE \'%" + con.getValue() + "%\'"; + } else { + querySuffix = querySuffix + " AND DD." + Utils.getDeviceDetailsColumnNames().get(con.getKey()) + con + .getOperator() + Utils.getConvertedValue(con.getKey(), con.getValue()); + } } else if (Utils.checkDeviceLocationColumns(con.getKey().toLowerCase())) { querySuffix = querySuffix + " AND DL." + Utils.getDeviceLocationColumnNames().get(con.getKey().toLowerCase()) + con.getOperator() + con.getValue(); } } - return querySuffix; } @Override public String processOR(List conditions) throws InvalidOperatorException { - String querySuffix = ""; - for (Condition con : conditions) { - if (Utils.checkDeviceDetailsColumns(con.getKey().toLowerCase())) { - querySuffix = querySuffix + " OR DD." + Utils.getDeviceDetailsColumnNames().get(con.getKey().toLowerCase()) + - con.getOperator() + Utils.getConvertedValue(con.getKey(), con.getValue()); + if (Utils.checkDeviceDetailsColumns(con.getKey())) { + if (con.operator.equals(WILDCARD_OPERATOR)) { + querySuffix = querySuffix + " OR DD." + Utils.getDeviceDetailsColumnNames().get(con.getKey()) + + " LIKE \'%" + con.getValue() + "%\'"; + } else { + querySuffix = querySuffix + " OR DD." + Utils.getDeviceDetailsColumnNames().get(con.getKey()) + con + .getOperator() + Utils.getConvertedValue(con.getKey(), con.getValue()); + } } else if (Utils.checkDeviceLocationColumns(con.getKey().toLowerCase())) { - querySuffix = querySuffix + " OR DL." + Utils.getDeviceLocationColumnNames().get(con.getKey().toLowerCase()) + - con.getOperator() + con.getValue(); + querySuffix = + querySuffix + " OR DL." + Utils.getDeviceLocationColumnNames().get(con.getKey().toLowerCase()) + + con.getOperator() + con.getValue(); } } return querySuffix; @@ -177,17 +185,16 @@ public class QueryBuilderImpl implements QueryBuilder { private String buildLocationQuery(String location) { String query = this.getGenericQueryPart(); - query = query + " AND DL.STREET1 LIKE \'%" + location + "%\'"; + query = query + " AND (DL.STREET1 LIKE \'%" + location + "%\'"; query = query + " OR DL.STREET2 LIKE \'%" + location + "%\'"; query = query + " OR DL.CITY LIKE \'%" + location + "%\'"; query = query + " OR DL.STATE LIKE \'%" + location + "%\'"; query = query + " OR DL.COUNTRY LIKE \'%" + location + "%\'"; - query = query + " OR DL.ZIP LIKE \'%" + location + "%\'"; + query = query + " OR DL.ZIP LIKE \'%" + location + "%\')"; return query; } private String getGenericQueryPart() { - return "SELECT D.ID, D.DESCRIPTION, D.NAME, \n" + "D.DEVICE_TYPE_ID, D.DEVICE_IDENTIFICATION, DT.ID AS DEVICE_TYPE_ID, \n" + "DT.NAME AS DEVICE_TYPE_NAME, DD.DEVICE_ID, DD.DEVICE_MODEL, DD.VENDOR, \n" + @@ -195,18 +202,15 @@ public class QueryBuilderImpl implements QueryBuilder { "DD.EXTERNAL_TOTAL_MEMORY, DD.EXTERNAL_AVAILABLE_MEMORY, DD.CONNECTION_TYPE, \n" + "DD.SSID, DD.CPU_USAGE, DD.TOTAL_RAM_MEMORY, DD.AVAILABLE_RAM_MEMORY, \n" + "DD.PLUGGED_IN, DD.UPDATE_TIMESTAMP, DL.LATITUDE, DL.LONGITUDE, DL.STREET1, DL.STREET2, DL.CITY, DL.ZIP, \n" + - "DL.STATE, DL.COUNTRY, DL.UPDATE_TIMESTAMP AS DL_UPDATED_TIMESTAMP \n" + - "FROM DM_DEVICE_DETAIL AS DD INNER JOIN DM_DEVICE AS D ON D.ID=DD.DEVICE_ID\n" + + "DL.STATE, DL.COUNTRY, DL.UPDATE_TIMESTAMP AS DL_UPDATED_TIMESTAMP, DE.OWNER, DE.OWNERSHIP, DE.STATUS " + + "AS DE_STATUS FROM DM_DEVICE_DETAIL AS DD INNER JOIN DM_DEVICE AS D ON D.ID=DD.DEVICE_ID\n" + "LEFT JOIN DM_DEVICE_LOCATION AS DL ON DL.DEVICE_ID=D.ID \n" + - "INNER JOIN DM_DEVICE_TYPE AS DT ON DT.ID=D.DEVICE_TYPE_ID\n" + - "WHERE D.TENANT_ID = " + - PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - - + "INNER JOIN DM_DEVICE_TYPE AS DT ON DT.ID=D.DEVICE_TYPE_ID\n" + + "INNER JOIN DM_ENROLMENT AS DE ON D.ID=DE.DEVICE_ID\n" + + "WHERE D.TENANT_ID = " + PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); } private String getPropertyQueryPart() { - return "SELECT D.ID, D.DESCRIPTION, D.NAME, \n" + "D.DEVICE_TYPE_ID, D.DEVICE_IDENTIFICATION, DT.ID AS DEVICE_TYPE_ID, \n" + "DT.NAME AS DEVICE_TYPE_NAME, DD.DEVICE_ID, DD.DEVICE_MODEL, DD.VENDOR, \n" + @@ -214,13 +218,14 @@ public class QueryBuilderImpl implements QueryBuilder { "DD.EXTERNAL_TOTAL_MEMORY, DD.EXTERNAL_AVAILABLE_MEMORY, DD.CONNECTION_TYPE, \n" + "DD.SSID, DD.CPU_USAGE, DD.TOTAL_RAM_MEMORY, DD.AVAILABLE_RAM_MEMORY, \n" + "DD.PLUGGED_IN, DD.UPDATE_TIMESTAMP, DL.LATITUDE, DL.LONGITUDE, DL.STREET1, DL.STREET2, DL.CITY, DL.ZIP, \n" + - "DL.STATE, DL.COUNTRY, DL.UPDATE_TIMESTAMP AS DL_UPDATED_TIMESTAMP, DI.KEY_FIELD, DI.VALUE_FIELD \n" + + "DL.STATE, DL.COUNTRY, DL.UPDATE_TIMESTAMP AS DL_UPDATED_TIMESTAMP, DI.KEY_FIELD, DI.VALUE_FIELD, \n" + + "DE.OWNER, DE.OWNERSHIP, DE.STATUS AS DE_STATUS " + "FROM DM_DEVICE_DETAIL AS DD INNER JOIN DM_DEVICE AS D ON D.ID=DD.DEVICE_ID\n" + "LEFT JOIN DM_DEVICE_LOCATION AS DL ON DL.DEVICE_ID=D.ID \n" + - "INNER JOIN DM_DEVICE_TYPE AS DT ON DT.ID=D.DEVICE_TYPE_ID\n" + + "INNER JOIN DM_DEVICE_TYPE AS DT ON DT.ID=D.DEVICE_TYPE_ID\n" + + "INNER JOIN DM_ENROLMENT AS DE ON D.ID=DE.DEVICE_ID\n" + "LEFT JOIN DM_DEVICE_INFO AS DI ON DI.DEVICE_ID=D.ID\n" + "WHERE D.TENANT_ID = " + PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - } -} +} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java index 317f875b1c..5d4e44efd5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java @@ -120,6 +120,15 @@ public interface DeviceManagementProviderService { */ List getDevicesOfUser(String userName) throws DeviceManagementException; + /** + * This method returns the list of device owned by a user of given device type. + * @param userName user name. + * @param deviceType device type name + * @return + * @throws DeviceManagementException + */ + List getDevicesOfUser(String userName, String deviceType) throws DeviceManagementException; + /** * Method to get the list of devices owned by users of a particular user-role. * diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java index aa6a9ba080..a5f6036d4d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java @@ -1304,6 +1304,74 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv return devices; } + @Override + public List getDevicesOfUser(String username, String deviceType) throws DeviceManagementException { + List devices = new ArrayList<>(); + List userDevices; + try { + DeviceManagementDAOFactory.openConnection(); + userDevices = deviceDAO.getDevicesOfUser(username, deviceType, this.getTenantId()); + } catch (DeviceManagementDAOException e) { + throw new DeviceManagementException("Error occurred while retrieving the list of devices that " + + "belong to the user '" + username + "'", e); + } catch (SQLException e) { + throw new DeviceManagementException("Error occurred while opening a connection to the data source", e); + } finally { + DeviceManagementDAOFactory.closeConnection(); + } + + for (Device device : userDevices) { + DeviceInfo info = null; + try { + DeviceManagementDAOFactory.openConnection(); + info = deviceInfoDAO.getDeviceInformation(device.getId()); + DeviceLocation location = deviceInfoDAO.getDeviceLocation(device.getId()); + if (info != null) { + info.setLocation(location); + } + } catch (DeviceDetailsMgtDAOException e) { + log.error("Error occurred while retrieving advance info of '" + device.getType() + + "' that carries the id '" + device.getDeviceIdentifier() + "'"); + } catch (SQLException e) { + log.error("Error occurred while opening a connection to the data source", e); + } finally { + DeviceManagementDAOFactory.closeConnection(); + } + device.setDeviceInfo(info); + + try { + DeviceManagementDAOFactory.openConnection(); + List applications = applicationDAO.getInstalledApplications(device.getId()); + device.setApplications(applications); + } catch (DeviceManagementDAOException e) { + log.error("Error occurred while retrieving the application list of '" + device.getType() + "', " + + "which carries the id '" + device.getId() + "'", e); + } catch (SQLException e) { + log.error("Error occurred while opening a connection to the data source", e); + } finally { + DeviceManagementDAOFactory.closeConnection(); + } + + DeviceManager deviceManager = this.getDeviceManager(device.getType()); + if (deviceManager == null) { + if (log.isDebugEnabled()) { + log.debug("Device Manager associated with the device type '" + device.getType() + "' is null. " + + "Therefore, not attempting method 'isEnrolled'"); + } + devices.add(device); + continue; + } + Device dmsDevice = + deviceManager.getDevice(new DeviceIdentifier(device.getDeviceIdentifier(), device.getType())); + if (dmsDevice != null) { + device.setFeatures(dmsDevice.getFeatures()); + device.setProperties(dmsDevice.getProperties()); + } + devices.add(device); + } + return devices; + } + @Override public PaginationResult getDevicesOfUser(PaginationRequest request) throws DeviceManagementException { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml index d050c5ada7..b30b66cb78 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml @@ -32,7 +32,7 @@ - + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/app-conf.json b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/app-conf.json index 2e2ad8b83a..ddce0b0204 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/app-conf.json +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/app-conf.json @@ -33,8 +33,10 @@ "identityProviderUrl" : "https://localhost:9443/samlsso", "acs": "https://localhost:9443/devicemgt/uuf/sso/acs", "identityAlias": "wso2carbon", - "responseSigningEnabled" : "true", - "useTenantKey": false + "responseSigningEnabled" : true, + "validateAssertionValidityPeriod": true, + "validateAudienceRestriction": true, + "assertionSigningEnabled": true } }, "errorPages": { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/user.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/user.js index 693d00b236..51cbd25c64 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/user.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/user.js @@ -340,6 +340,7 @@ var userModule = function () { * @returns {object} a response object with status and content on success. */ publicMethods.getRolesByUserStore = function (userStore) { + userStore = userStore ? userStore : "all"; var carbonUser = session.get(constants["USER_SESSION_KEY"]); var utility = require("/app/modules/utility.js")["utility"]; if (!carbonUser) { @@ -673,23 +674,29 @@ var userModule = function () { */ publicMethods.getSecondaryUserStores = function () { var returnVal = []; - var endpoint = devicemgtProps["adminService"] + constants["USER_STORE_CONFIG_ADMIN_SERVICE_END_POINT"]; - var wsPayload = ""; - serviceInvokers.WS.soapRequest( - "urn:getSecondaryRealmConfigurations", - wsPayload, - endpoint, - function (wsResponse) { - var domainIDs = stringify(wsResponse.*::['return']. *::domainId.text()); - if (domainIDs != "\"\"") { - var regExpForSearch = new RegExp(constants["USER_STORES_NOISY_CHAR"], "g"); - domainIDs = domainIDs.replace(regExpForSearch, ""); - returnVal = domainIDs.split(constants["USER_STORES_SPLITTING_CHAR"]); + if (publicMethods.isAuthorized("/permission/admin")) { + var endpoint = devicemgtProps["adminService"] + constants["USER_STORE_CONFIG_ADMIN_SERVICE_END_POINT"]; + var wsPayload = ""; + serviceInvokers.WS.soapRequest( + "urn:getSecondaryRealmConfigurations", + wsPayload, + endpoint, + function (wsResponse) { + var domainIDs = stringify(wsResponse.*::['return']. *::domainId.text()); + if (domainIDs != "\"\"") { + var regExpForSearch = new RegExp(constants["USER_STORES_NOISY_CHAR"], "g"); + domainIDs = domainIDs.replace(regExpForSearch, ""); + returnVal = domainIDs.split(constants["USER_STORES_SPLITTING_CHAR"]); + } + }, function (e) { + log.error("Error retrieving secondary user stores", e); + }, + constants["SOAP_VERSION"]); + } else { + if (log.isDebugEnabled()) { + log.debug("User does not have admin permission to get the secondary user store details."); } - }, function (e) { - log.error("Error retrieving secondary user stores", e); - }, - constants["SOAP_VERSION"]); + } return returnVal; }; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.dashboard/dashboard.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.dashboard/dashboard.hbs index 199e362a46..6b466d90a3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.dashboard/dashboard.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.dashboard/dashboard.hbs @@ -15,12 +15,12 @@ specific language governing permissions and limitations under the License. }} -{{unit "cdmf.unit.ui.title" pageTitle="Resource Dashboard"}} +{{unit "cdmf.unit.ui.title" pageTitle="Home"}} {{#zone "breadcrumbs"}}
  • - Resource Dashboard +
  • {{/zone}} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/public/js/bottomJs.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/public/js/bottomJs.js index 0dc9a79602..c885566db8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/public/js/bottomJs.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/public/js/bottomJs.js @@ -1,13 +1,10 @@ /* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - WSO2 Inc. licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, @@ -46,17 +43,23 @@ var dynamicForm = '' + '
    ' + - '
    '; + '
    ' + + '
    '; + +var nonNumericKeyValuePair = ["deviceModel", "vendor", "osVersion", "connectionType", "ssid", "pluggedIn"]; $(document).ready(function () { var isInit = true; @@ -64,14 +67,49 @@ $(document).ready(function () { $("#customSearchParam").prepend(dynamicForm); $(".close-button-div").unbind("click"); $(".close-button-div").bind("click", removeCustomParam); - $(".txt-key").select2({tags: true}); $(".no-tag").select2({tags: false}); + $(".txt-key").select2({tags: true}).on('change', function() { + // Based on the selected key, relevant operations are changed + var operationsForSelectedKey = getOperators($(this).val()); + $("#operators").empty(); + $("#operators").append(operationsForSelectedKey); + $("#operators").select2("val", "="); + }); }); + /** Function to get operators based on the key Value + * + * @param keyValue + */ + function getOperators(keyValue) { + if (nonNumericKeyValuePair.indexOf(keyValue) < 0) { + return ''; + } else { + return ''; + } + } + + /** To validate the key and value before sending that to back-end + * + * @param key Key of the search + * @param value value given for the search + */ + function isValidKeyAndValue(key, value) { + if (nonNumericKeyValuePair.indexOf(key) < 0) { + if (!isNaN(parseFloat(value)) && isFinite(value)){ + return true; + } + } else { + return true; + } + } + $("#device-search-btn").click(function () { var location = $("#location").val(); var payload_obj = {}; var conditions = []; + var hasError = false; if (location) { var conditionObject = {}; conditionObject.key = "LOCATION"; @@ -83,93 +121,104 @@ $(document).ready(function () { $("#customSearchParam .dynamic-search-param").each(function () { var value = $(this).find(".txt-value").val(); - var key = $(this).find(".txt-key").val() - if (value && key) { - var conditionObject = {}; - conditionObject.key = key; - conditionObject.value = value; - conditionObject.operator = $(this).find(".operator").val(); - conditionObject.state = $(this).find(".state").val(); - conditions.push(conditionObject) - } - }); - payload_obj.conditions = conditions; - var deviceSearchAPI = "/api/device-mgt/v1.0/devices/search-devices"; - $("#advance-search-form").addClass(" hidden"); - $("#loading-content").removeClass('hidden'); - var deviceListing = $("#device-listing"); - var deviceListingSrc = deviceListing.attr("src"); - $.template("device-listing", deviceListingSrc, function (template) { - - var successCallback = function (data) { - if (!data) { - $("#loading-content").addClass('hidden'); + var key = $(this).find(".txt-key").val(); + if (!hasError && value && key ) { + if (isValidKeyAndValue(key, value)) { + var conditionObject = {}; + conditionObject.key = key; + conditionObject.value = value; + conditionObject.operator = $(this).find(".operator").val(); + conditionObject.state = $(this).find(".state").val(); + conditions.push(conditionObject); + } else { + hasError = true; $("#advance-search-result").addClass("hidden"); $("#advance-search-form").removeClass(" hidden"); $('#device-listing-status').removeClass('hidden'); - $('#device-listing-status-msg').text('No Device are available to be displayed.'); - return; + $('#device-listing-status-msg').text('Error in user input values. ' + key + " requires a" + + " numerical value as the search value"); } - data = JSON.parse(data); - if (data.devices.length == 0) { + } + }); + + // Sent the search conditions to back-end only, if all the values compliant with there key values + if (hasError) { + hasError = false; + } else { + payload_obj.conditions = conditions; + var deviceSearchAPI = "/api/device-mgt/v1.0/devices/search-devices"; + $("#advance-search-form").addClass(" hidden"); + $("#loading-content").removeClass('hidden'); + var deviceListing = $("#device-listing"); + var deviceListingSrc = deviceListing.attr("src"); + $.template("device-listing", deviceListingSrc, function (template) { + var successCallback = function (data) { + if (!data) { + $("#loading-content").addClass('hidden'); + $("#advance-search-result").addClass("hidden"); + $("#advance-search-form").removeClass(" hidden"); + $('#device-listing-status').removeClass('hidden'); + $('#device-listing-status-msg').text('No Device are available to be displayed.'); + return; + } + data = JSON.parse(data); + if (data.devices.length == 0) { + $("#loading-content").addClass('hidden'); + $("#advance-search-result").addClass("hidden"); + $("#advance-search-form").removeClass(" hidden"); + $('#device-listing-status').removeClass('hidden'); + $('#device-listing-status-msg').text('No Device are available to be displayed.'); + return; + } + var viewModel = {}; + var devices = []; + if (data.devices.length > 0) { + for (i = 0; i < data.devices.length; i++) { + var tempDevice = data.devices[i]; + var device = {}; + device.type = tempDevice.type; + device.name = tempDevice.name; + device.deviceIdentifier = tempDevice.deviceIdentifier; + var properties = {}; + var enrolmentInfo = {}; + properties.VENDOR = tempDevice.deviceInfo.vendor; + properties.DEVICE_MODEL = tempDevice.deviceInfo.deviceModel; + device.enrolmentInfo = tempDevice.enrolmentInfo; + device.properties = properties; + devices.push(device); + } + viewModel.devices = devices; + $('#advance-search-result').removeClass('hidden'); + $("#view-search-param").removeClass('hidden'); + $("#back-to-search").removeClass('hidden'); + $('#device-grid').removeClass('hidden'); + $('#ast-container').removeClass('hidden'); + $('#user-listing-status-msg').text(""); + var content = template(viewModel); + $("#ast-container").html(content); + } else { + $('#device-listing-status').removeClass('hidden'); + $('#device-listing-status-msg').text('No Device are available to be displayed.'); + } $("#loading-content").addClass('hidden'); - $("#advance-search-result").addClass("hidden"); - $("#advance-search-form").removeClass(" hidden"); - $('#device-listing-status').removeClass('hidden'); - $('#device-listing-status-msg').text('No Device are available to be displayed.'); - return; - } - var viewModel = {}; - var devices = []; - if (data.devices.length > 0) { - for (i = 0; i < data.devices.length; i++) { - var tempDevice = data.devices[i]; - var device = {}; - device.type = tempDevice.type; - device.name = tempDevice.name; - device.deviceIdentifier = tempDevice.deviceIdentifier; - var properties = {} ; - var enrolmentInfo = {}; - properties.VENDOR = tempDevice.deviceInfo.vendor; - properties.DEVICE_MODEL = tempDevice.deviceInfo.deviceModel; - enrolmentInfo.status = "ACTIVE"; - enrolmentInfo.owner = "N/A"; - enrolmentInfo.ownership = "N/A"; - device.enrolmentInfo = enrolmentInfo; - device.properties = properties; - devices.push(device); + if (isInit) { + $('#device-grid').datatables_extended(); + isInit = false; } - viewModel.devices = devices; - $('#advance-search-result').removeClass('hidden'); - $("#view-search-param").removeClass('hidden'); - $("#back-to-search").removeClass('hidden'); - $('#device-grid').removeClass('hidden'); - $('#ast-container').removeClass('hidden'); - $('#user-listing-status-msg').text(""); - var content = template(viewModel); - $("#ast-container").html(content); - } else { - $('#device-listing-status').removeClass('hidden'); - $('#device-listing-status-msg').text('No Device are available to be displayed.'); - } - $("#loading-content").addClass('hidden'); - if (isInit) { - $('#device-grid').datatables_extended(); - isInit = false; - } - $(".icon .text").res_text(0.2); - }; - invokerUtil.post(deviceSearchAPI, - payload_obj, - successCallback, - function (message) { - $("#loading-content").addClass('hidden'); - $("#advance-search-result").addClass("hidden"); - $("#advance-search-form").removeClass(" hidden"); - $('#device-listing-status').removeClass('hidden'); - $('#device-listing-status-msg').text('Server is unable to perform the search please enroll at least one device or check the search query'); - } - ); - }); + $(".icon .text").res_text(0.2); + }; + invokerUtil.post(deviceSearchAPI, + payload_obj, + successCallback, + function (message) { + $("#loading-content").addClass('hidden'); + $("#advance-search-result").addClass("hidden"); + $("#advance-search-form").removeClass(" hidden"); + $('#device-listing-status').removeClass('hidden'); + $('#device-listing-status-msg').text('Server is unable to perform the search please enroll at least one device or check the search query'); + } + ); + }); + } }); -}); +}); \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/public/templates/device-listing.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/public/templates/device-listing.hbs index eafe9cd4b1..30b5f71e5f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/public/templates/device-listing.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/public/templates/device-listing.hbs @@ -5,7 +5,7 @@
    +
    - +
    {{#if sessionDataKey}} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js index 6df9082eb3..3e3c64781f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js @@ -85,7 +85,7 @@ $("a#invite-user-link").click(function () { modalDialog.footer(''); $("a#invite-user-success-link").click(function () { - modalPopup.hide(); + modalDialog.hide(); }); }, function () { @@ -95,14 +95,14 @@ $("a#invite-user-link").click(function () { modalDialog.footer(''); $("a#invite-user-error-link").click(function () { - modalPopup.hide(); + modalDialog.hide(); }); } ); }); $("a#invite-user-cancel-link").click(function () { - modalPopup.hide(); + modalDialog.hide(); }); }); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/users.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/users.hbs index b22af2dc10..5741aab8aa 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/users.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/users.hbs @@ -108,14 +108,14 @@ Enter new password

    -

    Retype new password

    -

    diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.platform.configuration/configuration.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.platform.configuration/configuration.hbs index 1fdef264e8..0a1b45b09c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.platform.configuration/configuration.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.platform.configuration/configuration.hbs @@ -82,7 +82,7 @@
    - ( Should be in milliseconds ) + ( Should be in seconds )
    - +


    Type a new password *

    -


    Reconfirm your new password *

    - +


    diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error400.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error400.html new file mode 100644 index 0000000000..9213fa2e2f --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error400.html @@ -0,0 +1,33 @@ + + + + + + + Bad request - Error 400 + + + + + + +

    Error 400

    +

    We are unable to understand the request and process it. Please re-check your request.

    + + + + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error401.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error401.html new file mode 100644 index 0000000000..e803601a08 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error401.html @@ -0,0 +1,33 @@ + + + + + + + Unauthorized - Error 401 + + + + + + +

    Error 401

    +

    You do not have permission to access this page.Please contact your administrator and request permission.

    + + + + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error403.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error403.html new file mode 100644 index 0000000000..e7615ea7de --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error403.html @@ -0,0 +1,34 @@ + + + + + + + Forbidden - Error 403 + + + + + + + +

    Error 403

    +

    We cannot process this request.

    + + + + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error404.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error404.html new file mode 100644 index 0000000000..49c9ab87e4 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error404.html @@ -0,0 +1,33 @@ + + + + + + + Page not found - Error 404 + + + + + + +

    Error 404

    +

    We can't find what you are looking for.

    + + + + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error405.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error405.html new file mode 100644 index 0000000000..d42ff5fe20 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error405.html @@ -0,0 +1,33 @@ + + + + + + + Method not allowed - Error 405 + + + + + + +

    Error 405

    +

    Method not allowed.

    + + + + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error500.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error500.html new file mode 100644 index 0000000000..48cfdc4c97 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error500.html @@ -0,0 +1,32 @@ + + + + + + + Internal Server Error - Error 500 + + + + + +

    Error 500

    +

    Something went wrong and we're trying to fix it.

    + + + + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/jaggery.conf b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/jaggery.conf index 76bfb37095..832c1ab252 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/jaggery.conf +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/jaggery.conf @@ -56,51 +56,59 @@ "path": "/api/operation-api.jag" } ], + "errorPages": { + "500": "/error-pages/error500.html", + "404": "/error-pages/error404.html", + "401": "/error-pages/error401.html", + "405": "/error-pages/error405.html", + "403": "/error-pages/error403.html", + "400": "/error-pages/error400.html" + }, "filters": [ + { + "name": "URLBasedCachePreventionFilter", + "class": "org.wso2.carbon.ui.filters.cache.URLBasedCachePreventionFilter" + }, + { + "name":"HttpHeaderSecurityFilter", + "class":"org.apache.catalina.filters.HttpHeaderSecurityFilter", + "params" : [{"name" : "hstsEnabled", "value" : "false"}] + } + ], + "filterMappings": [ + { + "name": "URLBasedCachePreventionFilter", + "url": "/api/*" + }, + { + "name":"HttpHeaderSecurityFilter", + "url":"*" + } + ], + "listeners" : [ { - "name": "URLBasedCachePreventionFilter", - "class": "org.wso2.carbon.ui.filters.cache.URLBasedCachePreventionFilter" + "class" : "org.owasp.csrfguard.CsrfGuardServletContextListener" }, { - "name":"HttpHeaderSecurityFilter", - "class":"org.apache.catalina.filters.HttpHeaderSecurityFilter", - "params" : [{"name" : "hstsEnabled", "value" : "false"}] + "class" : "org.owasp.csrfguard.CsrfGuardHttpSessionListener" } ], - "filterMappings": [ + "servlets" : [ { - "name": "URLBasedCachePreventionFilter", - "url": "/api/*" - }, + "name" : "JavaScriptServlet", + "class" : "org.owasp.csrfguard.servlet.JavaScriptServlet" + } + ], + "servletMappings" : [ { - "name":"HttpHeaderSecurityFilter", - "url":"*" + "name" : "JavaScriptServlet", + "url" : "/csrf.js" } ], - "listeners" : [ - { - "class" : "org.owasp.csrfguard.CsrfGuardServletContextListener" - }, - { - "class" : "org.owasp.csrfguard.CsrfGuardHttpSessionListener" - } - ], - "servlets" : [ - { - "name" : "JavaScriptServlet", - "class" : "org.owasp.csrfguard.servlet.JavaScriptServlet" - } - ], - "servletMappings" : [ - { - "name" : "JavaScriptServlet", - "url" : "/csrf.js" - } - ], - "contextParams" : [ - { - "name" : "Owasp.CsrfGuard.Config", - "value" : "/repository/conf/security/Owasp.CsrfGuard.Carbon.properties" - } - ] + "contextParams" : [ + { + "name" : "Owasp.CsrfGuard.Config", + "value" : "/repository/conf/security/Owasp.CsrfGuard.dashboard.properties" + } + ] } \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/pages/uuf.page.sign-in/sign-in.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/pages/uuf.page.sign-in/sign-in.hbs index 06fde86ec3..ba781f71b3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/pages/uuf.page.sign-in/sign-in.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/pages/uuf.page.sign-in/sign-in.hbs @@ -39,7 +39,7 @@ placeholder="User Name" required="required" autofocus="autofocus" />
    -
    {{#if referer}} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/jaggery.conf b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/jaggery.conf index 038abd25e5..f97bae72cf 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/jaggery.conf +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/jaggery.conf @@ -26,5 +26,52 @@ "url": "/*", "path": "/lib/pages.jag" } - ] + ], + "filters": [ + { + "name": "URLBasedCachePreventionFilter", + "class": "org.wso2.carbon.ui.filters.cache.URLBasedCachePreventionFilter" + }, + { + "name":"HttpHeaderSecurityFilter", + "class":"org.apache.catalina.filters.HttpHeaderSecurityFilter", + "params" : [{"name" : "hstsEnabled", "value" : "false"}] + } + ], + "filterMappings": [ + { + "name": "URLBasedCachePreventionFilter", + "url": "/api/*" + }, + { + "name":"HttpHeaderSecurityFilter", + "url":"*" + } + ], + "listeners" : [ + { + "class" : "org.owasp.csrfguard.CsrfGuardServletContextListener" + }, + { + "class" : "org.owasp.csrfguard.CsrfGuardHttpSessionListener" + } + ], + "servlets" : [ + { + "name" : "JavaScriptServlet", + "class" : "org.owasp.csrfguard.servlet.JavaScriptServlet" + } + ], + "servletMappings" : [ + { + "name" : "JavaScriptServlet", + "url" : "/csrf.js" + } + ], + "contextParams" : [ + { + "name" : "Owasp.CsrfGuard.Config", + "value" : "/repository/conf/security/Owasp.CsrfGuard.dashboard.properties" + } + ] } \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js index ab0f099fea..c850d68bac 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js @@ -502,26 +502,24 @@ var module = {}; // This is a logout response. module.logout(response); } else { - // This is a login response. - var ssoConfigs = getSsoConfigurations(); - var rsEnabled = ssoConfigs[constants.APP_CONF_AUTH_MODULE_SSO_RESPONSE_SIGNING_ENABLED]; - if (utils.parseBoolean(rsEnabled)) { - var CarbonUtils = Packages.org.wso2.carbon.utils.CarbonUtils; - var keyStorePassword = CarbonUtils.getServerConfiguration().getFirstProperty("Security.TrustStore.Password"); - var keyStoreName = CarbonUtils.getServerConfiguration().getFirstProperty("Security.TrustStore.Location"); - var identityAlias = ssoConfigs[constants.APP_CONF_AUTH_MODULE_SSO_IDENTITY_ALIAS]; - var keyStoreParams = { - KEY_STORE_NAME: keyStoreName, - KEY_STORE_PASSWORD: keyStorePassword, - IDP_ALIAS: identityAlias, - USE_ST_KEY: !ssoConfigs[constants.APP_CONF_AUTH_MODULE_SSO_USE_ST_KEY] - }; - if (!ssoClient.validateSignature(samlResponseObj, keyStoreParams)) { - var msg = "Invalid signature found in the SAML response."; - log.error(msg); - response.sendError(500, msg); - return; - } + // This is a login response. + var ssoConfigs = getSsoConfigurations(); + var CarbonUtils = Packages.org.wso2.carbon.utils.CarbonUtils; + var keyStorePassword = CarbonUtils.getServerConfiguration().getFirstProperty("Security.TrustStore.Password"); + var keyStoreName = CarbonUtils.getServerConfiguration().getFirstProperty("Security.TrustStore.Location"); + var identityAlias = ssoConfigs[constants.APP_CONF_AUTH_MODULE_SSO_IDENTITY_ALIAS]; + var keyStoreParams = { + KEY_STORE_NAME: keyStoreName, + KEY_STORE_PASSWORD: keyStorePassword, + IDP_ALIAS: identityAlias + }; + + if (!ssoClient.validateSamlResponse(samlResponseObj, ssoConfigs, keyStoreParams)) { + var msg = "Invalid signature found in the SAML response."; + log.error(msg); + response.sendError(500, msg); + return; + } } /** * @type {{sessionId: string, loggedInUser: string, sessionIndex: string, samlToken: @@ -532,7 +530,7 @@ var module = {}; if (ssoSession.sessionId) { var ssoSessions = getSsoSessions(); ssoSessions[ssoSession.sessionId] = ssoSession; - if (ssoSession.sessionIndex != null || ssoSession.sessionIndex != 'undefined') { + if (ssoSession.sessionIndex) { module.loadTenant(ssoSession.loggedInUser); var carbonUser = (require("carbon")).server.tenantUser(ssoSession.loggedInUser); utils.setCurrentUser(carbonUser.username, carbonUser.domain, carbonUser.tenantId); diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 440e770ce5..c442a830b3 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -116,6 +116,8 @@ org.wso2.carbon.identity.application.authentication.framework.model, org.apache.oltu.oauth2.common, org.wso2.carbon.base, + org.apache.xerces.impl; resolution:=optional, + org.apache.xerces.util; resolution:=optional diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Policy.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Policy.java index 4620adb72e..d62fbbc0c1 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Policy.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Policy.java @@ -36,55 +36,133 @@ public class Policy implements Comparable, Serializable { private static final long serialVersionUID = 19981017L; - @ApiModelProperty(name = "id", value = "The policy ID", required = true) + @ApiModelProperty( + name = "id", + value = "The policy ID", + required = true, + example = "1") private int id; // Identifier of the policy. - @ApiModelProperty(name = "priorityId", value = "The priority order of the policy. 1 indicates the highest" - + " priority", required = true) + + @ApiModelProperty( + name = "priorityId", + value = "The priority order of the policy. 1 indicates the highest priority", + required = true, + example = "1") private int priorityId; // Priority of the policies. This will be used only for simple evaluation. - @ApiModelProperty(name = "profile", value = "Contains the details of the profile that is included in the " - + "policy", required = true) + + @ApiModelProperty( + name = "profile", + value = "Contains the details of the profile that is included in the policy", + required = true) private Profile profile; // Profile - @ApiModelProperty(name = "policyName", value = "The name of the policy", required = true) + + @ApiModelProperty( + name = "policyName", + value = "The name of the policy", + required = true, + example = "Block Camera") private String policyName; // Name of the policy. - @ApiModelProperty(name = "generic", value = "If true, this should be applied to all related device", - required = true) + + @ApiModelProperty( + name = "generic", + value = "If true, this should be applied to all related device", + required = true, + example = "false") private boolean generic; // If true, this should be applied to all related device. - @ApiModelProperty(name = "roles", value = "The roles to whom the policy is applied on", required = true) + + @ApiModelProperty( + name = "roles", + value = "The roles to whom the policy is applied on", + required = true, + example = "[ \n" + " \"ANY\"\n" + " ]") private List roles; // Roles which this policy should be applied. - @ApiModelProperty(name = "ownershipType", value = "The policy ownership type. It can be any of the " - + "following values:\n" - + "ANY - The policy will be applied on the BYOD and COPE device types\n" - + "BYOD (Bring Your Own Device) - The policy will only be applied on the BYOD device type\n" - + "COPE (Corporate-Owned, Personally-Enabled) - The policy will only be applied on the COPE " - + "device type\n", required = true) + + @ApiModelProperty( + name = "ownershipType", + value = "The policy ownership type. It can be any of the following values:\n" + + "ANY - The policy will be applied on the BYOD and COPE device types\n" + + "BYOD (Bring Your Own Device) - The policy will only be applied on the BYOD device type\n" + + "COPE (Corporate-Owned, Personally-Enabled) - The policy will only be applied on the COPE " + + "device type\n", + required = true, + example = "BYOD") private String ownershipType; // Ownership type (COPE, BYOD, CPE) - @ApiModelProperty(name = "devices", value = "Lists out the devices the policy is enforced on", - required = true) + + @ApiModelProperty( + name = "devices", + value = "Lists out the devices the policy is enforced on", + required = true, + example = "[]") private List devices; // Individual devices this policy should be applied - @ApiModelProperty(name = "users", value = "Lists out the users on whose devices the policy is enforced", - required = true) + + @ApiModelProperty( + name = "users", + value = "Lists out the users on whose devices the policy is enforced", + required = true, + example = "[]") private List users; - @ApiModelProperty(name = "active", value = "If the value is true it indicates that the policy is active. " - + "If the value is false it indicates that the policy is inactive", required = true) + + @ApiModelProperty( + name = "active", + value = "If the value is true it indicates that the policy is active. " + + "If the value is false it indicates that the policy is inactive", + required = true, + example = "false") private boolean active; - @ApiModelProperty(name = "updated", value = "If you have made changes to the policy but have not applied" - + " these changes to the devices that are registered with EMM, then the value is defined as true." - + " But if you have already applied any changes made to the policy then the value is defined as" - + " false.", required = true) + + @ApiModelProperty( + name = "updated", + value = "If you have made changes to the policy but have not applied" + + " these changes to the devices that are registered with EMM, then the value is defined as true." + + " But if you have already applied any changes made to the policy then the value is defined as" + + " false.", + required = true, + example = "false") private boolean updated; - @ApiModelProperty(name = "description", value = "Gives a description on the policy", required = true) + + @ApiModelProperty( + name = "description", + value = "Gives a description on the policy", + required = true, + example = "This will block the camera functionality") private String description; - /* Compliance data*/ - private String compliance; + @ApiModelProperty( + name = "compliance", + value = "Define the non-compliance rules. WSO2 EMM provides the following non-compliance rules:\n" + + "Enforce - Forcefully enforce the policies on the devices.\n" + + "Warning - If the device does not adhere to the given policies a warning message will " + + "be sent.\n" + + "Monitor - If the device does not adhere to the given policies the server is notified " + + "of the violation unknown to the user and the administrator can take the necessary " + + "actions with regard to the reported", + required = true, + example = "enforce") + private String compliance; /* Compliance data*/ /*Dynamic policy attributes*/ /* This is related criteria based policy */ + @ApiModelProperty( + name = "policyCriterias", + value = "", + required = true, + example = "[]") private List policyCriterias; + @ApiModelProperty( + name = "tenantId", + value = "", + required = true, + example = "-1234") private int tenantId; + + @ApiModelProperty( + name = "profileId", + value = "", + required = true, + example = "1") private int profileId; /*This will be used to record attributes which will be used by customer extended PDPs and PIPs*/ @@ -92,7 +170,11 @@ public class Policy implements Comparable, Serializable { private Map attributes; /*This will keep the list of groups to which the policy will be applied. */ - + @ApiModelProperty( + name = "deviceGroups", + value = "This will keep the list of groups to which the policy will be applied", + required = true, + example = "[]") private List deviceGroups; diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Profile.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Profile.java index 0d3d08026d..ddc1411330 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Profile.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Profile.java @@ -18,8 +18,8 @@ package org.wso2.carbon.policy.mgt.common; - - +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.device.mgt.core.dto.DeviceType; import javax.xml.bind.annotation.XmlElement; @@ -28,17 +28,61 @@ import java.io.Serializable; import java.sql.Timestamp; import java.util.List; @XmlRootElement +@ApiModel(value = "Profile", description = "This class carries all information related to policy profiles") + public class Profile implements Serializable { + @ApiModelProperty( + name = "profileId", + value = "The ID of each profile that is in the selected policy", + required = true, + example = "1") private int profileId; + + @ApiModelProperty( + name = "profileName", + value = "The name of the profile", + required = true, + example = "Block Camera") private String profileName; + + @ApiModelProperty( + name = "tenantId", + value = "The ID of the tenant that added the policy", + required = true, + example = "-1234") private int tenantId; + + @ApiModelProperty( + name = "deviceType", + value = "Contains the device type details the policy was created for", + required = true, + example = "android") private String deviceType; + + @ApiModelProperty( + name = "createdDate", + value = "The date the policy was created", + required = true, + example = "Thu, 6 Oct 2016 14:39:32 +0530") private Timestamp createdDate; + + @ApiModelProperty( + name = "updatedDate", + value = "The date the changes made to the policy was published to" + + " the devices registered with the EMM", + required = true, + example = "Thu, 6 Oct 2016 14:39:32 +0530") private Timestamp updatedDate; -// private List featuresList; // Features included in the policies. + + @ApiModelProperty( + name = "profileFeaturesList", + value = "Contains the features specific to each profile in the policy", + required = true) private List profileFeaturesList; // Features included in the policies. +// private List featuresList; // Features included in the policies. + public String getDeviceType() { return deviceType; } @@ -55,13 +99,12 @@ public class Profile implements Serializable { this.tenantId = tenantId; } -/* public List getFeaturesList() { - return featuresList; - } - - public void setFeaturesList(List featuresList) { - this.featuresList = featuresList; - }*/ + /* public List getFeaturesList() { + return featuresList; + } + public void setFeaturesList(List featuresList) { + this.featuresList = featuresList; + }*/ @XmlElement public int getProfileId() { return profileId; @@ -106,4 +149,4 @@ public class Profile implements Serializable { public void setProfileFeaturesList(List profileFeaturesList) { this.profileFeaturesList = profileFeaturesList; } -} +} \ No newline at end of file diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/ProfileFeature.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/ProfileFeature.java index 723f5fb49c..e5e353adc2 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/ProfileFeature.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/ProfileFeature.java @@ -29,18 +29,39 @@ public class ProfileFeature implements Serializable { private static final long serialVersionUID = 19981018L; - @ApiModelProperty(name = "id", value = "Define the ID", required = true) + @ApiModelProperty( + name = "id", + value = "Define the ID", + required = true, + example = "1") private int id; - @ApiModelProperty(name = "featureCode", value = "Provide the code that defines the policy you wish to add", - required = true) + + @ApiModelProperty( + name = "featureCode", + value = "Provide the code that defines the policy you wish to add", + required = true, + example = "CAMERA") private String featureCode; - @ApiModelProperty(name = "profileId", value = "Define the ID of the profile", required = true) + + @ApiModelProperty( + name = "profileId", + value = "Define the ID of the profile", + required = true, + example = "1") private int profileId; - @ApiModelProperty(name = "deviceTypeId", value = "The ID used to define the type of the device platform", - required = true) + + @ApiModelProperty( + name = "deviceType", + value = "The ID used to define the type of the device platform", + required = true, + example = "android") private String deviceType; - @ApiModelProperty(name = "content", value = "The list of parameters that define the policy", - required = true) + + @ApiModelProperty( + name = "content", + value = "The list of parameters that define the policy", + required = true, + example = "{\\\"enabled\\\":false}") private Object content; public int getId() { @@ -82,4 +103,4 @@ public class ProfileFeature implements Serializable { public void setContent(Object content) { this.content = content; } -} +} \ No newline at end of file diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/src/main/java/org/wso2/carbon/webapp/authenticator/framework/authenticator/oauth/impl/LocalOAuthValidator.java b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/src/main/java/org/wso2/carbon/webapp/authenticator/framework/authenticator/oauth/impl/LocalOAuthValidator.java index 352d8d8f62..e02f500119 100755 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/src/main/java/org/wso2/carbon/webapp/authenticator/framework/authenticator/oauth/impl/LocalOAuthValidator.java +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/src/main/java/org/wso2/carbon/webapp/authenticator/framework/authenticator/oauth/impl/LocalOAuthValidator.java @@ -19,6 +19,7 @@ package org.wso2.carbon.webapp.authenticator.framework.authenticator.oauth.impl; import org.wso2.carbon.identity.oauth2.dto.OAuth2TokenValidationRequestDTO; import org.wso2.carbon.identity.oauth2.dto.OAuth2TokenValidationResponseDTO; +import org.wso2.carbon.utils.multitenancy.MultitenantConstants; import org.wso2.carbon.utils.multitenancy.MultitenantUtils; import org.wso2.carbon.webapp.authenticator.framework.AuthenticatorFrameworkDataHolder; import org.wso2.carbon.webapp.authenticator.framework.authenticator.oauth.OAuth2TokenValidator; @@ -64,6 +65,9 @@ public class LocalOAuthValidator implements OAuth2TokenValidator { tokenValidationResponse.getAuthorizedUser()); tenantDomain = MultitenantUtils.getTenantDomain(tokenValidationResponse.getAuthorizedUser()); + if (MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) { + tenantDomain = MultitenantUtils.getTenantDomain(userName); + } } else { OAuthValidationResponse oAuthValidationResponse = new OAuthValidationResponse(); oAuthValidationResponse.setErrorMsg(tokenValidationResponse.getErrorMsg()); diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/cdm-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/cdm-config.xml index 462258c681..9a54ff8eab 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/cdm-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/cdm-config.xml @@ -27,6 +27,7 @@ org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.GCMBasedPushNotificationProvider + From 9def8aa609b314b82d38d4aeeaefce71475bd6c0 Mon Sep 17 00:00:00 2001 From: geethkokila Date: Thu, 8 Dec 2016 14:08:46 +0530 Subject: [PATCH 04/14] Fixing the login issue --- .../jaggeryapps/uuf-template-app/lib/modules/auth/auth.js | 1 + 1 file changed, 1 insertion(+) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js index c850d68bac..d03af765fd 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js @@ -533,6 +533,7 @@ var module = {}; if (ssoSession.sessionIndex) { module.loadTenant(ssoSession.loggedInUser); var carbonUser = (require("carbon")).server.tenantUser(ssoSession.loggedInUser); + module.loadTenant(ssoSession.loggedInUser); utils.setCurrentUser(carbonUser.username, carbonUser.domain, carbonUser.tenantId); var scriptArgument = {input: {samlToken: ssoSession.samlToken}, user: module.getCurrentUser()}; handleEvent(OPERATION_LOGIN, EVENT_SUCCESS, scriptArgument); From 87b2fb36036e1edef4f9dc7f8d12dadf14aa7478 Mon Sep 17 00:00:00 2001 From: geethkokila Date: Thu, 8 Dec 2016 14:28:33 +0530 Subject: [PATCH 05/14] Fixing the login issue --- .../jaggeryapps/uuf-template-app/lib/modules/auth/auth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js index d03af765fd..2cf9771bea 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/lib/modules/auth/auth.js @@ -520,7 +520,7 @@ var module = {}; response.sendError(500, msg); return; } - } + /** * @type {{sessionId: string, loggedInUser: string, sessionIndex: string, samlToken: * string}} From b9d104e9b2ea06eb05f05524fe9808a7dc9f957f Mon Sep 17 00:00:00 2001 From: geethkokila Date: Thu, 8 Dec 2016 14:38:42 +0530 Subject: [PATCH 06/14] Fixing the certificate mgt issue --- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index cf23d12014..69cbb3d958 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -51,8 +51,7 @@ ${carbon.device.mgt.version} Device Management Core Bundle - org.wso2.carbon.certificate.mgt.core.internal, - org.wso2.carbon.certificate.mgt.core.util + org.wso2.carbon.certificate.mgt.core.internal org.osgi.framework, @@ -60,7 +59,7 @@ org.apache.commons.logging, javax.security.auth.x500, javax.xml.*, - javax.xml.parsers;version="${javax.xml.parsers.import.pkg.version}";resolution:=optional, + javax.xml.parsers;version="${javax.xml.parsers.import.pkg.version}";resolution:=optional, org.apache.commons.codec.binary, org.bouncycastle.asn1, org.bouncycastle.asn1.x500, @@ -98,7 +97,6 @@ !org.wso2.carbon.certificate.mgt.core.internal.*, - !org.wso2.carbon.certificate.mgt.core.util, org.wso2.carbon.certificate.mgt.core.* From 60d1281949440dc1d3f914fdbc457ffc8e6f390b Mon Sep 17 00:00:00 2001 From: Hasunie Date: Thu, 8 Dec 2016 15:58:32 +0530 Subject: [PATCH 07/14] fixing windows device name issue --- .../DeviceManagementProviderServiceImpl.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java index 88a2705bb4..3f60cc89e0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java @@ -274,7 +274,9 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv Device currentDevice = deviceDAO.getDevice(deviceIdentifier, tenantId); device.setId(currentDevice.getId()); device.getEnrolmentInfo().setId(currentDevice.getEnrolmentInfo().getId()); - device.setName(currentDevice.getName()); + if (device.getName() == null) { + device.setName(currentDevice.getName()); + } deviceDAO.updateDevice(device, tenantId); enrollmentDAO.updateEnrollment(device.getEnrolmentInfo()); DeviceManagementDAOFactory.commitTransaction(); @@ -365,7 +367,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } } catch (DeviceManagementDAOException e) { throw new DeviceManagementException("Error occurred while obtaining the enrollment information device for" + - "id '" + deviceId.getId() + "'", e); + "id '" + deviceId.getId() + "'", e); } catch (SQLException e) { throw new DeviceManagementException("Error occurred while opening a connection to the data source", e); } finally { @@ -875,7 +877,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv if (device == null) { if (log.isDebugEnabled()) { log.debug("No device is found upon the type '" + deviceId.getType() + "' and id '" + - deviceId.getId() + "'"); + deviceId.getId() + "'"); } return null; } @@ -888,7 +890,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv device.setApplications(applications); } catch (DeviceManagementDAOException e) { throw new DeviceManagementException("Error occurred while obtaining the device for id " + - "'" + deviceId.getId() + "'", e); + "'" + deviceId.getId() + "'", e); } catch (SQLException e) { throw new DeviceManagementException("Error occurred while opening a connection to the data source", e); } catch (DeviceDetailsMgtDAOException e) { @@ -902,7 +904,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv if (deviceManager == null) { if (log.isDebugEnabled()) { log.debug("Device Manager associated with the device type '" + deviceId.getType() + "' is null. " + - "Therefore, not attempting method 'getDevice'"); + "Therefore, not attempting method 'getDevice'"); } return device; } @@ -1225,7 +1227,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv List taskOperations; Map> deviceTypeSpecificTasks = new HashMap<>(); - for(DeviceTypeIdentifier dti : deviceManagementServiceMap.keySet()){ + for (DeviceTypeIdentifier dti : deviceManagementServiceMap.keySet()) { dms = deviceManagementServiceMap.get(dti); taskOperations = dms.getTasksForPlatform(); if (taskOperations != null) { @@ -1846,7 +1848,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } } catch (DeviceManagementDAOException e) { throw new DeviceManagementException("Error occurred while obtaining the enrollment information device for" + - "id '" + deviceId.getId() + "' and user : " + user, e); + "id '" + deviceId.getId() + "' and user : " + user, e); } catch (SQLException e) { throw new DeviceManagementException("Error occurred while opening a connection to the data source", e); } finally { @@ -1914,8 +1916,8 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv /** * Checks for the default group existence and create group based on device ownership * - * @param service {@link GroupManagementProviderService} instance. - * @param groupName of the group to create. + * @param service {@link GroupManagementProviderService} instance. + * @param groupName of the group to create. * @return Group with details. * @throws GroupManagementException */ From 312098b1de85f7e70266ac80946e43cad736bc40 Mon Sep 17 00:00:00 2001 From: charitha Date: Thu, 8 Dec 2016 17:19:12 +0530 Subject: [PATCH 08/14] Fix issues in generic policy editor --- .../public/js/editor.js | 13 +++- .../public/js/policy-create.js | 62 ++++++++++++------- 2 files changed, 50 insertions(+), 25 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.generic.policy-wizard/public/js/editor.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.generic.policy-wizard/public/js/editor.js index aca1bf0a7c..1b3035cf62 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.generic.policy-wizard/public/js/editor.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.generic.policy-wizard/public/js/editor.js @@ -34,4 +34,15 @@ window.queryEditor = CodeMirror.fromTextArea(document.getElementById('policy-def var validatePolicyProfile = function () { return true; -}; \ No newline at end of file +}; + +/** + * Generates policy profile feature list which will be saved with the profile. + * + * This function will be invoked from the relevant cdmf unit at the time of policy creation. + * + * @returns {Array} profile payloads + */ +var generateGenericPayload = function () { + return window.queryEditor.getValue(); +}; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js index 63807df7d9..14d08a9969 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js @@ -21,6 +21,7 @@ var policy = {}; var validateInline = {}; var clearInline = {}; var validateStep = {}; +var hasPolicyProfileScript = false; var enableInlineError = function (inputField, errorMsg, errorSign) { var fieldIdentifier = "#" + inputField; @@ -157,6 +158,9 @@ stepForwardFrom["policy-platform"] = function (actionButton) { script.type = 'text/javascript'; script.src = context + policyOperationsScriptSrc; $(".wr-advance-operations").prepend(script); + hasPolicyProfileScript = true; + } else { + hasPolicyProfileScript = false; } if (policyOperationsStylesSrc) { var style = document.createElement('link'); @@ -172,11 +176,14 @@ stepForwardFrom["policy-platform"] = function (actionButton) { * Forward action of policy profile page. Generates policy profile payload. */ stepForwardFrom["policy-profile"] = function () { - /* - generatePolicyProfile() function should be implemented in plugin side and should include the logic to build the - policy profile object. - */ - policy["profile"] = generatePolicyProfile(); + policy["profile"] = []; + if (hasPolicyProfileScript) { + /* + generatePolicyProfile() function should be implemented in plugin side and should include the logic to build the + policy profile object. + */ + policy["profile"] = generatePolicyProfile(); + } // updating next-page wizard title with selected platform $("#policy-criteria-page-wizard-title").text("ADD " + policy["platform"] + " POLICY"); }; @@ -185,11 +192,13 @@ stepForwardFrom["policy-profile"] = function () { * Backward action of policy profile page. Moves back to platform selection step. */ stepBackFrom["policy-profile"] = function () { - /* - resetPolicyProfile() function should be implemented in plugin side and should include the logic to reset the policy - profile object. - */ - resetPolicyProfile(); + if (hasPolicyProfileScript) { + /* + resetPolicyProfile() function should be implemented in plugin side and should include the logic to reset the policy + profile object. + */ + resetPolicyProfile(); + } }; /** @@ -365,21 +374,26 @@ stepForwardFrom["policy-naming"] = function () { }; var savePolicy = function (policy, isActive, serviceURL) { - /* - generateProfileFeaturesList() should be implemented in the plugin side and should include logic to build the - profilePayloads array which contains objects, {featureCode:"value", deviceType:"value", content:"value"}. - policy["profile"] object will be available for the method which returns from the generatePolicyProfile() function. - */ - var profilePayloads = generateProfileFeaturesList(); - - $.each(profilePayloads, function (i, item) { - $.each(item.content, function (key, value) { - //cannot add a true check since it will catch value = false as well - if (value === null || value === undefined || value === "") { - item.content[key] = null; - } + var profilePayloads; + if (hasPolicyProfileScript) { + /* + generateProfileFeaturesList() should be implemented in the plugin side and should include logic to build the + profilePayloads array which contains objects, {featureCode:"value", deviceType:"value", content:"value"}. + policy["profile"] object will be available for the method which returns from the generatePolicyProfile() function. + */ + profilePayloads = generateProfileFeaturesList(); + + $.each(profilePayloads, function (i, item) { + $.each(item.content, function (key, value) { + //cannot add a true check since it will catch value = false as well + if (value === null || value === undefined || value === "") { + item.content[key] = null; + } + }); }); - }); + } else { + profilePayloads = generateGenericPayload(); + } var payload = { "policyName": policy["policyName"], From b889f6e384b5a732cc621b6e9ed01c000de35f9b Mon Sep 17 00:00:00 2001 From: madhawap Date: Thu, 8 Dec 2016 17:21:07 +0530 Subject: [PATCH 09/14] adding separate tasks for each device type --- .../deployer/config/TaskConfiguration.java | 11 -- .../template/DeviceTypeManagerService.java | 28 ++-- .../src/test/resources/sample.xml | 2 + ...peration.java => MonitoringOperation.java} | 3 +- .../common/OperationMonitoringTaskConfig.java | 40 ++++++ .../common/spi/DeviceManagementService.java | 6 +- .../DeviceManagementPluginRepository.java | 126 ++++++++++++----- .../internal/DeviceManagementDataHolder.java | 22 +++ .../DeviceManagementServiceComponent.java | 15 ++ .../DeviceMonitoringOperationDataHolder.java | 48 +++++++ .../DeviceTaskManagerServiceComponent.java | 43 ++++-- .../operation/mgt/OperationManagerImpl.java | 56 ++++---- .../DeviceManagementProviderService.java | 19 ++- .../DeviceManagementProviderServiceImpl.java | 50 ++++--- .../mgt/core/task/DeviceTaskManager.java | 46 +++--- .../core/task/DeviceTaskManagerService.java | 19 ++- .../task/impl/DeviceDetailsRetrieverTask.java | 6 +- .../core/task/impl/DeviceTaskManagerImpl.java | 132 +++++++----------- .../impl/DeviceTaskManagerServiceImpl.java | 52 +++---- .../mgt/core/TestDeviceManagementService.java | 6 +- .../src/main/resources/conf/cdm-config.xml | 8 +- 21 files changed, 476 insertions(+), 262 deletions(-) rename components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/{TaskOperation.java => MonitoringOperation.java} (96%) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/OperationMonitoringTaskConfig.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceMonitoringOperationDataHolder.java diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/config/TaskConfiguration.java b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/config/TaskConfiguration.java index c2539d2e6e..6de303e557 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/config/TaskConfiguration.java +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/config/TaskConfiguration.java @@ -30,10 +30,8 @@ import java.util.List; @XmlRootElement(name = "TaskConfiguration") public class TaskConfiguration { - private boolean enabled; private int frequency; - private String taskClazz; private List operations; @XmlElement(name = "Enable", required = true) @@ -54,15 +52,6 @@ public class TaskConfiguration { this.frequency = frequency; } - @XmlElement(name = "TaskClass", required = true) - public String getTaskClazz() { - return taskClazz; - } - - public void setTaskClazz(String taskClazz) { - this.taskClazz = taskClazz; - } - @XmlElementWrapper(name="Operations") @XmlElement(name = "Operation", required = true) public List getOperations() { diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/template/DeviceTypeManagerService.java b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/template/DeviceTypeManagerService.java index c83318ca9b..62d03ffeb5 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/template/DeviceTypeManagerService.java +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/template/DeviceTypeManagerService.java @@ -22,8 +22,9 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.DeviceManager; +import org.wso2.carbon.device.mgt.common.MonitoringOperation; +import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; import org.wso2.carbon.device.mgt.common.ProvisioningConfig; -import org.wso2.carbon.device.mgt.common.TaskOperation; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration; @@ -51,7 +52,8 @@ public class DeviceTypeManagerService implements DeviceManagementService { private PushNotificationConfig pushNotificationConfig; private ProvisioningConfig provisioningConfig; private String type; - private List taskOperations; + private OperationMonitoringTaskConfig operationMonitoringConfigs; + private List monitoringOperations; public DeviceTypeManagerService(DeviceTypeConfigIdentifier deviceTypeConfigIdentifier, DeviceTypeConfiguration deviceTypeConfiguration) { @@ -59,7 +61,8 @@ public class DeviceTypeManagerService implements DeviceManagementService { this.deviceManager = new DeviceTypeManager(deviceTypeConfigIdentifier, deviceTypeConfiguration); this.setType(deviceTypeConfiguration.getName()); this.populatePushNotificationConfig(deviceTypeConfiguration.getPushNotificationProvider()); - this.setTask(deviceTypeConfiguration); + this.operationMonitoringConfigs = new OperationMonitoringTaskConfig(); + this.setOperationMonitoringConfig(deviceTypeConfiguration); } @Override @@ -68,24 +71,27 @@ public class DeviceTypeManagerService implements DeviceManagementService { } @Override - public List getTasksForPlatform(){ - return taskOperations; + public OperationMonitoringTaskConfig getOperationMonitoringConfig(){ + return operationMonitoringConfigs; } - private void setTask(DeviceTypeConfiguration deviceTypeConfiguration) { + private void setOperationMonitoringConfig(DeviceTypeConfiguration deviceTypeConfiguration) { //Read the config file and take the list of operations there in the config TaskConfiguration taskConfiguration = deviceTypeConfiguration.getTaskConfiguration(); if (taskConfiguration != null) { + operationMonitoringConfigs.setEnabled(taskConfiguration.isEnabled()); + operationMonitoringConfigs.setFrequency(taskConfiguration.getFrequency()); List ops = taskConfiguration.getOperations(); if (ops != null && !ops.isEmpty()) { - taskOperations = new ArrayList<>(); + monitoringOperations = new ArrayList<>(); for (TaskConfiguration.Operation op : ops) { - TaskOperation taskOperation = new TaskOperation(); - taskOperation.setTaskName(op.getOperationName()); - taskOperation.setRecurrentTimes(op.getRecurrency()); - taskOperations.add(taskOperation); + MonitoringOperation monitoringOperation = new MonitoringOperation(); + monitoringOperation.setTaskName(op.getOperationName()); + monitoringOperation.setRecurrentTimes(op.getRecurrency()); + monitoringOperations.add(monitoringOperation); } } + operationMonitoringConfigs.setMonitoringOperation(monitoringOperations); } } diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/test/resources/sample.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/test/resources/sample.xml index a3d19a34ac..31b54ec20a 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/test/resources/sample.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/test/resources/sample.xml @@ -102,6 +102,8 @@ + true + 600000 DEVICE_INFO diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/TaskOperation.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/MonitoringOperation.java similarity index 96% rename from components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/TaskOperation.java rename to components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/MonitoringOperation.java index a7143b7173..7ce7000d81 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/TaskOperation.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/MonitoringOperation.java @@ -21,7 +21,7 @@ package org.wso2.carbon.device.mgt.common; /** * */ -public class TaskOperation { +public class MonitoringOperation { private String taskName; private int recurrentTimes; @@ -42,5 +42,6 @@ public class TaskOperation { this.recurrentTimes = recurrentTimes; } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/OperationMonitoringTaskConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/OperationMonitoringTaskConfig.java new file mode 100644 index 0000000000..7195d89dcb --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/OperationMonitoringTaskConfig.java @@ -0,0 +1,40 @@ +package org.wso2.carbon.device.mgt.common; + +import java.util.List; + +/** + * + */ +public class OperationMonitoringTaskConfig { + + private boolean isEnabled; + private int frequency; + private List monitoringOperation; + + public boolean isEnabled() { + return isEnabled; + } + + public void setEnabled(boolean enabled) { + isEnabled = enabled; + } + + public int getFrequency() { + return frequency; + } + + public void setFrequency(int frequency) { + this.frequency = frequency; + } + + public List getMonitoringOperation() { + return monitoringOperation; + } + + public void setMonitoringOperation(List monitoringOperation) { + this.monitoringOperation = monitoringOperation; + } + + + +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagementService.java index 24836a02ae..5870436678 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagementService.java @@ -20,13 +20,11 @@ package org.wso2.carbon.device.mgt.common.spi; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.DeviceManager; +import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; import org.wso2.carbon.device.mgt.common.ProvisioningConfig; -import org.wso2.carbon.device.mgt.common.TaskOperation; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager; import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig; -import java.util.List; - /** * Composite interface that acts as the SPI exposing all device management as well as application management * functionalities. @@ -37,7 +35,7 @@ public interface DeviceManagementService { String getType(); - List getTasksForPlatform();//getTasksConfiguraitons + OperationMonitoringTaskConfig getOperationMonitoringConfig(); DeviceManager getDeviceManager(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementPluginRepository.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementPluginRepository.java index 2526ece305..9e2a81d5c3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementPluginRepository.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementPluginRepository.java @@ -22,6 +22,7 @@ import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.DeviceTypeIdentifier; +import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; import org.wso2.carbon.device.mgt.common.ProvisioningConfig; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager; import org.wso2.carbon.device.mgt.common.push.notification.NotificationStrategy; @@ -31,8 +32,11 @@ import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService; import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; import org.wso2.carbon.device.mgt.core.internal.DeviceManagementServiceComponent; import org.wso2.carbon.device.mgt.core.internal.DeviceManagerStartupListener; +import org.wso2.carbon.device.mgt.core.internal.DeviceMonitoringOperationDataHolder; import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerImpl; import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerRepository; +import org.wso2.carbon.device.mgt.core.task.DeviceMgtTaskException; +import org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerService; import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; import java.util.Collections; @@ -72,6 +76,7 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis provider.getDeviceManager() .requireDeviceAuthorization()); registerPushNotificationStrategy(provider); + registerMonitoringTask(provider); } } catch (DeviceManagementException e) { throw new DeviceManagementException("Error occurred while adding device management provider '" + @@ -87,19 +92,26 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis } } - public void removeDeviceManagementProvider(DeviceManagementService provider) throws DeviceManagementException { - String deviceTypeName = provider.getType().toLowerCase(); - DeviceTypeIdentifier deviceTypeIdentifier; - ProvisioningConfig provisioningConfig = provider.getProvisioningConfig(); - if (provisioningConfig.isSharedWithAllTenants()) { - deviceTypeIdentifier = new DeviceTypeIdentifier(deviceTypeName); - providers.remove(deviceTypeIdentifier); - } else { - int providerTenantId = DeviceManagerUtil.getTenantId(provisioningConfig.getProviderTenantDomain()); - deviceTypeIdentifier = new DeviceTypeIdentifier(deviceTypeName, providerTenantId); - providers.remove(deviceTypeIdentifier); - } - OperationManager operationManager = operationManagerRepository.getOperationManager(deviceTypeIdentifier); + public void removeDeviceManagementProvider(DeviceManagementService provider) + throws DeviceManagementException { + String deviceTypeName = provider.getType().toLowerCase(); + DeviceTypeIdentifier deviceTypeIdentifier; + ProvisioningConfig provisioningConfig = provider.getProvisioningConfig(); + if (provisioningConfig.isSharedWithAllTenants()) { + deviceTypeIdentifier = new DeviceTypeIdentifier(deviceTypeName); + providers.remove(deviceTypeIdentifier); + } else { + int providerTenantId = DeviceManagerUtil.getTenantId(provisioningConfig.getProviderTenantDomain()); + deviceTypeIdentifier = new DeviceTypeIdentifier(deviceTypeName, providerTenantId); + providers.remove(deviceTypeIdentifier); + } + unregisterPushNotificationStrategy(deviceTypeIdentifier); + unregisterMonitoringTask(provider); + } + + private void unregisterPushNotificationStrategy(DeviceTypeIdentifier deviceTypeIdentifier) { + OperationManager operationManager = operationManagerRepository.getOperationManager( + deviceTypeIdentifier); if (operationManager != null) { NotificationStrategy notificationStrategy = operationManager.getNotificationStrategy(); if (notificationStrategy != null) { @@ -137,34 +149,78 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain( deviceManagementService.getProvisioningConfig().getProviderTenantDomain(), true); try { - boolean isSharedWithAllTenants = deviceManagementService.getProvisioningConfig().isSharedWithAllTenants(); - DeviceTypeIdentifier deviceTypeIdentifier; - if (isSharedWithAllTenants) { - deviceTypeIdentifier = new DeviceTypeIdentifier(deviceManagementService.getType()); - } else { - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - deviceTypeIdentifier = new DeviceTypeIdentifier(deviceManagementService.getType(), tenantId); - } + boolean isSharedWithAllTenants = deviceManagementService.getProvisioningConfig().isSharedWithAllTenants(); + DeviceTypeIdentifier deviceTypeIdentifier; + if (isSharedWithAllTenants) { + deviceTypeIdentifier = new DeviceTypeIdentifier(deviceManagementService.getType()); + } else { + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); + deviceTypeIdentifier = new DeviceTypeIdentifier(deviceManagementService.getType(), tenantId); + } - if (pushNoteConfig != null) { - PushNotificationProvider provider = DeviceManagementDataHolder.getInstance() - .getPushNotificationProviderRepository().getProvider(pushNoteConfig.getType()); - if (provider == null) { - throw new DeviceManagementException( - "No registered push notification provider found for the type: '" + - pushNoteConfig.getType() + "'."); - } - NotificationStrategy notificationStrategy = provider.getNotificationStrategy(pushNoteConfig); - operationManagerRepository.addOperationManager(deviceTypeIdentifier, new OperationManagerImpl( - notificationStrategy)); - } else { - operationManagerRepository.addOperationManager(deviceTypeIdentifier, new OperationManagerImpl()); + if (pushNoteConfig != null) { + PushNotificationProvider provider = DeviceManagementDataHolder.getInstance() + .getPushNotificationProviderRepository().getProvider(pushNoteConfig.getType()); + if (provider == null) { + throw new DeviceManagementException( + "No registered push notification provider found for the type: '" + + pushNoteConfig.getType() + "'."); } + NotificationStrategy notificationStrategy = provider.getNotificationStrategy(pushNoteConfig); + operationManagerRepository.addOperationManager(deviceTypeIdentifier, + new OperationManagerImpl(deviceTypeIdentifier.getDeviceType(), notificationStrategy)); + } else { + operationManagerRepository.addOperationManager(deviceTypeIdentifier, + new OperationManagerImpl(deviceTypeIdentifier.getDeviceType())); + } } finally { PrivilegedCarbonContext.endTenantFlow(); } } + private void registerMonitoringTask(DeviceManagementService deviceManagementService) + throws DeviceManagementException { + try { + DeviceTaskManagerService deviceTaskManagerService = DeviceManagementDataHolder.getInstance() + .getDeviceTaskManagerService(); + + OperationMonitoringTaskConfig operationMonitoringTaskConfig = deviceManagementService + .getOperationMonitoringConfig(); + + if (operationMonitoringTaskConfig != null && operationMonitoringTaskConfig.isEnabled()) { + + if (deviceTaskManagerService == null) { + DeviceMonitoringOperationDataHolder.getInstance().addOperationMonitoringConfigToMap( + deviceManagementService.getType(), operationMonitoringTaskConfig); + } else { + deviceTaskManagerService.startTask(deviceManagementService.getType(), + operationMonitoringTaskConfig); + // TODO: In here a race condition can arise. Need to handle it. + } + } + } catch (DeviceMgtTaskException e) { + throw new DeviceManagementException("Error occurred while adding task service for '" + + deviceManagementService.getType() + "'", e); + } + } + + private void unregisterMonitoringTask(DeviceManagementService deviceManagementService) + throws DeviceManagementException { + try { + DeviceTaskManagerService deviceTaskManagerService = DeviceManagementDataHolder.getInstance() + .getDeviceTaskManagerService(); + OperationMonitoringTaskConfig operationMonitoringTaskConfig = deviceManagementService + .getOperationMonitoringConfig(); + if (operationMonitoringTaskConfig != null) { + deviceTaskManagerService.stopTask(deviceManagementService.getType(), + deviceManagementService.getOperationMonitoringConfig()); + } + } catch (DeviceMgtTaskException e) { + throw new DeviceManagementException("Error occurred while removing task service for '" + + deviceManagementService.getType() + "'", e); + } + } + public OperationManager getOperationManager(String deviceType, int tenantId) { //Priority need to be given to the tenant before public. DeviceTypeIdentifier deviceTypeIdentifier = new DeviceTypeIdentifier(deviceType.toLowerCase(), tenantId); @@ -189,6 +245,7 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis DeviceManagerUtil.registerDeviceType(deviceTypeName, tenantId, provisioningConfig.isSharedWithAllTenants()); registerPushNotificationStrategy(provider); + registerMonitoringTask(provider); //TODO: //This is a temporory fix. //windows and IOS cannot resolve user info by extracting certs @@ -207,5 +264,4 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis this.isInited = true; } } - } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java index ea50220644..0ca96ec4d2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java @@ -19,6 +19,7 @@ package org.wso2.carbon.device.mgt.core.internal; import org.wso2.carbon.apimgt.impl.APIManagerConfiguration; +import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager; @@ -28,6 +29,7 @@ import org.wso2.carbon.device.mgt.core.config.license.LicenseConfig; import org.wso2.carbon.device.mgt.core.push.notification.mgt.PushNotificationProviderRepository; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; +import org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerService; import org.wso2.carbon.email.sender.core.service.EmailSenderService; import org.wso2.carbon.ntask.core.service.TaskService; import org.wso2.carbon.registry.core.service.RegistryService; @@ -36,6 +38,7 @@ import org.wso2.carbon.user.core.tenant.TenantManager; import org.wso2.carbon.utils.ConfigurationContextService; import java.util.HashMap; +import java.util.Map; public class DeviceManagementDataHolder { @@ -56,6 +59,18 @@ public class DeviceManagementDataHolder { private TaskService taskService; private EmailSenderService emailSenderService; private PushNotificationProviderRepository pushNotificationProviderRepository; + private DeviceTaskManagerService deviceTaskManagerService; + + private Map map = new HashMap<>(); + + + public void addToMap(OperationMonitoringTaskConfig taskConfig) { + this.map.put("aa", taskConfig); + } + + public Map getMap(){ + return this.map; + } private APIManagerConfiguration apiManagerConfiguration; @@ -210,4 +225,11 @@ public class DeviceManagementDataHolder { return pushNotificationProviderRepository; } + public DeviceTaskManagerService getDeviceTaskManagerService() { + return deviceTaskManagerService; + } + + public void setDeviceTaskManagerService(DeviceTaskManagerService deviceTaskManagerService) { + this.deviceTaskManagerService = deviceTaskManagerService; + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java index e1b1389a78..adbf6cda43 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java @@ -53,6 +53,7 @@ import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceImpl; +import org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerService; import org.wso2.carbon.device.mgt.core.util.DeviceManagementSchemaInitializer; import org.wso2.carbon.email.sender.core.service.EmailSenderService; import org.wso2.carbon.ndatasource.core.DataSourceService; @@ -402,4 +403,18 @@ public class DeviceManagementServiceComponent { DeviceManagementDataHolder.getInstance().setEmailSenderService(null); } + + protected void setDeviceTaskManagerService(DeviceTaskManagerService emailSenderService) { + if (log.isDebugEnabled()) { + } + DeviceManagementDataHolder.getInstance().setDeviceTaskManagerService(emailSenderService); + } + + protected void unsetDeviceTaskManagerService(DeviceTaskManagerService emailSenderService) { + if (log.isDebugEnabled()) { + } + DeviceManagementDataHolder.getInstance().setDeviceTaskManagerService(null); + } } + + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceMonitoringOperationDataHolder.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceMonitoringOperationDataHolder.java new file mode 100644 index 0000000000..5ae804d93f --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceMonitoringOperationDataHolder.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.wso2.carbon.device.mgt.core.internal; + +import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +/** + * + */ +public class DeviceMonitoringOperationDataHolder { + + private static DeviceMonitoringOperationDataHolder thisInstance = new DeviceMonitoringOperationDataHolder(); + private Map OperationConfigMap = Collections.synchronizedMap( + new HashMap()); + + + public static DeviceMonitoringOperationDataHolder getInstance() { + return thisInstance; + } + + public void addOperationMonitoringConfigToMap(String deviceType, OperationMonitoringTaskConfig OperationConfig) { + this.OperationConfigMap.put(deviceType, OperationConfig); + } + + public Map getOperationMonitoringConfigFromMap(){ + return this.OperationConfigMap; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceTaskManagerServiceComponent.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceTaskManagerServiceComponent.java index 7051d72f51..7dab541321 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceTaskManagerServiceComponent.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceTaskManagerServiceComponent.java @@ -22,15 +22,19 @@ package org.wso2.carbon.device.mgt.core.internal; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.osgi.service.component.ComponentContext; -import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; +import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManager; import org.wso2.carbon.device.mgt.core.device.details.mgt.impl.DeviceInformationManagerImpl; import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.search.mgt.impl.SearchManagerServiceImpl; +import org.wso2.carbon.device.mgt.core.task.DeviceMgtTaskException; import org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerService; import org.wso2.carbon.device.mgt.core.task.impl.DeviceTaskManagerServiceImpl; import org.wso2.carbon.ntask.core.service.TaskService; +import java.util.ArrayList; +import java.util.Map; + /** * @scr.component name="org.wso2.carbon.device.task.manager" immediate="true" * @scr.reference name="device.ntask.component" @@ -45,6 +49,8 @@ public class DeviceTaskManagerServiceComponent { private static Log log = LogFactory.getLog(DeviceManagementServiceComponent.class); + + @SuppressWarnings("unused") protected void activate(ComponentContext componentContext) { try { @@ -52,13 +58,14 @@ public class DeviceTaskManagerServiceComponent { log.debug("Initializing device details retrieving task manager bundle."); } // This will start the device details retrieving task. - boolean taskEnable = - DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration(). - isEnabled(); - if (taskEnable) { - DeviceTaskManagerService taskManagerService = new DeviceTaskManagerServiceImpl(); - taskManagerService.startTask(); - } +// DeviceTaskManagerService deviceTaskManagerService = new DeviceTaskManagerServiceImpl(); +// DeviceManagementDataHolder.getInstance().setDeviceTaskManagerService( +// deviceTaskManagerService); +// componentContext.getBundleContext().registerService(DeviceTaskManagerService.class, +// deviceTaskManagerService, null); + + getDeviceOperationMonitoringConfig(componentContext); + componentContext.getBundleContext().registerService(DeviceInformationManager.class, new DeviceInformationManagerImpl(), null); @@ -69,6 +76,26 @@ public class DeviceTaskManagerServiceComponent { } } + private void getDeviceOperationMonitoringConfig(ComponentContext componentContext) throws DeviceMgtTaskException { + + DeviceTaskManagerService deviceTaskManagerService = new DeviceTaskManagerServiceImpl(); + + DeviceManagementDataHolder.getInstance().setDeviceTaskManagerService( + deviceTaskManagerService); + + componentContext.getBundleContext().registerService(DeviceTaskManagerService.class, + deviceTaskManagerService, null); + + Map deviceConfigMap = DeviceMonitoringOperationDataHolder + .getInstance().getOperationMonitoringConfigFromMap(); + + for (String platformType : new ArrayList(deviceConfigMap.keySet())) { + deviceTaskManagerService.startTask(platformType, deviceConfigMap.get(platformType)); + deviceConfigMap.remove(platformType); + } + + } + @SuppressWarnings("unused") protected void deactivate(ComponentContext componentContext) { try { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java index 7f4e2f7a99..e79d95c5cc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java @@ -25,9 +25,9 @@ import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.EnrolmentInfo; import org.wso2.carbon.device.mgt.common.InvalidDeviceException; +import org.wso2.carbon.device.mgt.common.MonitoringOperation; import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.PaginationResult; -import org.wso2.carbon.device.mgt.common.TaskOperation; import org.wso2.carbon.device.mgt.common.TransactionManagementException; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; @@ -61,9 +61,7 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.Collections; import java.util.Date; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** * This class implements all the functionality exposed as part of the OperationManager. Any transaction initiated @@ -83,6 +81,7 @@ public class OperationManagerImpl implements OperationManager { private DeviceDAO deviceDAO; private EnrollmentDAO enrollmentDAO; private NotificationStrategy notificationStrategy; + private String deviceType; public OperationManagerImpl() { commandOperationDAO = OperationManagementDAOFactory.getCommandOperationDAO(); @@ -95,6 +94,11 @@ public class OperationManagerImpl implements OperationManager { enrollmentDAO = DeviceManagementDAOFactory.getEnrollmentDAO(); } + public OperationManagerImpl(String deviceType) { + this(); + this.deviceType = deviceType; + } + public NotificationStrategy getNotificationStrategy() { return notificationStrategy; } @@ -103,8 +107,8 @@ public class OperationManagerImpl implements OperationManager { this.notificationStrategy = notificationStrategy; } - public OperationManagerImpl(NotificationStrategy notificationStrategy) { - this(); + public OperationManagerImpl(String deviceType, NotificationStrategy notificationStrategy) { + this(deviceType); this.notificationStrategy = notificationStrategy; } @@ -243,7 +247,7 @@ public class OperationManagerImpl implements OperationManager { List unAuthorizedDeviceList = new ArrayList<>(); DeviceIDHolder deviceIDHolder = new DeviceIDHolder(); try { - if (operation != null && isAuthenticationSkippedOperation(operation, deviceIds)) { + if (operation != null && isAuthenticationSkippedOperation(operation)) { authorizedDeviceList = deviceIds; } else { boolean isAuthorized; @@ -885,11 +889,11 @@ public class OperationManagerImpl implements OperationManager { return CarbonContext.getThreadLocalCarbonContext().getUsername(); } - private boolean isAuthenticationSkippedOperation(Operation operation, List deviceIds) { + private boolean isAuthenticationSkippedOperation(Operation operation) { //This is to check weather operations are coming from the task related to retrieving device information. - DeviceTaskManager taskManager = new DeviceTaskManagerImpl(); - if (taskManager.isTaskOperation(operation.getCode(), deviceIds)) { + DeviceTaskManager taskManager = new DeviceTaskManagerImpl(deviceType); + if (taskManager.isTaskOperation(operation.getCode())) { return true; } @@ -1034,29 +1038,31 @@ public class OperationManagerImpl implements OperationManager { } private boolean isTaskScheduledOperation(Operation operation, List deviceIds) { - List taskOperations = new ArrayList<>(); - Map> deviceTypeSpecificTasks = new HashMap<>(); DeviceManagementProviderService deviceManagementProviderService = DeviceManagementDataHolder.getInstance(). getDeviceManagementProvider(); - deviceTypeSpecificTasks = deviceManagementProviderService.getTaskList();//Get task list from each device type + List monitoringOperations = deviceManagementProviderService.getMonitoringOperationList(deviceType);//Get task list from each device type - for(DeviceIdentifier deviceIdentifier : deviceIds){ - String deviceType = deviceIdentifier.getType(); - for(String dti : deviceTypeSpecificTasks.keySet()){ - if (dti.equals(deviceType)) { - taskOperations = deviceTypeSpecificTasks.get(dti); - for(TaskOperation op : taskOperations){ - if (operation.getCode().equals(op.getTaskName())) { - return true; - } - } - } + for(MonitoringOperation op : monitoringOperations){ + if (operation.getCode().equals(op.getTaskName())) { + return true; } - - } +// for(String dti : taskOperation){ +// if (dti.equals(deviceType)) { +// monitoringOperations = deviceTypeSpecificTasks.get(dti); +// +// } +// } +// +// for(DeviceIdentifier deviceIdentifier : deviceIds){ +// String deviceType = deviceIdentifier.getType(); +// +// +// +// } + // TaskConfiguration taskConfiguration = DeviceConfigurationManager.getInstance().getDeviceManagementConfig(). // getTaskConfiguration(); // for (TaskConfiguration.Operation op : taskConfiguration.getOperations()) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java index 626203c304..73e22e1c5e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java @@ -17,17 +17,24 @@ */ package org.wso2.carbon.device.mgt.core.service; -import org.wso2.carbon.device.mgt.common.*; +import org.wso2.carbon.device.mgt.common.Device; +import org.wso2.carbon.device.mgt.common.DeviceIdentifier; +import org.wso2.carbon.device.mgt.common.DeviceManagementException; +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.FeatureManager; +import org.wso2.carbon.device.mgt.common.InvalidDeviceException; +import org.wso2.carbon.device.mgt.common.MonitoringOperation; +import org.wso2.carbon.device.mgt.common.PaginationRequest; +import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration; import org.wso2.carbon.device.mgt.common.license.mgt.License; import org.wso2.carbon.device.mgt.common.operation.mgt.Activity; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; -import java.util.HashMap; import java.util.Date; +import java.util.HashMap; import java.util.List; -import java.util.Map; /** * Proxy class for all Device Management related operations that take the corresponding plugin type in @@ -282,6 +289,10 @@ public interface DeviceManagementProviderService { int getActivityCountUpdatedAfter(long timestamp) throws OperationManagementException; - Map> getTaskList(); + List getMonitoringOperationList(String deviceType); + + int getDeviceMonitoringFrequency(String deviceType); + + boolean isDeviceMonitoringEnabled(String deviceType); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java index d0b4f58a36..940cdba351 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java @@ -31,9 +31,10 @@ import org.wso2.carbon.device.mgt.common.DeviceTypeIdentifier; import org.wso2.carbon.device.mgt.common.EnrolmentInfo; import org.wso2.carbon.device.mgt.common.FeatureManager; import org.wso2.carbon.device.mgt.common.InvalidDeviceException; +import org.wso2.carbon.device.mgt.common.MonitoringOperation; +import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.PaginationResult; -import org.wso2.carbon.device.mgt.common.TaskOperation; import org.wso2.carbon.device.mgt.common.TransactionManagementException; import org.wso2.carbon.device.mgt.common.app.mgt.Application; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration; @@ -1217,24 +1218,37 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } @Override - public Map> getTaskList() { + public List getMonitoringOperationList(String deviceType) { int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - Map deviceManagementServiceMap = - pluginRepository.getAllDeviceManagementServices(tenantId); - DeviceManagementService dms; - String deviceType; - List taskOperations; - Map> deviceTypeSpecificTasks = new HashMap<>(); - - for(DeviceTypeIdentifier dti : deviceManagementServiceMap.keySet()){ - dms = deviceManagementServiceMap.get(dti); - taskOperations = dms.getTasksForPlatform(); - if (taskOperations != null) { - deviceType = dms.getType(); - deviceTypeSpecificTasks.put(deviceType, taskOperations); - } - } - return deviceTypeSpecificTasks; +// Map deviceManagementServiceMap = +// pluginRepository.getAllDeviceManagementServices(tenantId); + DeviceManagementService dms = pluginRepository.getDeviceManagementService(deviceType, tenantId); + // ; + // OperationMonitoringTaskConfig operationMonitoringTaskConfig; + //Map> deviceTypeSpecificMonitoringOperations = new HashMap<>(); + +// for(DeviceTypeIdentifier dti : deviceManagementServiceMap.keySet()){ +// dms = deviceManagementServiceMap.get(dti); +// +// } + OperationMonitoringTaskConfig operationMonitoringTaskConfig = dms.getOperationMonitoringConfig(); + return operationMonitoringTaskConfig.getMonitoringOperation(); + } + + @Override + public int getDeviceMonitoringFrequency(String deviceType) { + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); + DeviceManagementService dms = pluginRepository.getDeviceManagementService(deviceType, tenantId); + OperationMonitoringTaskConfig operationMonitoringTaskConfig = dms.getOperationMonitoringConfig(); + return operationMonitoringTaskConfig.getFrequency(); + } + + @Override + public boolean isDeviceMonitoringEnabled(String deviceType) { + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); + DeviceManagementService dms = pluginRepository.getDeviceManagementService(deviceType, tenantId); + OperationMonitoringTaskConfig operationMonitoringTaskConfig = dms.getOperationMonitoringConfig(); + return operationMonitoringTaskConfig.isEnabled(); } @Override diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/DeviceTaskManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/DeviceTaskManager.java index b7d59c9072..46128a37aa 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/DeviceTaskManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/DeviceTaskManager.java @@ -19,20 +19,16 @@ package org.wso2.carbon.device.mgt.core.task; -import org.wso2.carbon.device.mgt.common.DeviceIdentifier; - -import java.util.List; - public interface DeviceTaskManager { - /** - * This method will get the operation list from configurations. - * - * @return - list of Task Operations. - * @throws DeviceMgtTaskException - */ - List getOperationList(String deviceType) - throws DeviceMgtTaskException; +// /** +// * This method will get the operation list from configurations. +// * +// * @return - list of Task Operations. +// * @throws DeviceMgtTaskException +// */ +// List getOperationList(String deviceType) +// throws DeviceMgtTaskException; /** * This method will take the monitoring frequency. @@ -41,12 +37,12 @@ public interface DeviceTaskManager { */ int getTaskFrequency() throws DeviceMgtTaskException; - /** - * This method will return the task clazz from configurations. - * @return - Fully qualified class name. - * @throws DeviceMgtTaskException - */ - String getTaskImplementedClazz() throws DeviceMgtTaskException; +// /** +// * This method will return the task clazz from configurations. +// * @return - Fully qualified class name. +// * @throws DeviceMgtTaskException +// */ +// String getTaskImplementedClazz() throws DeviceMgtTaskException; /** * This method checks wheather task is enabled in config file. @@ -63,12 +59,12 @@ public interface DeviceTaskManager { void addOperations() throws DeviceMgtTaskException; - /** - * This method will return the operation names which should be added in each iterations. - * @return - * @throws DeviceMgtTaskException - */ - List getValidOperationNames(String deviceType) throws DeviceMgtTaskException; +// /** +// * This method will return the operation names which should be added in each iterations. +// * @return +// * @throws DeviceMgtTaskException +// */ +// List getValidOperationNames(String deviceType) throws DeviceMgtTaskException; /** * This method will check wheather give operation is added by the task. @@ -76,6 +72,6 @@ public interface DeviceTaskManager { * @return - true or false * @throws DeviceMgtTaskException */ - boolean isTaskOperation(String opName, List deviceIds); + boolean isTaskOperation(String opName); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/DeviceTaskManagerService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/DeviceTaskManagerService.java index c327f0af38..1563516085 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/DeviceTaskManagerService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/DeviceTaskManagerService.java @@ -19,26 +19,33 @@ package org.wso2.carbon.device.mgt.core.task; +import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; + public interface DeviceTaskManagerService { /** - * This method will stop the task. + * This method will start the task. + * @param operationMonitoringTaskConfig - OperationMonitoringTaskConfig * @throws DeviceMgtTaskException */ - void startTask() throws DeviceMgtTaskException; + void startTask(String deviceType, OperationMonitoringTaskConfig operationMonitoringTaskConfig) + throws DeviceMgtTaskException; /** - * This method will start the task. + * This method will stop the task. + * @param operationMonitoringTaskConfig - OperationMonitoringTaskConfig * @throws DeviceMgtTaskException */ - void stopTask() throws DeviceMgtTaskException; + void stopTask(String deviceType, OperationMonitoringTaskConfig operationMonitoringTaskConfig) + throws DeviceMgtTaskException; /** * This will update the task frequency which it runs. - * @param frequency - integer + * @param operationMonitoringTaskConfig - OperationMonitoringTaskConfig * @throws DeviceMgtTaskException */ - void updateTask(int frequency) throws DeviceMgtTaskException; + void updateTask(String deviceType, OperationMonitoringTaskConfig operationMonitoringTaskConfig) + throws DeviceMgtTaskException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceDetailsRetrieverTask.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceDetailsRetrieverTask.java index bba13ca307..37a90f6f82 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceDetailsRetrieverTask.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceDetailsRetrieverTask.java @@ -31,15 +31,15 @@ public class DeviceDetailsRetrieverTask implements Task { private static Log log = LogFactory.getLog(DeviceDetailsRetrieverTask.class); // private DeviceTaskManager deviceTaskManager = new DeviceTaskManagerImpl(); + private String deviceType; @Override public void setProperties(Map map) { - + deviceType = map.get("DEVICE_TYPE"); } @Override public void init() { - } @Override @@ -49,7 +49,7 @@ public class DeviceDetailsRetrieverTask implements Task { log.debug("Device details retrieving task started to run."); } - DeviceTaskManager deviceTaskManager = new DeviceTaskManagerImpl(); + DeviceTaskManager deviceTaskManager = new DeviceTaskManagerImpl(deviceType); try { deviceTaskManager.addOperations(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerImpl.java index 106159ef06..2606f07fd3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerImpl.java @@ -22,13 +22,11 @@ package org.wso2.carbon.device.mgt.core.task.impl; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.device.mgt.common.Device; -import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.InvalidDeviceException; -import org.wso2.carbon.device.mgt.common.TaskOperation; +import org.wso2.carbon.device.mgt.common.MonitoringOperation; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; -import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; @@ -42,65 +40,51 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Set; public class DeviceTaskManagerImpl implements DeviceTaskManager { private static Log log = LogFactory.getLog(DeviceTaskManagerImpl.class); - + private String deviceType; private static Map> map = new HashMap<>(); - - @Override - //get device type specific operations - public List getOperationList(String deviceType) throws DeviceMgtTaskException { - - List taskOperations = new ArrayList<>(); - Map> deviceTypeSpecificTasks; - //This Map contains task list against device type - DeviceManagementProviderService deviceManagementProviderService = DeviceManagementDataHolder.getInstance(). - getDeviceManagementProvider(); - - deviceTypeSpecificTasks = deviceManagementProviderService.getTaskList();//Get task list from each device type - for(String dti : deviceTypeSpecificTasks.keySet()){ - if (dti.equals(deviceType)) { - taskOperations = deviceTypeSpecificTasks.get(dti); - } - } - return taskOperations; + public DeviceTaskManagerImpl(String deviceType) { + this.deviceType = deviceType; } - private List getDeviceTypes() { - List operationPlatforms = new ArrayList<>(); - Map> deviceTypeSpecificTasks; + //get device type specific operations + public List getOperationList() throws DeviceMgtTaskException { - DeviceManagementProviderService deviceManagementProviderService = DeviceManagementDataHolder.getInstance(). - getDeviceManagementProvider(); - deviceTypeSpecificTasks = deviceManagementProviderService.getTaskList(); + DeviceManagementProviderService deviceManagementProviderService = DeviceManagementDataHolder + .getInstance(). + getDeviceManagementProvider(); - Set platformTypes = deviceTypeSpecificTasks.keySet(); - for(String platformType : platformTypes ){ - operationPlatforms.add(platformType); - } - return operationPlatforms; + return deviceManagementProviderService.getMonitoringOperationList( + deviceType);//Get task list from each device type } @Override public int getTaskFrequency() throws DeviceMgtTaskException { - return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration(). - getFrequency(); - } + DeviceManagementProviderService deviceManagementProviderService = DeviceManagementDataHolder + .getInstance(). + getDeviceManagementProvider(); + + return deviceManagementProviderService.getDeviceMonitoringFrequency(deviceType); - @Override - public String getTaskImplementedClazz() throws DeviceMgtTaskException { - return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration(). - getTaskClazz(); } +// @Override +// public String getTaskImplementedClazz() throws DeviceMgtTaskException { +// return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration(). +// getTaskClazz(); +// } + @Override public boolean isTaskEnabled() throws DeviceMgtTaskException { - return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration(). - isEnabled(); + DeviceManagementProviderService deviceManagementProviderService = DeviceManagementDataHolder + .getInstance(). + getDeviceManagementProvider(); + + return deviceManagementProviderService.isDeviceMonitoringEnabled(deviceType); } @@ -111,26 +95,22 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager { try { List devices; List operations; - List deviceTypes = this.getDeviceTypes();//list available device types - - for(String deviceType : deviceTypes){ - operations = this.getValidOperationNames(deviceType); //list operations for each device type - devices = deviceManagementProviderService.getAllDevices(deviceType);//list devices for each type - if (!devices.isEmpty()) { - for (String str : operations) { - CommandOperation operation = new CommandOperation(); - operation.setEnabled(true); - operation.setType(Operation.Type.COMMAND); - operation.setCode(str); - deviceManagementProviderService.addOperation(deviceType, operation, - DeviceManagerUtil.getValidDeviceIdentifiers(devices)); - } - } else { - if (log.isDebugEnabled()) { - log.debug("No devices are available to perform the operations."); - } - } + operations = this.getValidOperationNames(); //list operations for each device type + devices = deviceManagementProviderService.getAllDevices(deviceType);//list devices for each type + if (!devices.isEmpty()) { + for (String str : operations) { + CommandOperation operation = new CommandOperation(); + operation.setEnabled(true); + operation.setType(Operation.Type.COMMAND); + operation.setCode(str); + deviceManagementProviderService.addOperation(deviceType, operation, + DeviceManagerUtil.getValidDeviceIdentifiers(devices)); + } + } else { + if (log.isDebugEnabled()) { + log.debug("No devices are available to perform the operations."); + } } } catch (InvalidDeviceException e) { throw new DeviceMgtTaskException("Invalid DeviceIdentifiers found.", e); @@ -141,16 +121,15 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager { } } - @Override - public List getValidOperationNames(String deviceType) throws DeviceMgtTaskException { + private List getValidOperationNames() throws DeviceMgtTaskException { - List taskOperations = this.getOperationList(deviceType); + List monitoringOperations = this.getOperationList(); List opNames = new ArrayList<>(); Long milliseconds = System.currentTimeMillis(); int frequency = this.getTaskFrequency(); Map mp = Utils.getTenantedTaskOperationMap(map); - for (TaskOperation top : taskOperations) { + for (MonitoringOperation top : monitoringOperations) { if (!mp.containsKey(top.getTaskName())) { opNames.add(top.getTaskName()); mp.put(top.getTaskName(), milliseconds); @@ -173,20 +152,17 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager { @Override - public boolean isTaskOperation(String opName, List deviceIds) { - - for(DeviceIdentifier deviceIdentifier : deviceIds){ - String deviceType = deviceIdentifier.getType(); - try { - List taskOperations = this.getOperationList(deviceType); - for (TaskOperation taop : taskOperations) { - if (taop.getTaskName().equalsIgnoreCase(opName)) { - return true; - } + public boolean isTaskOperation(String opName) { + + try { + List monitoringOperations = this.getOperationList(); + for (MonitoringOperation taop : monitoringOperations) { + if (taop.getTaskName().equalsIgnoreCase(opName)) { + return true; } - } catch (DeviceMgtTaskException e) { - // ignoring the error, no need to throw, If error occurs, return value will be false. } + } catch (DeviceMgtTaskException e) { + // ignoring the error, no need to throw, If error occurs, return value will be false. } return false; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerServiceImpl.java index 87c45d079e..7a47f8d6bf 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerServiceImpl.java @@ -22,9 +22,9 @@ package org.wso2.carbon.device.mgt.core.task.impl; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; import org.wso2.carbon.device.mgt.core.task.DeviceMgtTaskException; -import org.wso2.carbon.device.mgt.core.task.DeviceTaskManager; import org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerService; import org.wso2.carbon.ntask.common.TaskException; import org.wso2.carbon.ntask.core.TaskInfo; @@ -36,23 +36,21 @@ import java.util.Map; public class DeviceTaskManagerServiceImpl implements DeviceTaskManagerService { - public static final String TASK_TYPE = "DEVICE_DETAILS"; - public static final String TASK_NAME = "DEVICE_DETAILS_TASK"; + public static final String TASK_TYPE = "DEVICE_MONITORING"; public static final String TENANT_ID = "TENANT_ID"; private static String TASK_CLASS = "org.wso2.carbon.device.mgt.core.task.impl.DeviceDetailsRetrieverTask"; - private DeviceTaskManager deviceTaskManager; +// private DeviceTaskManager deviceTaskManager; private static Log log = LogFactory.getLog(DeviceTaskManagerServiceImpl.class); @Override - public void startTask() throws DeviceMgtTaskException { + public void startTask(String deviceType, OperationMonitoringTaskConfig operationMonitoringTaskConfig) throws DeviceMgtTaskException { - deviceTaskManager = new DeviceTaskManagerImpl(); - if (!deviceTaskManager.isTaskEnabled()) { - throw new DeviceMgtTaskException("Task cannot be started, Please enable the task in cdm-config.xml file."); - } +// String TASK_NAME = deviceType; + + log.info("Task adding for " + deviceType); int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); @@ -62,23 +60,27 @@ public class DeviceTaskManagerServiceImpl implements DeviceTaskManagerService { if (log.isDebugEnabled()) { log.debug("Device details retrieving task is started for the tenant id " + tenantId); - log.debug("Device details retrieving task is at frequency of : " + deviceTaskManager.getTaskFrequency()); +// log.debug("Device details retrieving task is at frequency of : " + deviceTaskManager +// .getTaskFrequency()); + log.debug("Device details retrieving task is at frequency of : " + operationMonitoringTaskConfig + .getFrequency()); } TaskManager taskManager = taskService.getTaskManager(TASK_TYPE); TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(); - triggerInfo.setIntervalMillis(deviceTaskManager.getTaskFrequency()); +// triggerInfo.setIntervalMillis(deviceTaskManager.getTaskFrequency()); + triggerInfo.setIntervalMillis(operationMonitoringTaskConfig.getFrequency()); triggerInfo.setRepeatCount(-1); Map properties = new HashMap<>(); properties.put(TENANT_ID, String.valueOf(tenantId)); + properties.put("DEVICE_TYPE", deviceType); - if (!taskManager.isTaskScheduled(TASK_NAME)) { + if (!taskManager.isTaskScheduled(deviceType)) { - TaskInfo taskInfo = new TaskInfo(TASK_NAME, TASK_CLASS, - properties, triggerInfo); + TaskInfo taskInfo = new TaskInfo(deviceType, TASK_CLASS, properties, triggerInfo); taskManager.registerTask(taskInfo); taskManager.rescheduleTask(taskInfo.getName()); @@ -94,13 +96,15 @@ public class DeviceTaskManagerServiceImpl implements DeviceTaskManagerService { } @Override - public void stopTask() throws DeviceMgtTaskException { + public void stopTask(String deviceType, OperationMonitoringTaskConfig operationMonitoringTaskConfig) throws DeviceMgtTaskException { + +// String TASK_NAME = deviceType; try { TaskService taskService = DeviceManagementDataHolder.getInstance().getTaskService(); if (taskService.isServerInit()) { TaskManager taskManager = taskService.getTaskManager(TASK_TYPE); - taskManager.deleteTask(TASK_NAME); + taskManager.deleteTask(deviceType); } } catch (TaskException e) { int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); @@ -110,29 +114,27 @@ public class DeviceTaskManagerServiceImpl implements DeviceTaskManagerService { } @Override - public void updateTask(int frequency) throws DeviceMgtTaskException { + public void updateTask(String deviceType, OperationMonitoringTaskConfig operationMonitoringTaskConfig) throws DeviceMgtTaskException { - if (!deviceTaskManager.isTaskEnabled()) { - throw new DeviceMgtTaskException("Task cannot be updated, Please enable the task in cdm-config.xml file."); - } +// String TASK_NAME = deviceType; int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - deviceTaskManager = new DeviceTaskManagerImpl(); +// deviceTaskManager = new DeviceTaskManagerImpl(); try { TaskService taskService = DeviceManagementDataHolder.getInstance().getTaskService(); TaskManager taskManager = taskService.getTaskManager(TASK_TYPE); - if (taskManager.isTaskScheduled(TASK_NAME)) { + if (taskManager.isTaskScheduled(deviceType)) { - taskManager.deleteTask(TASK_NAME); + taskManager.deleteTask(deviceType); TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(); - triggerInfo.setIntervalMillis(frequency); + triggerInfo.setIntervalMillis(operationMonitoringTaskConfig.getFrequency()); triggerInfo.setRepeatCount(-1); Map properties = new HashMap<>(); properties.put(TENANT_ID, String.valueOf(tenantId)); - TaskInfo taskInfo = new TaskInfo(TASK_NAME, TASK_CLASS, properties, + TaskInfo taskInfo = new TaskInfo(deviceType, TASK_CLASS, properties, triggerInfo); taskManager.registerTask(taskInfo); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java index fcba894206..86433ce141 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java @@ -19,14 +19,12 @@ package org.wso2.carbon.device.mgt.core; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.DeviceManager; +import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; import org.wso2.carbon.device.mgt.common.ProvisioningConfig; -import org.wso2.carbon.device.mgt.common.TaskOperation; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager; import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig; import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService; -import java.util.List; - public class TestDeviceManagementService implements DeviceManagementService { private String providerType; @@ -42,7 +40,7 @@ public class TestDeviceManagementService implements DeviceManagementService { } @Override - public List getTasksForPlatform(){ + public OperationMonitoringTaskConfig getOperationMonitoringConfig(){ return null; } diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/cdm-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/cdm-config.xml index 462258c681..67505dd633 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/cdm-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/conf/cdm-config.xml @@ -48,10 +48,10 @@ windows - - true - 600000 - + + + + 20 From ea1371a008cc9fbdd3207142b733a403c0019816 Mon Sep 17 00:00:00 2001 From: Madawa Soysa Date: Thu, 8 Dec 2016 17:31:50 +0530 Subject: [PATCH 10/14] Fixing generic policy payload --- .../public/js/editor.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.generic.policy-wizard/public/js/editor.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.generic.policy-wizard/public/js/editor.js index 1b3035cf62..e09b419b58 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.generic.policy-wizard/public/js/editor.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.generic.policy-wizard/public/js/editor.js @@ -44,5 +44,9 @@ var validatePolicyProfile = function () { * @returns {Array} profile payloads */ var generateGenericPayload = function () { - return window.queryEditor.getValue(); + return [{ + "featureCode": "CONFIG", + "deviceTypeId": policy["platformId"], + "content": {"policyDefinition": window.queryEditor.getValue()} + }]; }; From 0a7f8ac22cf4513b274ca43f330e083c860a3e1b Mon Sep 17 00:00:00 2001 From: charitha Date: Thu, 8 Dec 2016 19:41:43 +0530 Subject: [PATCH 11/14] Update error pages and CsrfGuard property file. --- .../resources/jaggeryapps/devicemgt/error-pages/error400.html | 2 +- .../resources/jaggeryapps/devicemgt/error-pages/error401.html | 2 +- .../resources/jaggeryapps/devicemgt/error-pages/error403.html | 2 +- .../resources/jaggeryapps/devicemgt/error-pages/error404.html | 2 +- .../resources/jaggeryapps/devicemgt/error-pages/error405.html | 2 +- .../resources/jaggeryapps/devicemgt/error-pages/error500.html | 2 +- .../src/main/resources/jaggeryapps/devicemgt/jaggery.conf | 2 +- .../main/resources/jaggeryapps/uuf-template-app/jaggery.conf | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error400.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error400.html index 9213fa2e2f..3b0349ef37 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error400.html +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error400.html @@ -27,7 +27,7 @@

    Error 400

    We are unable to understand the request and process it. Please re-check your request.

    - + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error401.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error401.html index e803601a08..0502d8fda6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error401.html +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error401.html @@ -27,7 +27,7 @@

    Error 401

    You do not have permission to access this page.Please contact your administrator and request permission.

    - + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error403.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error403.html index e7615ea7de..b4fbfdaceb 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error403.html +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error403.html @@ -28,7 +28,7 @@

    Error 403

    We cannot process this request.

    - + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error404.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error404.html index 49c9ab87e4..d2a9cd0365 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error404.html +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error404.html @@ -27,7 +27,7 @@

    Error 404

    We can't find what you are looking for.

    - + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error405.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error405.html index d42ff5fe20..dd1b781246 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error405.html +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error405.html @@ -27,7 +27,7 @@

    Error 405

    Method not allowed.

    - + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error500.html b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error500.html index 48cfdc4c97..4ec7b17228 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error500.html +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/error-pages/error500.html @@ -26,7 +26,7 @@

    Error 500

    Something went wrong and we're trying to fix it.

    - + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/jaggery.conf b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/jaggery.conf index 832c1ab252..fb71f60e96 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/jaggery.conf +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/jaggery.conf @@ -108,7 +108,7 @@ "contextParams" : [ { "name" : "Owasp.CsrfGuard.Config", - "value" : "/repository/conf/security/Owasp.CsrfGuard.dashboard.properties" + "value" : "/repository/conf/security/Owasp.CsrfGuard.Carbon.properties" } ] } \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/jaggery.conf b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/jaggery.conf index f97bae72cf..7c5a2d41c9 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/jaggery.conf +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/jaggery.conf @@ -71,7 +71,7 @@ "contextParams" : [ { "name" : "Owasp.CsrfGuard.Config", - "value" : "/repository/conf/security/Owasp.CsrfGuard.dashboard.properties" + "value" : "/repository/conf/security/Owasp.CsrfGuard.Carbon.properties" } ] } \ No newline at end of file From d8881244fdb3ded91bba6f49f09156dbe39d3070 Mon Sep 17 00:00:00 2001 From: charitha Date: Thu, 8 Dec 2016 20:03:54 +0530 Subject: [PATCH 12/14] Fix issue in task operation --- .../common/OperationMonitoringTaskConfig.java | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/OperationMonitoringTaskConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/OperationMonitoringTaskConfig.java index 7195d89dcb..ec50a02b6f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/OperationMonitoringTaskConfig.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/OperationMonitoringTaskConfig.java @@ -1,15 +1,34 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.wso2.carbon.device.mgt.common; +import java.util.ArrayList; import java.util.List; /** - * + * This class holds configurations for Operation Monitoring Task. */ public class OperationMonitoringTaskConfig { private boolean isEnabled; private int frequency; - private List monitoringOperation; + private List monitoringOperation = new ArrayList<>(); public boolean isEnabled() { return isEnabled; @@ -35,6 +54,4 @@ public class OperationMonitoringTaskConfig { this.monitoringOperation = monitoringOperation; } - - } From 8f9b21b41b5d8d62a8f87a2fbfabe7f28bcfcbfe Mon Sep 17 00:00:00 2001 From: WSO2 Builder Date: Thu, 8 Dec 2016 14:37:11 +0000 Subject: [PATCH 13/14] [maven-release-plugin] prepare release v2.0.3 --- .../org.wso2.carbon.apimgt.annotations/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 4 ++-- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 4 ++-- components/apimgt-extensions/pom.xml | 4 ++-- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 4 ++-- components/certificate-mgt/pom.xml | 4 ++-- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml | 2 +- .../pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/email-sender/pom.xml | 2 +- .../dynamic-client-web-proxy/pom.xml | 2 +- .../dynamic-client-registration/dynamic-client-web/pom.xml | 2 +- .../org.wso2.carbon.dynamic.client.registration/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../identity-extensions/dynamic-client-registration/pom.xml | 4 ++-- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 4 ++-- .../pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.complex.policy.decision.point/pom.xml | 4 ++-- .../org.wso2.carbon.policy.information.point/pom.xml | 4 ++-- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 4 ++-- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 4 ++-- .../org.wso2.carbon.simple.policy.decision.point/pom.xml | 4 ++-- components/policy-mgt/pom.xml | 4 ++-- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 4 ++-- components/webapp-authenticator-framework/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 4 ++-- features/apimgt-extensions/pom.xml | 4 ++-- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 4 ++-- features/certificate-mgt/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- features/device-mgt-extensions/pom.xml | 2 +- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 4 ++-- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 4 ++-- .../org.wso2.carbon.device.mgt.ui.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../pom.xml | 4 ++-- features/dynamic-client-registration/pom.xml | 4 ++-- .../org.wso2.carbon.email.sender.feature/pom.xml | 4 ++-- features/email-sender/pom.xml | 4 ++-- .../pom.xml | 4 ++-- features/jwt-client/pom.xml | 4 ++-- .../pom.xml | 4 ++-- features/oauth-extensions/pom.xml | 4 ++-- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 4 ++-- features/policy-mgt/pom.xml | 4 ++-- .../pom.xml | 4 ++-- features/webapp-authenticator-framework/pom.xml | 4 ++-- pom.xml | 6 +++--- 75 files changed, 121 insertions(+), 121 deletions(-) diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index 339110eac7..f7826e6218 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,13 +22,13 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.apimgt.annotations - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - API Management Annotations WSO2 Carbon - API Management Custom Annotation Module diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index 3ad5078676..0a4d9de2b4 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,12 +21,12 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 - 2.0.3-SNAPSHOT + 2.0.3 org.wso2.carbon.apimgt.application.extension.api war WSO2 Carbon - API Application Management API diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index cec4c34f7d..f975815c6b 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,12 +22,12 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 - 2.0.3-SNAPSHOT + 2.0.3 org.wso2.carbon.apimgt.application.extension bundle WSO2 Carbon - API Application Management diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index 74566bd237..c6676ffe2f 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,13 +22,13 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.apimgt.webapp.publisher - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - API Management Webapp Publisher WSO2 Carbon - API Management Webapp Publisher diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index 4086cf5a18..c0280aab42 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,13 +22,13 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 apimgt-extensions - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - API Management Extensions Component http://wso2.org diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index 96d690bc86..f83e26619b 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index ee995e22bf..4340ca3e41 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index 69cbb3d958..5a44d47a9b 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -21,13 +21,13 @@ org.wso2.carbon.devicemgt certificate-mgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.certificate.mgt.core - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - Certificate Management Core WSO2 Carbon - Certificate Management Core diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index d61aa97851..7e4baf6f25 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt certificate-mgt - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Certificate Management Component http://wso2.org diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 9b958b392e..4efeed0ac9 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/pom.xml index 4f9ce19d66..b87dd21d3b 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index 8061872787..b6eb31670d 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index dc8a94bffa..161522d633 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index d974c8d0a2..9e8ba58318 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml index 986cdf9855..554fa472af 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt device-mgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml index 3b494b77e6..06a1db03a6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index a1f3bc8657..848bae3f48 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index 4228d88255..1963fa9713 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml index 190b432425..2e59820cec 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml index 7f5c837578..59abd21256 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml index 35cc220a83..03123a36fe 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index 6d6f50f6bb..f9479edf0d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index d3c8b43e77..ae54f836a2 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml diff --git a/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml index 472dcfacbc..1028bfd9f2 100644 --- a/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/email-sender/pom.xml b/components/email-sender/pom.xml index 6a2ac5a40b..200ab5297a 100644 --- a/components/email-sender/pom.xml +++ b/components/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml diff --git a/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml b/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml index 15188b391a..0b9d5ec549 100644 --- a/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml @@ -21,7 +21,7 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml b/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml index 1c8d91ef77..a9c607f6a5 100644 --- a/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml @@ -21,7 +21,7 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml index 19eca13ccc..6f734f2758 100644 --- a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml @@ -21,13 +21,13 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.dynamic.client.registration - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - Dynamic client registration service WSO2 Carbon - Dynamic Client Registration Service diff --git a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml index e7fd4ccb4f..f097f83c22 100644 --- a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml @@ -21,13 +21,13 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.dynamic.client.web.app.registration - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - Dynamic client web app registration WSO2 Carbon - Dynamic Client Web-app Registration Service diff --git a/components/identity-extensions/dynamic-client-registration/pom.xml b/components/identity-extensions/dynamic-client-registration/pom.xml index cad357e821..5a90804ed0 100644 --- a/components/identity-extensions/dynamic-client-registration/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt identity-extensions - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.devicemgt dynamic-client-registration - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Dynamic client registration http://wso2.org diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index c442a830b3..8429fd9f03 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,13 +22,13 @@ org.wso2.carbon.devicemgt identity-extensions - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.oauth.extensions - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - OAuth Extensions http://wso2.org diff --git a/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml index 0d761e9e25..cc70a690d1 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml @@ -21,7 +21,7 @@ identity-extensions org.wso2.carbon.devicemgt - 2.0.3-SNAPSHOT + 2.0.3 4.0.0 diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index 924d47d84f..d366bf5d82 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index d4e3ca77d9..7dba805fb6 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml index 252c27eac1..69e75445e7 100644 --- a/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.complex.policy.decision.point - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - Policy Decision Point WSO2 Carbon - Policy Decision Point diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 17afe5772e..6a0af9d4c4 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml @@ -11,7 +11,7 @@ 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.policy.information.point - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - Policy Information Point WSO2 Carbon - Policy Information Point diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index a8a72d345e..82384bb8c8 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.policy.mgt.common - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - Policy Management Common WSO2 Carbon - Policy Management Common diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index 0c3f72dae2..ef0cac4a8c 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.policy.mgt.core - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - Policy Management Core WSO2 Carbon - Policy Management Core diff --git a/components/policy-mgt/org.wso2.carbon.simple.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.simple.policy.decision.point/pom.xml index 59b2e2d6a5..f435d79663 100644 --- a/components/policy-mgt/org.wso2.carbon.simple.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.simple.policy.decision.point/pom.xml @@ -3,14 +3,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.simple.policy.decision.point - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - Simple Policy Decision Point WSO2 Carbon - Simple Policy Decision Point diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index e65c922d90..70f5debbd7 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,13 +23,13 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 policy-mgt - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Policy Management Component http://wso2.org diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index 5d6bdfaf4d..c77b3934d6 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,14 +21,14 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.webapp.authenticator.framework - 2.0.3-SNAPSHOT + 2.0.3 bundle WSO2 Carbon - Web Application Authenticator Framework Bundle WSO2 Carbon - Web Application Authenticator Framework Bundle diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index c7858f679c..98c143a53b 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt webapp-authenticator-framework - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Webapp Authenticator Framework http://wso2.org diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 0189099a8b..511efab514 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,14 +21,14 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.apimgt.application.extension.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - API Management Application Extension Feature http://wso2.org This feature contains an implementation of a api application registration, which takes care of subscription diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index 864f8faa03..1988540f32 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,14 +21,14 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.apimgt.webapp.publisher.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - API Management Webapp Publisher Feature http://wso2.org This feature contains an implementation of a Tomcat lifecycle listener, which takes care of publishing diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index 692cea442a..21768b18fc 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt apimgt-extensions-feature - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - API Management Extensions Feature http://wso2.org diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index cc877b4bf1..d7176fc298 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 09acf3200e..8a5ead98ea 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index 961a7779f9..091bbb3237 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.certificate.mgt.server.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - Certificate Management Server Feature http://wso2.org This feature contains the core bundles required for back-end Certificate Management functionality diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index fd6e4d5dad..0627c084a4 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Certificate Management Feature http://wso2.org diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index 134c70ceaf..245db6a28f 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - Device Type Deployer Feature http://wso2.org WSO2 Carbon - Device Type Deployer Feature diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.feature/pom.xml index 969c506193..15197a6d45 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - GCM Based Push Notification Provider Feature http://wso2.org WSO2 Carbon - MQTT Based Push Notification Provider Feature diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 6dd22d279b..31fb597472 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - MQTT Based Push Notification Provider Feature http://wso2.org WSO2 Carbon - MQTT Based Push Notification Provider Feature diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 3a1570045a..3a1fa89725 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - XMPP Based Push Notification Provider Feature http://wso2.org WSO2 Carbon - XMPP Based Push Notification Provider Feature diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index cc47934a9d..849a04f70f 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml index cfab1bf444..8b67e36f04 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml @@ -3,13 +3,13 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.analytics.dashboard.feature - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Device Management Dashboard Analytics Feature WSO2 Carbon - Device Management Dashboard Analytics Feature diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml index b2d0c7bfbc..4eb3b99adf 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.analytics.data.publisher.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - Device Management Server Feature http://wso2.org This feature contains bundles related to device analytics data publisher diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index ea4a0e2039..4416b2ad7f 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index ae0d5db615..f9e396f408 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,14 +4,14 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - Device Management Extensions Feature http://wso2.org This feature contains common extensions used by key device management functionalities diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index ef4c8d10f0..b9ce7f79f8 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml index 82b1d1e43e..4796d37e47 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.server.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - Device Management Server Feature http://wso2.org This feature contains the core bundles required for Back-end Device Management functionality diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml index e01fa5a90c..083819e4ea 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index ef48f7cd4e..ae52ff4912 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml diff --git a/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml b/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml index 1ab5b01a8a..23e2321087 100644 --- a/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml +++ b/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt dynamic-client-registration-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.dynamic.client.registration.server.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - Dynamic Client Registration Server Feature http://wso2.org This feature contains dynamic client registration features diff --git a/features/dynamic-client-registration/pom.xml b/features/dynamic-client-registration/pom.xml index 156de0bc87..306e054013 100644 --- a/features/dynamic-client-registration/pom.xml +++ b/features/dynamic-client-registration/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt dynamic-client-registration-feature - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Dynamic Client Registration Feature http://wso2.org diff --git a/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index 37a62260e7..2de802ef8f 100644 --- a/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt email-sender-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.email.sender.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - Email Sender Feature http://wso2.org This feature contains the core bundles required for email sender related functionality diff --git a/features/email-sender/pom.xml b/features/email-sender/pom.xml index 06e05bac9a..a0ae30a769 100644 --- a/features/email-sender/pom.xml +++ b/features/email-sender/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt email-sender-feature - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Email Sender Feature http://wso2.org diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 9d35ddea01..4f2c7eb93d 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt jwt-client-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.identity.jwt.client.extension.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - JWT Client Feature http://wso2.org This feature contains jwt client implementation from which we can get a access token using the jwt diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index f13ad1591b..d4293ed8d6 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,13 +23,13 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 jwt-client-feature - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Dynamic Client Registration Feature http://wso2.org diff --git a/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml b/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml index ef987f9430..26ea098830 100644 --- a/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml +++ b/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt oauth-extensions-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.oauth.extensions.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - Device Mgt OAuth Extensions Feature http://wso2.org This feature contains devicemgt related OAuth extensions diff --git a/features/oauth-extensions/pom.xml b/features/oauth-extensions/pom.xml index 5b9a8f6b48..96d981127a 100644 --- a/features/oauth-extensions/pom.xml +++ b/features/oauth-extensions/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt oauth-extensions-feature - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Device Management OAuth Extensions Feature http://wso2.org diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index 38c66ca9b1..7d8076da77 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.policy.mgt.server.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - Policy Management Server Feature http://wso2.org This feature contains the core bundles required for Back-end Device Management functionality diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 0b13c1abd5..83a533d6bb 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt policy-mgt-feature - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Policy Management Feature http://wso2.org diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index e18ae97bc3..857e6acd6e 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 2.0.3-SNAPSHOT + 2.0.3 ../pom.xml 4.0.0 org.wso2.carbon.webapp.authenticator.framework.server.feature pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - Webapp Authenticator Framework Server Feature http://wso2.org This feature contains the core bundles required for Back-end Device Management functionality diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index 30734997eb..da0f5e1143 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3-SNAPSHOT + 2.0.3 ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 2.0.3-SNAPSHOT + 2.0.3 pom WSO2 Carbon - Webapp Authenticator Framework Feature http://wso2.org diff --git a/pom.xml b/pom.xml index ccb5bf93d3..d3484c5479 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 2.0.3-SNAPSHOT + 2.0.3 WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1551,7 +1551,7 @@ https://github.com/wso2/carbon-device-mgt.git scm:git:https://github.com/wso2/carbon-device-mgt.git scm:git:https://github.com/wso2/carbon-device-mgt.git - HEAD + v2.0.3 @@ -1827,7 +1827,7 @@ 1.2.11.wso2v10 - 2.0.3-SNAPSHOT + 2.0.3 4.4.8 From a59edee410c031b7ea04178c3e20243c4b7b80d6 Mon Sep 17 00:00:00 2001 From: WSO2 Builder Date: Thu, 8 Dec 2016 14:39:00 +0000 Subject: [PATCH 14/14] [maven-release-plugin] prepare for next development iteration --- .../org.wso2.carbon.apimgt.annotations/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 4 ++-- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 4 ++-- components/apimgt-extensions/pom.xml | 4 ++-- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 4 ++-- components/certificate-mgt/pom.xml | 4 ++-- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml | 2 +- .../pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/email-sender/pom.xml | 2 +- .../dynamic-client-web-proxy/pom.xml | 2 +- .../dynamic-client-registration/dynamic-client-web/pom.xml | 2 +- .../org.wso2.carbon.dynamic.client.registration/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../identity-extensions/dynamic-client-registration/pom.xml | 4 ++-- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 4 ++-- .../pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.complex.policy.decision.point/pom.xml | 4 ++-- .../org.wso2.carbon.policy.information.point/pom.xml | 4 ++-- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 4 ++-- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 4 ++-- .../org.wso2.carbon.simple.policy.decision.point/pom.xml | 4 ++-- components/policy-mgt/pom.xml | 4 ++-- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 4 ++-- components/webapp-authenticator-framework/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 4 ++-- features/apimgt-extensions/pom.xml | 4 ++-- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 4 ++-- features/certificate-mgt/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- features/device-mgt-extensions/pom.xml | 2 +- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 4 ++-- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 4 ++-- .../org.wso2.carbon.device.mgt.ui.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../pom.xml | 4 ++-- features/dynamic-client-registration/pom.xml | 4 ++-- .../org.wso2.carbon.email.sender.feature/pom.xml | 4 ++-- features/email-sender/pom.xml | 4 ++-- .../pom.xml | 4 ++-- features/jwt-client/pom.xml | 4 ++-- .../pom.xml | 4 ++-- features/oauth-extensions/pom.xml | 4 ++-- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 4 ++-- features/policy-mgt/pom.xml | 4 ++-- .../pom.xml | 4 ++-- features/webapp-authenticator-framework/pom.xml | 4 ++-- pom.xml | 6 +++--- 75 files changed, 121 insertions(+), 121 deletions(-) diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index f7826e6218..5422646ba7 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,13 +22,13 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.annotations - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - API Management Annotations WSO2 Carbon - API Management Custom Annotation Module diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index 0a4d9de2b4..cd50d7c532 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,12 +21,12 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 - 2.0.3 + 2.0.4-SNAPSHOT org.wso2.carbon.apimgt.application.extension.api war WSO2 Carbon - API Application Management API diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index f975815c6b..4b55f62c41 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,12 +22,12 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 - 2.0.3 + 2.0.4-SNAPSHOT org.wso2.carbon.apimgt.application.extension bundle WSO2 Carbon - API Application Management diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index c6676ffe2f..4eaafadb32 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,13 +22,13 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.webapp.publisher - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - API Management Webapp Publisher WSO2 Carbon - API Management Webapp Publisher diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index c0280aab42..845f1608c2 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,13 +22,13 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 apimgt-extensions - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - API Management Extensions Component http://wso2.org diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index f83e26619b..dec9d819b8 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 4340ca3e41..0937df34b0 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index 5a44d47a9b..3d6927cb7d 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -21,13 +21,13 @@ org.wso2.carbon.devicemgt certificate-mgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.certificate.mgt.core - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - Certificate Management Core WSO2 Carbon - Certificate Management Core diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index 7e4baf6f25..415d4adc39 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt certificate-mgt - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Certificate Management Component http://wso2.org diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 4efeed0ac9..507a1b4ffa 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/pom.xml index b87dd21d3b..4d7110e269 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index b6eb31670d..1d0d63e753 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index 161522d633..57a17c7d86 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index 9e8ba58318..64f3daea1a 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml index 554fa472af..c9049089b2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt device-mgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml index 06a1db03a6..b5c2c80202 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index 848bae3f48..b700a238ca 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index 1963fa9713..b7d71adceb 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml index 2e59820cec..ee8e28b01f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml index 59abd21256..d2199e5a11 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml index 03123a36fe..b2c5909a4b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index f9479edf0d..dedf4db854 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index ae54f836a2..ab5ecff7fb 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml diff --git a/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml index 1028bfd9f2..17007f227f 100644 --- a/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/email-sender/pom.xml b/components/email-sender/pom.xml index 200ab5297a..72c8f04ea2 100644 --- a/components/email-sender/pom.xml +++ b/components/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml diff --git a/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml b/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml index 0b9d5ec549..ca9fe0dd1f 100644 --- a/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml @@ -21,7 +21,7 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml b/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml index a9c607f6a5..c991e04bef 100644 --- a/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml @@ -21,7 +21,7 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml index 6f734f2758..845fedafaf 100644 --- a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml @@ -21,13 +21,13 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.dynamic.client.registration - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - Dynamic client registration service WSO2 Carbon - Dynamic Client Registration Service diff --git a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml index f097f83c22..18460a5b1a 100644 --- a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml @@ -21,13 +21,13 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.dynamic.client.web.app.registration - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - Dynamic client web app registration WSO2 Carbon - Dynamic Client Web-app Registration Service diff --git a/components/identity-extensions/dynamic-client-registration/pom.xml b/components/identity-extensions/dynamic-client-registration/pom.xml index 5a90804ed0..c23da68416 100644 --- a/components/identity-extensions/dynamic-client-registration/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt identity-extensions - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt dynamic-client-registration - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Dynamic client registration http://wso2.org diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 8429fd9f03..ba6987d651 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,13 +22,13 @@ org.wso2.carbon.devicemgt identity-extensions - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.oauth.extensions - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - OAuth Extensions http://wso2.org diff --git a/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml index cc70a690d1..1009c2deef 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml @@ -21,7 +21,7 @@ identity-extensions org.wso2.carbon.devicemgt - 2.0.3 + 2.0.4-SNAPSHOT 4.0.0 diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index d366bf5d82..d94e68eb5c 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 7dba805fb6..635115fcfa 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml index 69e75445e7..fd77b125eb 100644 --- a/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.complex.policy.decision.point - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - Policy Decision Point WSO2 Carbon - Policy Decision Point diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 6a0af9d4c4..e922f0e639 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml @@ -11,7 +11,7 @@ 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.policy.information.point - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - Policy Information Point WSO2 Carbon - Policy Information Point diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index 82384bb8c8..e1a9438171 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.policy.mgt.common - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - Policy Management Common WSO2 Carbon - Policy Management Common diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index ef0cac4a8c..6003f0fb31 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.policy.mgt.core - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - Policy Management Core WSO2 Carbon - Policy Management Core diff --git a/components/policy-mgt/org.wso2.carbon.simple.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.simple.policy.decision.point/pom.xml index f435d79663..4690ad5c49 100644 --- a/components/policy-mgt/org.wso2.carbon.simple.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.simple.policy.decision.point/pom.xml @@ -3,14 +3,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.simple.policy.decision.point - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - Simple Policy Decision Point WSO2 Carbon - Simple Policy Decision Point diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 70f5debbd7..97d2d59b09 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,13 +23,13 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 policy-mgt - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Policy Management Component http://wso2.org diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index c77b3934d6..3d93f580d2 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,14 +21,14 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.webapp.authenticator.framework - 2.0.3 + 2.0.4-SNAPSHOT bundle WSO2 Carbon - Web Application Authenticator Framework Bundle WSO2 Carbon - Web Application Authenticator Framework Bundle diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index 98c143a53b..a27ad62057 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt webapp-authenticator-framework - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Webapp Authenticator Framework http://wso2.org diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 511efab514..bc71e5dd3c 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,14 +21,14 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.application.extension.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - API Management Application Extension Feature http://wso2.org This feature contains an implementation of a api application registration, which takes care of subscription diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index 1988540f32..24b9c1f771 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,14 +21,14 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.webapp.publisher.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - API Management Webapp Publisher Feature http://wso2.org This feature contains an implementation of a Tomcat lifecycle listener, which takes care of publishing diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index 21768b18fc..81ee2a7bb8 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt apimgt-extensions-feature - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - API Management Extensions Feature http://wso2.org diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index d7176fc298..bfe3a01522 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 8a5ead98ea..662c1cdd42 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index 091bbb3237..ba20158648 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.certificate.mgt.server.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - Certificate Management Server Feature http://wso2.org This feature contains the core bundles required for back-end Certificate Management functionality diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 0627c084a4..b83cd13cf6 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Certificate Management Feature http://wso2.org diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index 245db6a28f..1d9d617255 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - Device Type Deployer Feature http://wso2.org WSO2 Carbon - Device Type Deployer Feature diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.feature/pom.xml index 15197a6d45..f865b3979d 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - GCM Based Push Notification Provider Feature http://wso2.org WSO2 Carbon - MQTT Based Push Notification Provider Feature diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 31fb597472..880ad77e41 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - MQTT Based Push Notification Provider Feature http://wso2.org WSO2 Carbon - MQTT Based Push Notification Provider Feature diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 3a1fa89725..ceb0171e61 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - XMPP Based Push Notification Provider Feature http://wso2.org WSO2 Carbon - XMPP Based Push Notification Provider Feature diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index 849a04f70f..5b29388d94 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml index 8b67e36f04..4609ebeaa7 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml @@ -3,13 +3,13 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.analytics.dashboard.feature - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Device Management Dashboard Analytics Feature WSO2 Carbon - Device Management Dashboard Analytics Feature diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml index 4eb3b99adf..1301c4b29f 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.analytics.data.publisher.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - Device Management Server Feature http://wso2.org This feature contains bundles related to device analytics data publisher diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index 4416b2ad7f..8b8ab409ad 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index f9e396f408..5d6df3324a 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,14 +4,14 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - Device Management Extensions Feature http://wso2.org This feature contains common extensions used by key device management functionalities diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index b9ce7f79f8..d356609aca 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml index 4796d37e47..8550fbf05f 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.server.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - Device Management Server Feature http://wso2.org This feature contains the core bundles required for Back-end Device Management functionality diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml index 083819e4ea..cdea15a358 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index ae52ff4912..d000b6fbf2 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml diff --git a/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml b/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml index 23e2321087..accff7c52f 100644 --- a/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml +++ b/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt dynamic-client-registration-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.dynamic.client.registration.server.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - Dynamic Client Registration Server Feature http://wso2.org This feature contains dynamic client registration features diff --git a/features/dynamic-client-registration/pom.xml b/features/dynamic-client-registration/pom.xml index 306e054013..6c5941751f 100644 --- a/features/dynamic-client-registration/pom.xml +++ b/features/dynamic-client-registration/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt dynamic-client-registration-feature - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Dynamic Client Registration Feature http://wso2.org diff --git a/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index 2de802ef8f..ddac93c5e2 100644 --- a/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt email-sender-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.email.sender.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - Email Sender Feature http://wso2.org This feature contains the core bundles required for email sender related functionality diff --git a/features/email-sender/pom.xml b/features/email-sender/pom.xml index a0ae30a769..cf8fc1e324 100644 --- a/features/email-sender/pom.xml +++ b/features/email-sender/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt email-sender-feature - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Email Sender Feature http://wso2.org diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 4f2c7eb93d..b3d95911e3 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt jwt-client-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.identity.jwt.client.extension.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - JWT Client Feature http://wso2.org This feature contains jwt client implementation from which we can get a access token using the jwt diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index d4293ed8d6..79b42a40e1 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,13 +23,13 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 jwt-client-feature - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Dynamic Client Registration Feature http://wso2.org diff --git a/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml b/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml index 26ea098830..2e00bd0cae 100644 --- a/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml +++ b/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt oauth-extensions-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.oauth.extensions.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - Device Mgt OAuth Extensions Feature http://wso2.org This feature contains devicemgt related OAuth extensions diff --git a/features/oauth-extensions/pom.xml b/features/oauth-extensions/pom.xml index 96d981127a..073d825d49 100644 --- a/features/oauth-extensions/pom.xml +++ b/features/oauth-extensions/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt oauth-extensions-feature - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Device Management OAuth Extensions Feature http://wso2.org diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index 7d8076da77..2c140da41f 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.policy.mgt.server.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - Policy Management Server Feature http://wso2.org This feature contains the core bundles required for Back-end Device Management functionality diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 83a533d6bb..3c7eb58cb0 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt policy-mgt-feature - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Policy Management Feature http://wso2.org diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 857e6acd6e..84e1015d4f 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 2.0.3 + 2.0.4-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.webapp.authenticator.framework.server.feature pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - Webapp Authenticator Framework Server Feature http://wso2.org This feature contains the core bundles required for Back-end Device Management functionality diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index da0f5e1143..7fcc9f398a 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.3 + 2.0.4-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 2.0.3 + 2.0.4-SNAPSHOT pom WSO2 Carbon - Webapp Authenticator Framework Feature http://wso2.org diff --git a/pom.xml b/pom.xml index d3484c5479..cb38b4867c 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 2.0.3 + 2.0.4-SNAPSHOT WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1551,7 +1551,7 @@ https://github.com/wso2/carbon-device-mgt.git scm:git:https://github.com/wso2/carbon-device-mgt.git scm:git:https://github.com/wso2/carbon-device-mgt.git - v2.0.3 + HEAD @@ -1827,7 +1827,7 @@ 1.2.11.wso2v10 - 2.0.3 + 2.0.4-SNAPSHOT 4.4.8