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 @@ ../../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/datasources/master-datasources.xml src/analytics/conf/datasource_config_change.xml + + ${basedir}/../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/cdm-config.xml + ../../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 + + src/core/conf/etc/device-analytics-config.xml + ${pom.artifactId}-${pom.version}/wso2/analytics/conf/etc + device-analytics-config.xml + true + 644 + src/core/conf/synapse-handlers.xml @@ -1972,41 +1973,5 @@ 644 - - - - src/core/resources/security/client-truststore.jks - ${pom.artifactId}-${pom.version}/repository/resources/security - 644 - - - src/core/resources/security/client-truststore.jks - ${pom.artifactId}-${pom.version}/wso2/analytics/repository/resources/security - 644 - - - src/core/resources/security/client-truststore.jks - ${pom.artifactId}-${pom.version}/wso2/broker/repository/resources/security - 644 - - - src/core/resources/security/wso2carbon.jks - ${pom.artifactId}-${pom.version}/repository/resources/security - false - 644 - - - src/core/resources/security/wso2carbon.jks - ${pom.artifactId}-${pom.version}/wso2/analytics/repository/resources/security - false - 644 - - - src/core/resources/security/wso2carbon.jks - ${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