diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index 78b795cf..65ea1096 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -292,6 +292,11 @@
src/analytics/conf/datasource_config_change.xml
+
+ ${basedir}/../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/cdm-config.xml
+
+ src/analytics/conf/cdm_config_change.xml
+
diff --git a/modules/distribution/src/analytics/conf/cdm_config_change.xml b/modules/distribution/src/analytics/conf/cdm_config_change.xml
new file mode 100644
index 00000000..1dd2d11b
--- /dev/null
+++ b/modules/distribution/src/analytics/conf/cdm_config_change.xml
@@ -0,0 +1,12 @@
+
+
+
+ //DeviceMgtConfiguration/PushNotificationConfiguration/PushNotificationProviders
+
+
+
+
+ //DeviceMgtConfiguration/PushNotificationConfiguration
+ src/analytics/conf/push_notification_config.xml
+
+
\ No newline at end of file
diff --git a/modules/distribution/src/analytics/conf/datasources/cdm-datasources.xml b/modules/distribution/src/analytics/conf/datasources/cdm-datasources.xml
new file mode 100644
index 00000000..15e7e407
--- /dev/null
+++ b/modules/distribution/src/analytics/conf/datasources/cdm-datasources.xml
@@ -0,0 +1,45 @@
+
+
+
+
+ org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader
+
+
+
+ DM_DS
+ The datasource used for CDM
+
+ jdbc/DM_DS
+
+
+
+ jdbc:h2:../../repository/database/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000
+ wso2carbon
+ wso2carbon
+ org.h2.Driver
+ 50
+ 60000
+ true
+ SELECT 1
+ 30000
+
+
+
+
+
diff --git a/modules/distribution/src/analytics/conf/output-adapter-change.xml b/modules/distribution/src/analytics/conf/output-adapter-change.xml
index 89d97b19..b1d69837 100644
--- a/modules/distribution/src/analytics/conf/output-adapter-change.xml
+++ b/modules/distribution/src/analytics/conf/output-adapter-change.xml
@@ -2,7 +2,21 @@
/outputEventAdaptersConfig/adapterConfig[@type="websocket"]
-
+
+
+ 8
+ 100
+ 20000
+ 10000
+ 60
+ https://${iot.keymanager.host}:${iot.keymanager.https.port}/client-registration/v0.11/register
+ https://${iot.gateway.host}:${iot.gateway.https.port}/token
+ tcp://${mqtt.broker.host}:${mqtt.broker.port}
+ admin
+ admin
+
+
+
8
100
diff --git a/modules/distribution/src/analytics/conf/push_notification_config.xml b/modules/distribution/src/analytics/conf/push_notification_config.xml
new file mode 100644
index 00000000..cfa47cb2
--- /dev/null
+++ b/modules/distribution/src/analytics/conf/push_notification_config.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/distribution/src/assembly/bin.xml b/modules/distribution/src/assembly/bin.xml
index f503f159..7ab1f3fb 100755
--- a/modules/distribution/src/assembly/bin.xml
+++ b/modules/distribution/src/assembly/bin.xml
@@ -70,9 +70,6 @@
**/master-datasources.xml
**/carbon.xml
**/registry.xml
- **/client-truststore.jks
- **/wso2carbon.jks
- **/wso2carbon.jks
**/WSO2AM_DB.h2.db
**/WSO2DM_DB.h2.db
**/lib/httpmime*
@@ -253,8 +250,6 @@
**/synapse-configs/**
**/web-apps/**
**/appm-tenant-conf.xml
- **/client-truststore.jks
- **/wso2carbon.jks
@@ -326,10 +321,6 @@
${pom.artifactId}-${pom.version}/repository/resources
-
- **/client-truststore.jks
- **/wso2carbon.jks
-
@@ -697,8 +688,6 @@
**/LICENSE.txt
**/release-notes.html
**/webapp-mode/WEB-INF/web.xml
- **/repository/resources/security/client-truststore.jks
- **/repository/resources/security/wso2carbon.jks
@@ -722,6 +711,13 @@
+
+
+ src/analytics/conf/datasources
+
+ ${pom.artifactId}-${pom.version}/wso2/analytics/conf/datasources
+
+
src/analytics/conf/analytics/spark
@@ -988,8 +984,6 @@
**/LICENSE.txt
**/release-notes.html
**/dbscripts
- **/repository/resources/security/client-truststore.jks
- **/repository/resources/security/wso2carbon.jks
@@ -1239,6 +1233,13 @@
true
644
+
+
+ ${pom.artifactId}-${pom.version}/wso2/analytics/conf/etc
+ device-analytics-config.xml
+ true
+ 644
+
@@ -1972,41 +1973,5 @@
644
-
-
-
-
- ${pom.artifactId}-${pom.version}/repository/resources/security
- 644
-
-
-
- ${pom.artifactId}-${pom.version}/wso2/analytics/repository/resources/security
- 644
-
-
-
- ${pom.artifactId}-${pom.version}/wso2/broker/repository/resources/security
- 644
-
-
-
- ${pom.artifactId}-${pom.version}/repository/resources/security
- false
- 644
-
-
-
- ${pom.artifactId}-${pom.version}/wso2/analytics/repository/resources/security
- false
- 644
-
-
-
- ${pom.artifactId}-${pom.version}/wso2/broker/repository/resources/security
- false
- 644
-
-
diff --git a/modules/distribution/src/core/conf/datasources/cdm-datasources.xml b/modules/distribution/src/core/conf/datasources/cdm-datasources.xml
index 8a4bb660..fa52911a 100755
--- a/modules/distribution/src/core/conf/datasources/cdm-datasources.xml
+++ b/modules/distribution/src/core/conf/datasources/cdm-datasources.xml
@@ -29,7 +29,7 @@
- jdbc:h2:repository/database/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000
+ jdbc:h2:repository/database/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000
wso2carbon
wso2carbon
org.h2.Driver
diff --git a/modules/integration/tests-common/integration-common/src/main/java/org/wso2/iot/integration/common/extensions/CarbonServerManagerExtension.java b/modules/integration/tests-common/integration-common/src/main/java/org/wso2/iot/integration/common/extensions/CarbonServerManagerExtension.java
index 5256761b..154205b1 100644
--- a/modules/integration/tests-common/integration-common/src/main/java/org/wso2/iot/integration/common/extensions/CarbonServerManagerExtension.java
+++ b/modules/integration/tests-common/integration-common/src/main/java/org/wso2/iot/integration/common/extensions/CarbonServerManagerExtension.java
@@ -18,6 +18,9 @@
package org.wso2.iot.integration.common.extensions;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.filefilter.DirectoryFileFilter;
+import org.apache.commons.io.filefilter.RegexFileFilter;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -36,6 +39,7 @@ import org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader;
import javax.xml.xpath.XPathExpressionException;
import java.io.File;
import java.io.IOException;
+import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
@@ -57,6 +61,7 @@ public class CarbonServerManagerExtension {
private static final String CMD_ARG = "cmdArg";
private static int defaultHttpPort = Integer.parseInt("9763");
private static int defaultHttpsPort = Integer.parseInt("9443");
+ private static final long COVERAGE_DUMP_WAIT_TIME = 30000;
public CarbonServerManagerExtension(AutomationContext context) {
this.automationContext = context;
@@ -246,6 +251,7 @@ public class CarbonServerManagerExtension {
}
private void generateCoverageReport(File classesDir) throws IOException, AutomationFrameworkException {
+ checkJacocoDataFileSizes(FrameworkPathUtil.getJacocoCoverageHome());
CodeCoverageUtils.executeMerge(FrameworkPathUtil.getJacocoCoverageHome(), FrameworkPathUtil.getCoverageMergeFilePath());
ReportGenerator reportGenerator = new ReportGenerator(new File(FrameworkPathUtil.getCoverageMergeFilePath()), classesDir, new File(CodeCoverageUtils.getJacocoReportDirectory()), (File)null);
reportGenerator.create();
@@ -374,4 +380,48 @@ public class CarbonServerManagerExtension {
}
}
+
+ /**
+ * To check jacoco file sizes and wait for them to get created..
+ *
+ * @param filePath File Path of the jacoco data files.
+ */
+ private void checkJacocoDataFileSizes(String filePath) {
+ Collection fileSetsCollection = FileUtils
+ .listFiles(new File(filePath), new RegexFileFilter("[^s]+(." + "(?i)(exec))$"),
+ DirectoryFileFilter.DIRECTORY);
+
+ for (File inputFile : fileSetsCollection) {
+ if (inputFile.isDirectory()) {
+ continue;
+ }
+ //retry to check whether exec data file is non empty.
+ waitForCoverageDumpFileCreation(inputFile);
+ }
+ }
+
+ /**
+ * This is to wait for jacoco exe file creation.
+ *
+ * @param file File that need to be created.
+ */
+ private void waitForCoverageDumpFileCreation(File file) {
+ long currentTime = System.currentTimeMillis();
+ long waitTime = currentTime + COVERAGE_DUMP_WAIT_TIME;
+
+ while (waitTime > System.currentTimeMillis()) {
+ if (file.length() > 0) {
+ log.info("Execution data file non empty file size in KB : " + file.length() / 1024);
+ break;
+ } else {
+ try {
+ log.warn("Execution data file is empty file size in KB : " + file.length() / 1024);
+ Thread.sleep(500);
+ } catch (InterruptedException ignored) {
+ log.warn("Sleep interrupted ", ignored);
+ }
+ }
+ }
+ }
+
}
diff --git a/modules/integration/tests-integration/src/test/resources/instrumentation.txt b/modules/integration/tests-integration/src/test/resources/instrumentation.txt
index 8e73b3de..d8c07c05 100644
--- a/modules/integration/tests-integration/src/test/resources/instrumentation.txt
+++ b/modules/integration/tests-integration/src/test/resources/instrumentation.txt
@@ -1,5 +1,4 @@
org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization_
-org.wso2.carbon.device.mgt.analytics.dashboard_
org.wso2.carbon.device.mgt.analytics.data.publisher_
org.wso2.carbon.device.mgt.common_
org.wso2.carbon.device.mgt.core_
@@ -34,7 +33,6 @@ org.wso2.carbon.email.sender.core_
org.wso2.carbon.identity.jwt.client.extension_
org.wso2.carbon.identity.authenticator.backend.oauth_
org.wso2.carbon.webapp.authenticator.framework_
-org.wso2.carbon.device.mgt.analytics.dashboard_
org.wso2.carbon.complex.policy.decision.point_
org.wso2.carbon.appmgt.mdm.osgiconnector_
org.wso2.carbon.appmgt.mdm.restconnector_
diff --git a/modules/integration/tests-integration/src/test/resources/jmeter-scripts/NewAndroidDeviceManagementAPI.jmx b/modules/integration/tests-integration/src/test/resources/jmeter-scripts/NewAndroidDeviceManagementAPI.jmx
index f6f6147a..b20a2c3d 100644
--- a/modules/integration/tests-integration/src/test/resources/jmeter-scripts/NewAndroidDeviceManagementAPI.jmx
+++ b/modules/integration/tests-integration/src/test/resources/jmeter-scripts/NewAndroidDeviceManagementAPI.jmx
@@ -817,7 +817,7 @@ GEL4ZNjZ+jnwSkzwBU5vh/QS",
https
- /api/certificate-mgt/v1.0/admin/certificates/18022362098305316308
+ /api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs338
GET
false
false
@@ -852,7 +852,7 @@ GEL4ZNjZ+jnwSkzwBU5vh/QS",
https
- /api/certificate-mgt/v1.0/admin/certificates/18022362098305316308
+ /api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs33
DELETE
false
false
@@ -5005,7 +5005,7 @@ GEL4ZNjZ+jnwSkzwBU5vh/QS",
https
- /api/certificate-mgt/v1.0/admin/certificates/18022362098305316308
+ /api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs33
GET
false
false
@@ -5119,7 +5119,7 @@ GEL4ZNjZ+jnwSkzwBU5vh/QS",
https
- /api/certificate-mgt/v1.0/admin/certificates/18022362098305316308
+ /api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs33
DELETE
false
false
diff --git a/modules/p2-profile/analytics-profile/carbon.product b/modules/p2-profile/analytics-profile/carbon.product
index 14d95d8e..cf9cca05 100644
--- a/modules/p2-profile/analytics-profile/carbon.product
+++ b/modules/p2-profile/analytics-profile/carbon.product
@@ -1,7 +1,7 @@
-
+
@@ -13,7 +13,7 @@
-
+
diff --git a/modules/p2-profile/analytics-profile/pom.xml b/modules/p2-profile/analytics-profile/pom.xml
index 460aeb0a..15804c16 100644
--- a/modules/p2-profile/analytics-profile/pom.xml
+++ b/modules/p2-profile/analytics-profile/pom.xml
@@ -94,6 +94,15 @@
true
true
+
+ org.wso2.carbon.devicemgt:org.wso2.carbon.device.mgt.basics.feature:${carbon.device.mgt.version}
+
+
+ org.wso2.carbon.devicemgt:org.wso2.carbon.email.sender.feature:${carbon.device.mgt.version}
+
+
+ org.apache.axis2.transport:org.apache.axis2.transport.mail.feature:${axis2-transports.wso2.version}
+
org.wso2.carbon.analytics:org.wso2.carbon.analytics.core.feature:${carbon.analytics.das.version}
@@ -388,9 +397,15 @@
org.wso2.carbon.devicemgt-plugins:org.wso2.extension.siddhi.execution.json.feature:${carbon.device.mgt.plugin.version}
-
- org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.androidsense.analytics.feature:${carbon.device.mgt.plugin.version}
-
+
+ org.wso2.carbon.devicemgt-plugins:org.wso2.extension.siddhi.devicegroup.feature:${carbon.device.mgt.plugin.version}
+
+
+ org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.analytics.feature:${carbon.device.mgt.plugin.version}
+
+
+ org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.androidsense.analytics.feature:${carbon.device.mgt.plugin.version}
+
org.wso2.carbon.devicemgt-plugins:org.wso2.gpl.siddhi.extension.geo.script.feature:${carbon.device.mgt.plugin.version}
@@ -443,6 +458,18 @@
true
+
+ org.wso2.carbon.device.mgt.basics.feature.group
+ ${carbon.device.mgt.version}
+
+
+ org.wso2.carbon.email.sender.feature.group
+ ${carbon.device.mgt.version}
+
+
+ org.apache.axis2.transport.mail.feature.group
+ ${axis2-transports.wso2.version}
+
org.wso2.carbon.analytics.core.feature.group
@@ -826,13 +853,20 @@
org.wso2.extension.siddhi.execution.json.feature.group
${carbon.device.mgt.plugin.version}
+
+ org.wso2.extension.siddhi.devicegroup.feature.group
+ ${carbon.device.mgt.plugin.version}
+
+
+ org.wso2.carbon.device.mgt.iot.analytics.feature.group
+ ${carbon.device.mgt.plugin.version}
+
org.wso2.carbon.device.mgt.iot.androidsense.analytics.feature.group
${carbon.device.mgt.plugin.version}
-
org.wso2.gpl.siddhi.extension.geo.script.feature.group
diff --git a/modules/p2-profile/broker-profile/carbon.product b/modules/p2-profile/broker-profile/carbon.product
index 14d95d8e..cf9cca05 100644
--- a/modules/p2-profile/broker-profile/carbon.product
+++ b/modules/p2-profile/broker-profile/carbon.product
@@ -1,7 +1,7 @@
-
+
@@ -13,7 +13,7 @@
-
+
diff --git a/modules/p2-profile/iot-core-profile/carbon.product b/modules/p2-profile/iot-core-profile/carbon.product
index c5a05630..3b6b09ec 100644
--- a/modules/p2-profile/iot-core-profile/carbon.product
+++ b/modules/p2-profile/iot-core-profile/carbon.product
@@ -2,7 +2,7 @@
+version="4.4.17" useFeatures="true" includeLaunchers="true">
@@ -14,7 +14,7 @@ version="4.4.16" useFeatures="true" includeLaunchers="true">
-
+
diff --git a/modules/p2-profile/iot-core-profile/pom.xml b/modules/p2-profile/iot-core-profile/pom.xml
index 251faaf4..75df01c4 100644
--- a/modules/p2-profile/iot-core-profile/pom.xml
+++ b/modules/p2-profile/iot-core-profile/pom.xml
@@ -193,9 +193,6 @@
org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.adapter.feature:${carbon.device.mgt.plugin.version}
-
- org.wso2.carbon.devicemgt:org.wso2.carbon.device.mgt.analytics.dashboard.feature:${carbon.device.mgt.version}
-
@@ -746,10 +743,6 @@
org.wso2.carbon.identity:org.wso2.carbon.identity.oauth2.grant.jwt.feature:${identity.jwt.extension.version}
-
-
- org.wso2.carbon.devicemgt:org.wso2.carbon.device.mgt.analytics.dashboard.feature:${carbon.device.mgt.version}
-
org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.iot.geo.dashboard.feature:${carbon.device.mgt.plugin.version}
@@ -1017,10 +1010,6 @@
org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature.group
${carbon.device.mgt.version}
-
- org.wso2.carbon.device.mgt.analytics.dashboard.feature.group
- ${carbon.device.mgt.version}
-
org.wso2.carbon.device.mgt.mobile.android.feature.group
${carbon.device.mgt.plugin.version}
@@ -1627,11 +1616,6 @@
org.wso2.carbon.identity.oauth2.grant.jwt.feature.group
${identity.jwt.extension.version}
-
-
- org.wso2.carbon.device.mgt.analytics.dashboard.feature.group
- ${carbon.device.mgt.version}
-
org.wso2.carbon.device.mgt.cdmf.analytics.feature.group
${carbon.device.mgt.plugin.version}
@@ -1649,12 +1633,12 @@
${carbon.device.mgt.plugin.version}
+
+
+ org.wso2.carbon.andes.extensions.device.mgt.api.feature.group
+ ${carbon.device.mgt.plugin.version}
+
-
-
- org.wso2.carbon.andes.extensions.device.mgt.api.feature.group
- ${carbon.device.mgt.plugin.version}
-
@@ -2063,10 +2047,6 @@
org.wso2.carbon.device.mgt.notification.listener.feature.group
${carbon.device.mgt.plugin.version}
-
- org.wso2.carbon.device.mgt.analytics.dashboard.feature.group
- ${carbon.device.mgt.version}
-
org.wso2.carbon.device.mgt.adapter.feature.group
@@ -2493,10 +2473,6 @@
org.wso2.carbon.certificate.mgt.cert.admin.api.feature.group
${carbon.device.mgt.version}
-
- org.wso2.carbon.device.mgt.analytics.dashboard.feature.group
- ${carbon.device.mgt.version}
-
org.wso2.carbon.event.stream.feature.group
${carbon.analytics.common.version}
@@ -2718,14 +2694,6 @@
org.wso2.carbon.device.mgt.notification.listener.feature.group
${carbon.device.mgt.plugin.version}
-
- org.wso2.carbon.device.mgt.notification.listener.feature.group
- ${carbon.device.mgt.plugin.version}
-
-
- org.wso2.carbon.device.mgt.analytics.dashboard.feature.group
- ${carbon.device.mgt.version}
-
@@ -3127,10 +3095,6 @@
org.wso2.carbon.certificate.mgt.cert.admin.api.feature.group
${carbon.device.mgt.version}
-
- org.wso2.carbon.device.mgt.analytics.dashboard.feature.group
- ${carbon.device.mgt.version}
-
org.wso2.carbon.event.stream.feature.group
${carbon.analytics.common.version}
diff --git a/pom.xml b/pom.xml
index 597ae173..5ea4787e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1446,7 +1446,7 @@
- 4.4.16
+ 4.4.17
[4.4.0, 4.5.0)
2.2.0
@@ -1516,18 +1516,15 @@
4.7.8
-
-
- 3.0.129-SNAPSHOT
-
+
+ 3.0.172
[3.0.0, 4.0.0)
${project.version}
- 4.0.87-SNAPSHOT
-
+ 4.0.93
6.1.109
@@ -1763,6 +1760,11 @@
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.0.0
+
org.apache.maven.plugins
maven-project-info-reports-plugin
diff --git a/pull_request_template.md b/pull_request_template.md
new file mode 100644
index 00000000..9b32185a
--- /dev/null
+++ b/pull_request_template.md
@@ -0,0 +1,52 @@
+## Purpose
+> Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc.
+
+## Goals
+> Describe the solutions that this feature/fix will introduce to resolve the problems described above
+
+## Approach
+> Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email documentation@wso2.com to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.
+
+## User stories
+> Summary of user stories addressed by this change>
+
+## Release note
+> Brief description of the new feature or bug fix as it will appear in the release notes
+
+## Documentation
+> Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact
+
+## Training
+> Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable
+
+## Certification
+> Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to certification@wso2.com and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.
+
+## Marketing
+> Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable
+
+## Automation tests
+ - Unit tests
+ > Code coverage information
+ - Integration tests
+ > Details about the test cases and coverage
+
+## Security checks
+ - Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes/no
+ - Ran FindSecurityBugs plugin and verified report? yes/no
+ - Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes/no
+
+## Samples
+> Provide high-level details about the samples related to this feature
+
+## Related PRs
+> List any other related PRs
+
+## Migrations (if applicable)
+> Describe migration steps and platforms on which migration has been tested
+
+## Test environment
+> List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested
+
+## Learning
+> Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.
\ No newline at end of file