Merge branch 'master' into feature/operation-template

pull/1/head
Charitha Goonetilleke 1 month ago
commit ccef7d52b3

@ -1,6 +1,6 @@
<?org.wso2.uesxml version="1.0" encoding="UTF-8"?> <?org.wso2.uesxml version="1.0" encoding="UTF-8"?>
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
@ -21,7 +21,7 @@
<parent> <parent>
<groupId>io.entgra.community.iots</groupId> <groupId>io.entgra.community.iots</groupId>
<artifactId>distribution</artifactId> <artifactId>distribution</artifactId>
<version>5.2.2-SNAPSHOT</version> <version>5.3.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath> <relativePath>../pom.xml</relativePath>
</parent> </parent>

@ -1,5 +1,5 @@
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except

@ -1,6 +1,6 @@
<?org.wso2.uesxml version="1.0" encoding="UTF-8"?> <?org.wso2.uesxml version="1.0" encoding="UTF-8"?>
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
@ -22,7 +22,7 @@
<parent> <parent>
<groupId>io.entgra.community.iots</groupId> <groupId>io.entgra.community.iots</groupId>
<artifactId>io.entgra.community.iots.parent</artifactId> <artifactId>io.entgra.community.iots.parent</artifactId>
<version>5.2.2-SNAPSHOT</version> <version>5.3.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath> <relativePath>../pom.xml</relativePath>
</parent> </parent>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
@ -22,7 +22,7 @@
<parent> <parent>
<groupId>io.entgra.community.iots</groupId> <groupId>io.entgra.community.iots</groupId>
<artifactId>io.entgra.community.iots.parent</artifactId> <artifactId>io.entgra.community.iots.parent</artifactId>
<version>5.2.2-SNAPSHOT</version> <version>5.3.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath> <relativePath>../pom.xml</relativePath>
</parent> </parent>
@ -59,7 +59,7 @@
<property> <property>
<name>carbon.zip</name> <name>carbon.zip</name>
<value> <value>
${basedir}/../../distribution/iot-community/target/${entgra-iot-community}.zip ${basedir}/../distribution/iot-community/target/${entgra-iot-community}.zip
</value> </value>
</property> </property>
<property> <property>
@ -106,7 +106,6 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId> <artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions> <executions>
<execution> <execution>
<goals> <goals>
@ -117,7 +116,6 @@
</plugin> </plugin>
<plugin> <plugin>
<artifactId>maven-resources-plugin</artifactId> <artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions> <executions>
<execution> <execution>
<id>copy-resources-jks</id> <id>copy-resources-jks</id>

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common; package io.entgra.community.iots.integration.test.common;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common; package io.entgra.community.iots.integration.test.common;
import java.io.File; import java.io.File;

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common; package io.entgra.community.iots.integration.test.common;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common; package io.entgra.community.iots.integration.test.common;
/** /**
* This class contains the functions to handle a HTTP Response * This class contains the functions to handle a HTTP Response

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common; package io.entgra.community.iots.integration.test.common;
import org.apache.commons.net.util.Base64; import org.apache.commons.net.util.Base64;
import org.json.JSONObject; import org.json.JSONObject;

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common; package io.entgra.community.iots.integration.test.common;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common; package io.entgra.community.iots.integration.test.common;
import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException; import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
import org.wso2.carbon.automation.test.utils.http.client.HttpRequestUtil; import org.wso2.carbon.automation.test.utils.http.client.HttpRequestUtil;

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common; package io.entgra.community.iots.integration.test.common;
import org.apache.commons.net.util.Base64; import org.apache.commons.net.util.Base64;
import org.testng.annotations.DataProvider; import org.testng.annotations.DataProvider;

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common.extensions; package io.entgra.community.iots.integration.test.common.extensions;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;

@ -15,7 +15,7 @@
* specific language governing permissions and limitations * specific language governing permissions and limitations
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common.extensions; package io.entgra.community.iots.integration.test.common.extensions;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;

@ -16,14 +16,17 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common.extensions; package io.entgra.community.iots.integration.test.common.extensions;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.DirectoryFileFilter; import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.RegexFileFilter; import org.apache.commons.io.filefilter.RegexFileFilter;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.wso2.carbon.automation.engine.context.AutomationContext; import org.wso2.carbon.automation.engine.context.AutomationContext;
import org.wso2.carbon.automation.engine.context.beans.User; import org.wso2.carbon.automation.engine.context.beans.User;
import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException; import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
@ -40,6 +43,7 @@ import javax.xml.xpath.XPathExpressionException;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -53,6 +57,7 @@ public class CarbonServerManagerExtension {
private ServerLogReader inputStreamHandler; private ServerLogReader inputStreamHandler;
private ServerLogReader errorStreamHandler; private ServerLogReader errorStreamHandler;
private boolean isCoverageEnable = false; private boolean isCoverageEnable = false;
private Set<String> coverageClassesDirectories = new HashSet();
private String coverageDumpFilePath; private String coverageDumpFilePath;
private int portOffset = 0; private int portOffset = 0;
private static final String SERVER_SHUTDOWN_MESSAGE = "Halting JVM"; private static final String SERVER_SHUTDOWN_MESSAGE = "Halting JVM";
@ -183,6 +188,7 @@ public class CarbonServerManagerExtension {
try { try {
this.isCoverageEnable = Boolean.parseBoolean(this.automationContext.getConfigurationValue("//coverage")); this.isCoverageEnable = Boolean.parseBoolean(this.automationContext.getConfigurationValue("//coverage"));
this.coverageClassesDirectories = this.getCoverageClassesDirectories(this.automationContext);
} catch (XPathExpressionException var8) { } catch (XPathExpressionException var8) {
throw new AutomationFrameworkException("Coverage configuration not found in automation.xml", var8); throw new AutomationFrameworkException("Coverage configuration not found in automation.xml", var8);
} }
@ -196,6 +202,28 @@ public class CarbonServerManagerExtension {
} }
} }
private Set<String> getCoverageClassesDirectories(AutomationContext automationContext) throws XPathExpressionException {
Set<String> coverageDirectories = new HashSet();
Node configurationNode = automationContext.getConfigurationNode("//coverageClassesRelativeDirectories");
if (configurationNode != null) {
NodeList childNodes = configurationNode.getChildNodes();
if (childNodes != null) {
for(int i = 0; i <= childNodes.getLength() - 1; ++i) {
Node node = childNodes.item(i);
if (node != null && "coverageClassesRelativeDirectory".equals(node.getNodeName())) {
coverageDirectories.add(node.getTextContent());
}
}
}
} else if (StringUtils.isNotEmpty(automationContext.getConfigurationValue("//coverageClassesRelativeDirectory"))) {
coverageDirectories.add(automationContext.getConfigurationValue("//coverageClassesRelativeDirectory"));
} else {
coverageDirectories.add("repository" + File.separator + "components" + File.separator + "plugins" + File.separator);
}
return coverageDirectories;
}
public synchronized void serverShutdown(int portOffset) throws AutomationFrameworkException { public synchronized void serverShutdown(int portOffset) throws AutomationFrameworkException {
if(this.process != null) { if(this.process != null) {
log.info("Shutting down server.."); log.info("Shutting down server..");
@ -235,8 +263,7 @@ public class CarbonServerManagerExtension {
if(this.isCoverageEnable) { if(this.isCoverageEnable) {
try { try {
log.info("Generating Jacoco code coverage..."); log.info("Generating Jacoco code coverage...");
this.generateCoverageReport(new File(this.carbonHome + File.separator + "repository" this.generateCoverageReport(this.coverageClassesDirectories);
+ File.separator + "components" + File.separator + "plugins" + File.separator));
} catch (IOException var7) { } catch (IOException var7) {
log.error("Failed to generate code coverage ", var7); log.error("Failed to generate code coverage ", var7);
throw new AutomationFrameworkException("Failed to generate code coverage ", var7); throw new AutomationFrameworkException("Failed to generate code coverage ", var7);
@ -250,7 +277,7 @@ public class CarbonServerManagerExtension {
} }
private void generateCoverageReport(File classesDir) throws IOException, AutomationFrameworkException { private void generateCoverageReport(Set<String> classesDir) throws IOException, AutomationFrameworkException {
checkJacocoDataFileSizes(FrameworkPathUtil.getJacocoCoverageHome()); checkJacocoDataFileSizes(FrameworkPathUtil.getJacocoCoverageHome());
CodeCoverageUtils.executeMerge(FrameworkPathUtil.getJacocoCoverageHome(), FrameworkPathUtil.getCoverageMergeFilePath()); CodeCoverageUtils.executeMerge(FrameworkPathUtil.getJacocoCoverageHome(), FrameworkPathUtil.getCoverageMergeFilePath());
ReportGenerator reportGenerator = new ReportGenerator(new File(FrameworkPathUtil.getCoverageMergeFilePath()), classesDir, new File(CodeCoverageUtils.getJacocoReportDirectory()), (File)null); ReportGenerator reportGenerator = new ReportGenerator(new File(FrameworkPathUtil.getCoverageMergeFilePath()), classesDir, new File(CodeCoverageUtils.getJacocoReportDirectory()), (File)null);

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common.extensions; package io.entgra.community.iots.integration.test.common.extensions;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.common.extensions; package io.entgra.community.iots.integration.test.common.extensions;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;

@ -16,7 +16,7 @@
* under the License. * under the License.
*/ */
package org.wso2.iot.integration.jmeter; package io.entgra.community.iots.integration.test.jmeter;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
@ -189,9 +189,9 @@
<platformExecutionManager> <platformExecutionManager>
<extentionClasses> <extentionClasses>
<class> <class>
<!-- <name>org.wso2.iot.integration.common.extensions.BrokerServerExtension</name>--> <!-- <name>io.entgra.community.iots.integration.test.common.extensions.BrokerServerExtension</name>-->
<name>org.wso2.iot.integration.common.extensions.IOTServerExtension</name> <name>io.entgra.community.iots.integration.test.common.extensions.IOTServerExtension</name>
<!-- <name>org.wso2.iot.integration.common.extensions.AnalyticsServerExtension</name>--> <!-- <name>io.entgra.community.iots.integration.test.common.extensions.AnalyticsServerExtension</name>-->
<!-- <name>org.wso2.carbon.integration.common.extensions.usermgt.UserPopulateExtension</name>--> <!-- <name>org.wso2.carbon.integration.common.extensions.usermgt.UserPopulateExtension</name>-->
</class> </class>
</extentionClasses> </extentionClasses>

@ -1,5 +1,5 @@
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except

@ -1,5 +1,5 @@
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except

@ -1,5 +1,5 @@
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
@ -29,7 +29,7 @@
<test name="iot-test-cases" preserve-order="true" parallel="false"> <test name="iot-test-cases" preserve-order="true" parallel="false">
<classes> <classes>
<class name="org.wso2.iot.integration.jmeter.AndroidDeviceManagementAPIJmeterTestCase"/> <class name="io.entgra.community.iots.integration.test.jmeter.AndroidDeviceManagementAPIJmeterTestCase"/>
</classes> </classes>
</test> </test>
</suite> </suite>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
@ -21,7 +21,7 @@
<parent> <parent>
<groupId>io.entgra.community.iots</groupId> <groupId>io.entgra.community.iots</groupId>
<artifactId>io.entgra.community.iots.parent</artifactId> <artifactId>io.entgra.community.iots.parent</artifactId>
<version>5.2.2-SNAPSHOT</version> <version>5.3.1-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -51,7 +51,6 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId> <artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<executions> <executions>
<execution> <execution>
<id>extract-pack</id> <id>extract-pack</id>
@ -67,7 +66,7 @@
<version>${wso2am-nexus-artifact-version}</version> <version>${wso2am-nexus-artifact-version}</version>
<type>zip</type> <type>zip</type>
<overWrite>true</overWrite> <overWrite>true</overWrite>
<outputDirectory>${project.basedir}/target/wso2am-${wso2am-nexus-artifact-version}</outputDirectory> <outputDirectory>${project.basedir}/target</outputDirectory>
<destFileName>wso2am-${wso2am-nexus-artifact-version}</destFileName> <destFileName>wso2am-${wso2am-nexus-artifact-version}</destFileName>
</artifactItem> </artifactItem>
</artifactItems> </artifactItems>
@ -185,7 +184,7 @@
<property name="db.dir" value="target/${wso2am}/repository/database" /> <property name="db.dir" value="target/${wso2am}/repository/database" />
<property name="userid" value="wso2carbon" /> <property name="userid" value="wso2carbon" />
<property name="password" value="wso2carbon" /> <property name="password" value="wso2carbon" />
<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE" /> <property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/DM_DB;DB_CLOSE_ON_EXIT=FALSE" />
<sql driver="org.h2.Driver" url="${dbURL}" userid="${userid}" password="${password}" autocommit="true" onerror="continue"> <sql driver="org.h2.Driver" url="${dbURL}" userid="${userid}" password="${password}" autocommit="true" onerror="continue">
<classpath refid="maven.dependency.classpath" /> <classpath refid="maven.dependency.classpath" />
@ -212,7 +211,7 @@
<property name="db.dir" value="target/${wso2am}/repository/database" /> <property name="db.dir" value="target/${wso2am}/repository/database" />
<property name="userid" value="wso2carbon" /> <property name="userid" value="wso2carbon" />
<property name="password" value="wso2carbon" /> <property name="password" value="wso2carbon" />
<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE" /> <property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/DM_DB;DB_CLOSE_ON_EXIT=FALSE" />
<sql driver="org.h2.Driver" url="${dbURL}" userid="${userid}" password="${password}" autocommit="true" onerror="continue"> <sql driver="org.h2.Driver" url="${dbURL}" userid="${userid}" password="${password}" autocommit="true" onerror="continue">
<classpath refid="maven.dependency.classpath" /> <classpath refid="maven.dependency.classpath" />
@ -253,7 +252,6 @@
<plugin> <plugin>
<groupId>org.wso2.maven</groupId> <groupId>org.wso2.maven</groupId>
<artifactId>carbon-p2-plugin</artifactId> <artifactId>carbon-p2-plugin</artifactId>
<version>${carbon.p2.plugin.version}</version>
<executions> <executions>
<execution> <execution>
<id>2-p2-repo-generation</id> <id>2-p2-repo-generation</id>
@ -290,6 +288,9 @@
<featureArtifactDef> <featureArtifactDef>
io.entgra.device.mgt.core:io.entgra.device.mgt.core.apimgt.webapp.publisher.feature:${io.entgra.device.mgt.core.version} io.entgra.device.mgt.core:io.entgra.device.mgt.core.apimgt.webapp.publisher.feature:${io.entgra.device.mgt.core.version}
</featureArtifactDef> </featureArtifactDef>
<featureArtifactDef>
io.entgra.device.mgt.core:io.entgra.device.mgt.core.apimgt.extension.rest.api.feature:${io.entgra.device.mgt.core.version}
</featureArtifactDef>
<featureArtifactDef> <featureArtifactDef>
io.entgra.device.mgt.core:io.entgra.device.mgt.core.identity.jwt.client.extension.feature:${io.entgra.device.mgt.core.version} io.entgra.device.mgt.core:io.entgra.device.mgt.core.identity.jwt.client.extension.feature:${io.entgra.device.mgt.core.version}
</featureArtifactDef> </featureArtifactDef>
@ -347,9 +348,6 @@
<!-- End of SMS Management Features --> <!-- End of SMS Management Features -->
<!-- App Manager Features--> <!-- App Manager Features-->
<featureArtifactDef>
io.entgra.device.mgt.core:io.entgra.device.mgt.core.application.mgt.api.feature:${io.entgra.device.mgt.core.version}
</featureArtifactDef>
<featureArtifactDef> <featureArtifactDef>
io.entgra.device.mgt.core:io.entgra.device.mgt.core.application.mgt.server.feature:${io.entgra.device.mgt.core.version} io.entgra.device.mgt.core:io.entgra.device.mgt.core.application.mgt.server.feature:${io.entgra.device.mgt.core.version}
</featureArtifactDef> </featureArtifactDef>
@ -433,10 +431,6 @@
<!--End of Grafana Management Features--> <!--End of Grafana Management Features-->
<!--App Manager Features--> <!--App Manager Features-->
<feature>
<id>io.entgra.device.mgt.core.application.mgt.api.feature.group</id>
<version>${io.entgra.device.mgt.core.version}</version>
</feature>
<feature> <feature>
<id>io.entgra.device.mgt.core.application.mgt.server.feature.group</id> <id>io.entgra.device.mgt.core.application.mgt.server.feature.group</id>
<version>${io.entgra.device.mgt.core.version}</version> <version>${io.entgra.device.mgt.core.version}</version>
@ -469,6 +463,10 @@
<id>io.entgra.device.mgt.core.apimgt.webapp.publisher.feature.group</id> <id>io.entgra.device.mgt.core.apimgt.webapp.publisher.feature.group</id>
<version>${io.entgra.device.mgt.core.version}</version> <version>${io.entgra.device.mgt.core.version}</version>
</feature> </feature>
<feature>
<id>io.entgra.device.mgt.core.apimgt.extension.rest.api.feature.group</id>
<version>${io.entgra.device.mgt.core.version}</version>
</feature>
<feature> <feature>
<id>io.entgra.device.mgt.core.apimgt.keymgt.extension.feature.group</id> <id>io.entgra.device.mgt.core.apimgt.keymgt.extension.feature.group</id>
<version>${io.entgra.device.mgt.core.version}</version> <version>${io.entgra.device.mgt.core.version}</version>
@ -594,7 +592,6 @@
<plugin> <plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId> <groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId> <artifactId>replacer</artifactId>
<version>1.5.3</version>
<executions> <executions>
<execution> <execution>
<phase>package</phase> <phase>package</phase>

@ -1,5 +1,5 @@
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
@ -92,10 +92,6 @@
<source>src/core/conf/input-event-adapters.xml</source> <source>src/core/conf/input-event-adapters.xml</source>
<outputDirectory>${entgra-iot-core}/repository/conf/</outputDirectory> <outputDirectory>${entgra-iot-core}/repository/conf/</outputDirectory>
</file> </file>
<file>
<source>src/core/conf/output-event-adapters.xml.j2</source>
<outputDirectory>${entgra-iot-core}/repository/resources/conf/templates/repository/conf</outputDirectory>
</file>
<file> <file>
<source>src/core/keystores/wso2carbon.jks</source> <source>src/core/keystores/wso2carbon.jks</source>
<outputDirectory>${entgra-iot-core}/repository/resources/security/</outputDirectory> <outputDirectory>${entgra-iot-core}/repository/resources/security/</outputDirectory>
@ -115,7 +111,6 @@
<outputDirectory>${entgra-iot-core}/repository/components/dropins</outputDirectory> <outputDirectory>${entgra-iot-core}/repository/components/dropins</outputDirectory>
<includes> <includes>
<include>io.entgra.device.mgt.core:io.entgra.device.mgt.core.device.mgt.oauth.extensions</include> <include>io.entgra.device.mgt.core:io.entgra.device.mgt.core.device.mgt.oauth.extensions</include>
<include>io.entgra.device.mgt.core:io.entgra.device.mgt.core.apimgt.keymgt.extension</include>
</includes> </includes>
<!--<useProjectArtifact>false</useProjectArtifact>--> <!--<useProjectArtifact>false</useProjectArtifact>-->
<!--<useTransitiveDependencies>true</useTransitiveDependencies>--> <!--<useTransitiveDependencies>true</useTransitiveDependencies>-->

@ -172,13 +172,13 @@ set CMD=RUN %*
:checkJdk17 :checkJdk17
PATH %PATH%;%JAVA_HOME%\bin\ PATH %PATH%;%JAVA_HOME%\bin\
for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "JAVA_VERSION=%%j%%k" for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "JAVA_VERSION=%%j%%k"
if %JAVA_VERSION% LSS 17 goto unknownJdk if %JAVA_VERSION% LSS 110 goto unknownJdk
if %JAVA_VERSION% GTR 110 goto unknownJdk if %JAVA_VERSION% GTR 170 goto unknownJdk
goto jdk17 goto jdk17
:unknownJdk :unknownJdk
echo Starting WSO2 Carbon (in unsupported JDK) echo Starting WSO2 Carbon (in unsupported JDK)
echo [ERROR] CARBON is supported only on JDK 1.7, 1.8, 9, 10 and 11 echo [ERROR] CARBON is supported only between JDK 11 and JDK 17
goto jdk17 goto jdk17
:jdk17 :jdk17
@ -203,7 +203,7 @@ set CARBON_CLASSPATH=".\lib\*";%CARBON_CLASSPATH%
if %JAVA_VERSION% GEQ 110 set CARBON_CLASSPATH=".\lib\endorsed\*";%CARBON_CLASSPATH% if %JAVA_VERSION% GEQ 110 set CARBON_CLASSPATH=".\lib\endorsed\*";%CARBON_CLASSPATH%
if %JAVA_VERSION% LEQ 18 set JAVA_VER_BASED_OPTS=-Djava.endorsed.dirs=".\lib\endorsed";"%JAVA_HOME%\jre\lib\endorsed";"%JAVA_HOME%\lib\endorsed" if %JAVA_VERSION% LEQ 18 set JAVA_VER_BASED_OPTS=-Djava.endorsed.dirs=".\lib\endorsed";"%JAVA_HOME%\jre\lib\endorsed";"%JAVA_HOME%\lib\endorsed"
if %JAVA_VERSION% GEQ 110 set JAVA_VER_BASED_OPTS=--add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED if %JAVA_VERSION% GEQ 110 set JAVA_VER_BASED_OPTS=--add-opens=java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED
set CMD_LINE_ARGS=-Xbootclasspath/a:%CARBON_XBOOTCLASSPATH% -Xms256m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="%CARBON_HOME%\repository\logs\heap-dump.hprof" set CMD_LINE_ARGS=-Xbootclasspath/a:%CARBON_XBOOTCLASSPATH% -Xms256m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="%CARBON_HOME%\repository\logs\heap-dump.hprof"
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dcom.sun.management.jmxremote -classpath %CARBON_CLASSPATH% %JAVA_OPTS% %JAVA_VER_BASED_OPTS% set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dcom.sun.management.jmxremote -classpath %CARBON_CLASSPATH% %JAVA_OPTS% %JAVA_VER_BASED_OPTS%
@ -217,6 +217,9 @@ set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dcom.atomikos.icatch.hide_init_file_path="tru
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dcom.sun.jndi.ldap.connect.pool.authentication=simple -Dcom.sun.jndi.ldap.connect.pool.timeout=3000 set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dcom.sun.jndi.ldap.connect.pool.authentication=simple -Dcom.sun.jndi.ldap.connect.pool.timeout=3000
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dorg.terracotta.quartz.skipUpdateCheck=true -Dcarbon.classpath=%CARBON_CLASSPATH% -Dfile.encoding=UTF8 -DworkerNode=false -Dcarbon.new.config.dir.path="%CARBON_HOME%\repository\resources\conf" set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dorg.terracotta.quartz.skipUpdateCheck=true -Dcarbon.classpath=%CARBON_CLASSPATH% -Dfile.encoding=UTF8 -DworkerNode=false -Dcarbon.new.config.dir.path="%CARBON_HOME%\repository\resources\conf"
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Djava.endorsed.dirs=%JAVA_ENDORSED% -Dorg.wso2.ignoreHostnameVerification=true -Dorg.opensaml.httpclient.https.disableHostnameVerification=true -Dhttpclient.hostnameVerifier="DefaultAndLocalhost" set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Djava.endorsed.dirs=%JAVA_ENDORSED% -Dorg.wso2.ignoreHostnameVerification=true -Dorg.opensaml.httpclient.https.disableHostnameVerification=true -Dhttpclient.hostnameVerifier="DefaultAndLocalhost"
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dlog4j2.contextSelector="org.apache.logging.log4j.core.async.AsyncLoggerContextSelector"
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dorg.ops4j.pax.logging.logReaderEnabled="false"
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dorg.ops4j.pax.logging.eventAdminEnabled="false"
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Diot.core.host="localhost" -Diot.core.https.port="9443" -Diot.core.http.port="9763" -Diot.gateway.host="localhost" -Diot.gateway.https.port="8243" -Diot.gateway.http.port="8280" -Diot.gateway.carbon.https.port="9443" -Diot.gateway.carbon.http.port="9763" -Diot.gateway.websocket.ws.port="9099" -Diot.gateway.websocket.wss.port="8099" -Diot.remotesession.server.host="localhost" -Diot.remotesession.server.https.port="9443" set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Diot.core.host="localhost" -Diot.core.https.port="9443" -Diot.core.http.port="9763" -Diot.gateway.host="localhost" -Diot.gateway.https.port="8243" -Diot.gateway.http.port="8280" -Diot.gateway.carbon.https.port="9443" -Diot.gateway.carbon.http.port="9763" -Diot.gateway.websocket.ws.port="9099" -Diot.gateway.websocket.wss.port="8099" -Diot.remotesession.server.host="localhost" -Diot.remotesession.server.https.port="9443"
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dmqtt.broker.host="localhost" -Dmqtt.broker.port="1883" set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dmqtt.broker.host="localhost" -Dmqtt.broker.port="1883"

@ -235,9 +235,9 @@ fi
# ---------- Handle the SSL Issue with proper JDK version -------------------- # ---------- Handle the SSL Issue with proper JDK version --------------------
java_version=$("$JAVACMD" -version 2>&1 | awk -F '"' '/version/ {print $2}') java_version=$("$JAVACMD" -version 2>&1 | awk -F '"' '/version/ {print $2}')
java_version_formatted=$(echo "$java_version" | awk -F. '{printf("%02d%02d",$1,$2);}') java_version_formatted=$(echo "$java_version" | awk -F. '{printf("%02d%02d",$1,$2);}')
if [ $java_version_formatted -lt 0107 ] || [ $java_version_formatted -gt 1100 ]; then if [ $java_version_formatted -lt 1100 ] || [ $java_version_formatted -gt 1700 ]; then
echo " Starting WSO2 Carbon (in unsupported JDK)" echo " Starting WSO2 Carbon (in unsupported JDK)"
echo " [ERROR] CARBON is supported only on JDK 1.7, 1.8, 9, 10 and 11" echo " [ERROR] CARBON is supported only between JDK 11 and JDK 17"
fi fi
CARBON_XBOOTCLASSPATH="" CARBON_XBOOTCLASSPATH=""
@ -307,11 +307,10 @@ echo "Using Java memory options: $JVM_MEM_OPTS"
#To monitor a Carbon server in remote JMX mode on linux host machines, set the below system property. #To monitor a Carbon server in remote JMX mode on linux host machines, set the below system property.
# -Djava.rmi.server.hostname="your.IP.goes.here" # -Djava.rmi.server.hostname="your.IP.goes.here"
JAVA_VER_BASED_OPTS="" JAVA_VER_BASED_OPTS="--add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED"
if [ $java_version_formatted -ge 1700 ]; then
if [ $java_version_formatted -ge 1100 ]; then JAVA_VER_BASED_OPTS="$JAVA_VER_BASED_OPTS --add-opens=java.naming/com.sun.jndi.ldap=ALL-UNNAMED"
JAVA_VER_BASED_OPTS="--add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED"
fi fi
while [ "$status" = "$START_EXIT_STATUS" ] while [ "$status" = "$START_EXIT_STATUS" ]
@ -354,6 +353,9 @@ do
-DenableCorrelationLogs=false \ -DenableCorrelationLogs=false \
-Dcarbon.new.config.dir.path="$CARBON_HOME/repository/resources/conf" \ -Dcarbon.new.config.dir.path="$CARBON_HOME/repository/resources/conf" \
-Djavax.xml.xpath.XPathFactory:http://java.sun.com/jaxp/xpath/dom=net.sf.saxon.xpath.XPathFactoryImpl \ -Djavax.xml.xpath.XPathFactory:http://java.sun.com/jaxp/xpath/dom=net.sf.saxon.xpath.XPathFactoryImpl \
-Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector \
-Dorg.ops4j.pax.logging.logReaderEnabled=false \
-Dorg.ops4j.pax.logging.eventAdminEnabled=false \
-Diot.core.host="localhost" \ -Diot.core.host="localhost" \
-Diot.core.https.port="9443" \ -Diot.core.https.port="9443" \
-Diot.core.http.port="9763" \ -Diot.core.http.port="9763" \

@ -105,7 +105,7 @@ config_endpoint = "https://localhost:8080/auth/v1"
auth_token = "" auth_token = ""
[web_app.listener] [web_app.listener]
class_name = ["org.wso2.carbon.apimgt.webapp.publisher.lifecycle.listener.APIPublisherLifecycleListener", "io.entgra.device.mgt.core.device.mgt.core.config.permission.lifecycle.WebAppDeploymentLifecycleListener"] class_name = ["io.entgra.device.mgt.core.apimgt.webapp.publisher.lifecycle.listener.APIPublisherLifecycleListener", "io.entgra.device.mgt.core.device.mgt.core.config.permission.lifecycle.WebAppDeploymentLifecycleListener"]
[apim.key_manager] [apim.key_manager]
#service_url = "https://localhost:${mgt.transport.https.port}/services/" #service_url = "https://localhost:${mgt.transport.https.port}/services/"
@ -115,7 +115,7 @@ class_name = ["org.wso2.carbon.apimgt.webapp.publisher.lifecycle.listener.APIPub
#pool.max_idle = 100 #pool.max_idle = 100
#key_validation_handler_type = "default" #key_validation_handler_type = "default"
#key_validation_handler_type = "custom" #key_validation_handler_type = "custom"
key_validation_handler_impl = "org.wso2.carbon.apimgt.keymgt.extension.KeyValidationHandler" key_validation_handler_impl = "io.entgra.device.mgt.core.apimgt.keymgt.extension.KeyValidationHandler"
#[apim.idp] #[apim.idp]
#server_url = "https://localhost:${mgt.transport.https.port}" #server_url = "https://localhost:${mgt.transport.https.port}"
@ -283,3 +283,19 @@ renew_refresh_token=false
[device_mgt_conf.pull_notification_conf] [device_mgt_conf.pull_notification_conf]
enabled=false enabled=false
[[output_adapter.custom_output_adapter]]
adapter.type = "oauth-mqtt"
[adapter.properties]
minThread = 8
maxThread = 100
keepAliveTimeInMillis = 20000
jobQueueSize = 10000
connectionKeepAliveInterval = 60
dcrUrl = "https://${iot.keymanager.host}:${iot.keymanager.https.port}/client-registration/v0.17/register"
tokenUrl = "https://${iot.gateway.host}:${iot.gateway.https.port}/token"
url = "tcp://${mqtt.broker.host}:${mqtt.broker.port}"
username = "${admin.username}"
password = "${admin.password}"
qos = 2
clearSession = true

@ -1,7 +1,7 @@
<!-- <!--
~ Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ WSO2 Inc. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License. ~ in compliance with the License.
~ You may obtain a copy of the License at ~ You may obtain a copy of the License at
@ -18,21 +18,6 @@
<inputEventAdaptersConfig> <inputEventAdaptersConfig>
<adapterConfig type="oauth-mqtt">
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>
<property key="keepAliveTimeInMillis">20000</property>
<property key="jobQueueSize">10000</property>
<property key="connectionKeepAliveInterval">60</property>
<property key="dcrUrl">https://${iot.keymanager.host}:${iot.keymanager.https.port}/client-registration/v0.17/register</property>
<property key="url">tcp://${mqtt.broker.host}:${mqtt.broker.port}</property>
<property key="username">admin</property>
<property key="password">admin</property>
<property key="contentValidator">deviceid-topic-content-validator</property>
<property key="cleanSession">true</property>
</adapterConfig>
<adapterConfig type="http"> <adapterConfig type="http">
<property key="minThread">8</property> <property key="minThread">8</property>
<property key="maxThread">100</property> <property key="maxThread">100</property>
@ -53,4 +38,18 @@
<property key="jobQueueSize">10000</property> <property key="jobQueueSize">10000</property>
</adapterConfig> </adapterConfig>
<adapterConfig type="oauth-mqtt">
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>
<property key="keepAliveTimeInMillis">20000</property>
<property key="jobQueueSize">10000</property>
<property key="connectionKeepAliveInterval">60</property>
<property key="dcrUrl">https://${iot.keymanager.host}:${iot.keymanager.https.port}/client-registration/v0.17/register</property>
<property key="url">tcp://${mqtt.broker.host}:${mqtt.broker.port}</property>
<property key="username">admin</property>
<property key="password">admin</property>
<property key="contentValidator">deviceid-topic-content-validator</property>
<property key="cleanSession">true</property>
</adapterConfig>
</inputEventAdaptersConfig> </inputEventAdaptersConfig>

@ -1,170 +0,0 @@
<!--
~ Copyright (c) 2005 - 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
~
~ Licensed 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.
-->
<outputEventAdaptersConfig xmlns:svns="http://org.wso2.securevault/configuration">
<adapterConfig type="wso2event">
<property key="default.thrift.tcp.url">tcp://localhost:7612</property>
<property key="default.thrift.ssl.url">ssl://localhost:7712</property>
<property key="default.binary.tcp.url">tcp://localhost:9612</property>
<property key="default.binary.ssl.url">ssl://localhost:9712</property>
</adapterConfig>
<adapterConfig type="rdbms">
<property key="string">VARCHAR(255)</property>
<property key="double">DOUBLE</property>
<property key="integer">INT</property>
<property key="long">BIGINT</property>
<property key="float">FLOAT</property>
<property key="boolean">BOOL</property>
<property key="createTable">CREATE TABLE $TABLE_NAME ($COLUMN_TYPES)</property>
<property key="insertDataToTable">INSERT INTO $TABLE_NAME ($COLUMNS) VALUES ($VALUES)</property>
<property key="isTableExist">SELECT * FROM $TABLE_NAME limit 1</property>
<property key="updateTableRow">UPDATE $TABLE_NAME SET $COLUMN_VALUES WHERE $CONDITION</property>
<property key="comma">,</property>
<property key="questionMark">?</property>
<property key="equal">=</property>
<property key="and">AND</property>
<property key="selectAllColumnsDataTypeInTable">SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '$TABLE_NAME'</property>
<property key="selectFromTable">SELECT $COLUMNS FROM $TABLE_NAME</property>
<property key="oracle.string">varchar2(255)</property>
<property key="oracle.long">CLOB</property>
<property key="oracle.double">BINARY_DOUBLE</property>
<property key="oracle.isTableExist">SELECT * FROM $TABLE_NAME WHERE ROWNUM = 1</property>
<property key="oracle.selectAllColumnsDataTypeInTable">SELECT COLUMN_NAME, DATA_TYPE FROM USER_TAB_COLS WHERE TABLE_NAME = '$TABLE_NAME'</property>
<property key="mssql.string">varchar2(255)</property>
<property key="mssql.isTableExist">SELECT TOP 1 * FROM $TABLE_NAME</property>
<property key="mssql.selectAllColumnsDataTypeInTable">SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '$TABLE_NAME'</property>
<property key="h2.integer">varchar2(255)</property>
<property key="h2.long">REAL</property>
<property key="h2.selectAllColumnsDataTypeInTable">SHOW COLUMNS FROM $TABLE_NAME</property>
</adapterConfig>
<adapterConfig type="http">
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>
<property key="keepAliveTimeInMillis">20000</property>
<property key="jobQueueSize">10000</property>
<!-- HTTP Client Pool Related Properties -->
<property key="defaultMaxConnectionsPerHost">50</property>
<property key="maxTotalConnections">1000</property>
</adapterConfig>
<adapterConfig type="jms">
<!-- Thread Pool Related Properties -->
<property key="minThread">{{output_adapter.jms.min_thread}}</property>
<property key="maxThread">{{output_adapter.jms.max_thread}}</property>
<property key="keepAliveTimeInMillis">{{output_adapter.jms.keep_alive_time}}</property>
<property key="jobQueueSize">{{output_adapter.jms.job_queue_size}}</property>
</adapterConfig>
<adapterConfig type="mqtt">
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>
<property key="keepAliveTimeInMillis">20000</property>
<property key="jobQueueSize">10000</property>
<property key="connectionKeepAliveInterval">60</property>
</adapterConfig>
<adapterConfig type="kafka">
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>
<property key="keepAliveTimeInMillis">20000</property>
<property key="jobQueueSize">10000</property>
</adapterConfig>
<adapterConfig type="email">
<!-- Comment mail.smtp.user and mail.smtp.password properties to support connecting SMTP servers which use trust
based authentication rather username/password authentication -->
<property key="mail.smtp.from">{{output_adapter.email.from_address}}</property>
<property key="mail.smtp.user">{{output_adapter.email.username}}</property>
<property key="mail.smtp.password">{{output_adapter.email.password}}</property>
<property key="mail.smtp.host">{{output_adapter.email.hostname}}</property>
<property key="mail.smtp.port">{{output_adapter.email.port}}</property>
<property key="mail.smtp.starttls.enable">{{output_adapter.email.enable_start_tls}}</property>
<property key="mail.smtp.auth">{{output_adapter.email.enable_authentication}}</property>
<property key="mail.smtp.signature">{{output_adapter.email.signature}}</property>
<property key="mail.smtp.replyTo">{{output_adapter.email.reply_to}}</property>
{% if output_adapter.email.custom_properties is defined %}
<!-- Custom Properties -->
{% for property_name,property_value in output_adapter.email.custom_properties.items() %}
<property key="{{property_name}}">{{property_value}}</property>
{% endfor %}
{% endif %}
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>
<property key="keepAliveTimeInMillis">20000</property>
<property key="jobQueueSize">10000</property>
</adapterConfig>
<adapterConfig type="ui">
<property key="eventQueueSize">30</property>
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>
<property key="keepAliveTimeInMillis">20000</property>
<property key="jobQueueSize">10000</property>
</adapterConfig>
<adapterConfig type="websocket-local">
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>
<property key="keepAliveTimeInMillis">20000</property>
<property key="jobQueueSize">10000</property>
</adapterConfig>
<adapterConfig type="websocket">
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>
<property key="keepAliveTimeInMillis">20000</property>
<property key="jobQueueSize">10000</property>
</adapterConfig>
<adapterConfig type="soap">
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>
<property key="keepAliveTimeInMillis">20000</property>
<property key="jobQueueSize">10000</property>
<!-- Axis2 Client Connection Related Properties -->
<property key="axis2ClientConnectionTimeout">10000</property>
<property key="reuseHTTPClient">true</property>
<property key="autoReleaseConnection">true</property>
<property key="maxConnectionsPerHost">50</property>
</adapterConfig>
<adapterConfig type="oauth-mqtt">
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>
<property key="keepAliveTimeInMillis">20000</property>
<property key="jobQueueSize">10000</property>
<property key="connectionKeepAliveInterval">60</property>
<property key="dcrUrl">https://${iot.keymanager.host}:${iot.keymanager.https.port}/client-registration/v0.17/register</property>
<property key="tokenUrl">https://${iot.gateway.host}:${iot.gateway.https.port}/token</property>
<property key="url">tcp://${mqtt.broker.host}:${mqtt.broker.port}</property>
<property key="username">admin</property>
<property key="password">admin</property>
<property key="qos">2</property>
<property key="clearSession">true</property>
</adapterConfig>
</outputEventAdaptersConfig>

@ -47,7 +47,7 @@
'managed-api-isSecured' - Indicates if the 'Managed API' needs to be exposed over a secured channel. 'managed-api-isSecured' - Indicates if the 'Managed API' needs to be exposed over a secured channel.
'managed-api-transports' - Transports through which the 'Managed API' is exposed. 'managed-api-transports' - Transports through which the 'Managed API' is exposed.
--> -->
<Listener className="org.wso2.carbon.apimgt.webapp.publisher.lifecycle.listener.APIPublisherLifecycleListener"/> <Listener className="io.entgra.device.mgt.core.apimgt.webapp.publisher.lifecycle.listener.APIPublisherLifecycleListener"/>
<!-- WebAppDeploymentLifecycleListener listens to webapp deployment events and adds the custom permissions defined in webapps' <!-- WebAppDeploymentLifecycleListener listens to webapp deployment events and adds the custom permissions defined in webapps'
META-INF/permissions.xml to the permissions/admin section of registry. Given below is a sample of permissions.xml file. META-INF/permissions.xml to the permissions/admin section of registry. Given below is a sample of permissions.xml file.

@ -1,7 +1,7 @@
<%-- <%--
~ Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ WSO2 Inc. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License. ~ in compliance with the License.
~ You may obtain a copy of the License at ~ You may obtain a copy of the License at

@ -1,7 +1,7 @@
<%-- <%--
~ Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ WSO2 Inc. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License. ~ in compliance with the License.
~ You may obtain a copy of the License at ~ You may obtain a copy of the License at

@ -1,8 +1,8 @@
<%-- <%--
~ Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ WSO2 Inc. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License. ~ in compliance with the License.
~ You may obtain a copy of the License at ~ You may obtain a copy of the License at

@ -1,7 +1,7 @@
<%-- <%--
~ Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ WSO2 Inc. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License. ~ in compliance with the License.
~ You may obtain a copy of the License at ~ You may obtain a copy of the License at

@ -1,7 +1,7 @@
<%-- <%--
~ Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ WSO2 Inc. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License. ~ in compliance with the License.
~ You may obtain a copy of the License at ~ You may obtain a copy of the License at

@ -1,8 +1,8 @@
<%-- <%--
~ Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ WSO2 Inc. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License. ~ in compliance with the License.
~ You may obtain a copy of the License at ~ You may obtain a copy of the License at

@ -1,7 +1,7 @@
# #
# Copyright (c) 2021, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. # Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
# #
# WSO2 Inc. licenses this file to you under the Apache License, # Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
# Version 2.0 (the "License"); you may not use this file except # Version 2.0 (the "License"); you may not use this file except
# in compliance with the License. # in compliance with the License.
# You may obtain a copy of the License at # You may obtain a copy of the License at

@ -1,7 +1,7 @@
# #
# Copyright (c) 2021, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. # Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
# #
# WSO2 Inc. licenses this file to you under the Apache License, # Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
# Version 2.0 (the "License"); you may not use this file except # Version 2.0 (the "License"); you may not use this file except
# in compliance with the License. # in compliance with the License.
# You may obtain a copy of the License at # You may obtain a copy of the License at

@ -1,7 +1,7 @@
<!-- <!--
~ Copyright (c) 2023, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ WSO2 Inc. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License. ~ in compliance with the License.
~ You may obtain a copy of the License at ~ You may obtain a copy of the License at
@ -21,13 +21,13 @@
<parent> <parent>
<groupId>org.wso2</groupId> <groupId>org.wso2</groupId>
<artifactId>wso2</artifactId> <artifactId>wso2</artifactId>
<version>1</version> <version>1.3</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>io.entgra.community.iots</groupId> <groupId>io.entgra.community.iots</groupId>
<artifactId>iot-devicetype-feature-installation</artifactId> <artifactId>iot-devicetype-feature-installation</artifactId>
<version>5.2.1-SNAPSHOT</version> <version>5.2.2-SNAPSHOT</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>Install Virtual Fire Alarm Device Types - IoT Core</name> <name>Install Virtual Fire Alarm Device Types - IoT Core</name>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
@ -22,7 +22,7 @@
<parent> <parent>
<groupId>io.entgra.community.iots</groupId> <groupId>io.entgra.community.iots</groupId>
<artifactId>io.entgra.community.iots.parent</artifactId> <artifactId>io.entgra.community.iots.parent</artifactId>
<version>5.2.2-SNAPSHOT</version> <version>5.3.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath> <relativePath>../pom.xml</relativePath>
</parent> </parent>
@ -105,7 +105,6 @@
<plugin> <plugin>
<groupId>org.wso2.maven</groupId> <groupId>org.wso2.maven</groupId>
<artifactId>carbon-p2-plugin</artifactId> <artifactId>carbon-p2-plugin</artifactId>
<version>${carbon.p2.plugin.version}</version>
<executions> <executions>
<execution> <execution>
<id>2-p2-repo-generation</id> <id>2-p2-repo-generation</id>
@ -178,7 +177,6 @@
<plugin> <plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId> <groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId> <artifactId>replacer</artifactId>
<version>1.5.3</version>
<executions> <executions>
<execution> <execution>
<phase>package</phase> <phase>package</phase>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
~ Copyright (c) 2018-2023, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved. ~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~ ~
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License, ~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except ~ Version 2.0 (the "License"); you may not use this file except
@ -23,7 +23,7 @@
<groupId>io.entgra.community.iots</groupId> <groupId>io.entgra.community.iots</groupId>
<artifactId>io.entgra.community.iots.parent</artifactId> <artifactId>io.entgra.community.iots.parent</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<version>5.2.2-SNAPSHOT</version> <version>5.3.1-SNAPSHOT</version>
<name>Entgra Community Product - Parent</name> <name>Entgra Community Product - Parent</name>
<url>http://entgra.io</url> <url>http://entgra.io</url>
<description>Entgra Community Product</description> <description>Entgra Community Product</description>
@ -85,27 +85,7 @@
<dependency> <dependency>
<groupId>org.wso2.carbon.automation</groupId> <groupId>org.wso2.carbon.automation</groupId>
<artifactId>org.wso2.carbon.automation.test.utils</artifactId> <artifactId>org.wso2.carbon.automation.test.utils</artifactId>
<version>${test.framework.version}</version> <version>${platform.integration.utils.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</exclusion>
</exclusions>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.wso2.carbon.automationutils</groupId>
<artifactId>org.wso2.carbon.integration.common.utils</artifactId>
<version>${test.framework.version}</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
@ -270,42 +250,6 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency>
<groupId>org.wso2.carbon.automationutils</groupId>
<artifactId>org.wso2.carbon.integration.common.admin.client</artifactId>
<version>${automation.utils.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</exclusion>
<exclusion>
<groupId>org.wso2.carbon.commons</groupId>
<artifactId>org.wso2.carbon.user.mgt.stub</artifactId>
</exclusion>
<exclusion>
<groupId>org.wso2.carbon.commons</groupId>
<artifactId>org.wso2.carbon.ndatasource.stub</artifactId>
</exclusion>
<exclusion>
<groupId>org.wso2.carbon.commons</groupId>
<artifactId>org.wso2.carbon.authenticator.stub</artifactId>
</exclusion>
<exclusion>
<groupId>org.wso2.carbon</groupId>
<artifactId>org.wso2.carbon.utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency> <dependency>
<groupId>com.google.code.gson</groupId> <groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId> <artifactId>gson</artifactId>
@ -316,27 +260,26 @@
<properties> <properties>
<wso2am-nexus-artifact-version>4.0.0</wso2am-nexus-artifact-version> <wso2am-nexus-artifact-version>4.2.0</wso2am-nexus-artifact-version>
<wso2am>wso2am-4.0.0</wso2am> <wso2am>wso2am-4.2.0</wso2am>
<entgra-iot-core>io.entgra.community.iots.core-${project.version}</entgra-iot-core> <entgra-iot-core>io.entgra.community.iots.core-${project.version}</entgra-iot-core>
<entgra-iot-community>entgra-iots-community-${project.version}</entgra-iot-community> <entgra-iot-community>entgra-iots-community-${project.version}</entgra-iot-community>
<!-- Carbon Device Management--> <!-- Carbon Device Management-->
<io.entgra.device.mgt.core.version>5.0.26-SNAPSHOT</io.entgra.device.mgt.core.version> <io.entgra.device.mgt.core.version>5.2.4-SNAPSHOT</io.entgra.device.mgt.core.version>
<carbon.p2.plugin.version>5.1.2</carbon.p2.plugin.version> <carbon.p2.plugin.version>5.1.2</carbon.p2.plugin.version>
<!--Orbit versions--> <!--Orbit versions-->
<orbit.h2.engine.version>1.4.199.wso2v1</orbit.h2.engine.version> <orbit.h2.engine.version>2.1.210.wso2v1</orbit.h2.engine.version>
<io.entgra.device.mgt.plugins.version>6.0.17-SNAPSHOT</io.entgra.device.mgt.plugins.version> <io.entgra.device.mgt.plugins.version>6.1.1-SNAPSHOT</io.entgra.device.mgt.plugins.version>
<!--Testing--> <!--Testing-->
<google.gson.version>2.8.5</google.gson.version> <google.gson.version>2.9.1</google.gson.version>
<platform.integration.utils.version>4.4.3</platform.integration.utils.version> <platform.integration.utils.version>4.4.10</platform.integration.utils.version>
<automation.utils.version>4.4.2</automation.utils.version> <automation.utils.version>4.5.3</automation.utils.version>
<test.framework.version>4.4.2</test.framework.version>
</properties> </properties>
@ -372,11 +315,11 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version> <version>3.8.1</version>
<configuration> <configuration>
<encoding>UTF-8</encoding> <encoding>UTF-8</encoding>
<source>1.8</source> <source>11</source>
<target>1.8</target> <target>11</target>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
@ -394,23 +337,10 @@
</plugins> </plugins>
<pluginManagement> <pluginManagement>
<plugins> <plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
<version>1.7.2</version>
<executions>
<execution>
<id>generate-scr-scrdescriptor</id>
<goals>
<goal>scr</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin> <plugin>
<groupId>org.apache.felix</groupId> <groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId> <artifactId>maven-bundle-plugin</artifactId>
<version>2.3.5</version> <version>3.2.0</version>
<extensions>true</extensions> <extensions>true</extensions>
<configuration> <configuration>
<obrRepository>NONE</obrRepository> <obrRepository>NONE</obrRepository>
@ -457,6 +387,21 @@
<testFailureIgnore>true</testFailureIgnore> <testFailureIgnore>true</testFailureIgnore>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>1.5.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.wso2.maven</groupId>
<artifactId>carbon-p2-plugin</artifactId>
<version>${carbon.p2.plugin.version}</version>
</plugin>
</plugins> </plugins>
</pluginManagement> </pluginManagement>
</build> </build>

Loading…
Cancel
Save