application-manager-new
lasantha 7 years ago
commit 708b6a7bbb

@ -292,6 +292,11 @@
<output>../../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/datasources/master-datasources.xml</output>
<config>src/analytics/conf/datasource_config_change.xml</config>
</transformation>
<transformation>
<input>${basedir}/../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/cdm-config.xml</input>
<output>../../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/cdm-config.xml</output>
<config>src/analytics/conf/cdm_config_change.xml</config>
</transformation>
</transformations>
</configuration>
</execution>

@ -0,0 +1,12 @@
<processor>
<!-- Remove current PushNotificationProviders config -->
<remove>
<name>//DeviceMgtConfiguration/PushNotificationConfiguration/PushNotificationProviders</name>
</remove>
<!-- Add modified Carbon db and UM db config -->
<add>
<inside>//DeviceMgtConfiguration/PushNotificationConfiguration</inside>
<file>src/analytics/conf/push_notification_config.xml</file>
</add>
</processor>

@ -0,0 +1,45 @@
<!--
~ Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
~
~ WSO2 Inc. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<datasources-configuration xmlns:svns="http://org.wso2.securevault/configuration">
<providers>
<provider>org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader</provider>
</providers>
<datasources>
<datasource>
<name>DM_DS</name>
<description>The datasource used for CDM</description>
<jndiConfig>
<name>jdbc/DM_DS</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:h2:../../repository/database/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000</url>
<username>wso2carbon</username>
<password>wso2carbon</password>
<driverClassName>org.h2.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
</datasources>
</datasources-configuration>

@ -2,7 +2,21 @@
<!-- Add outpu event adapter config element -->
<add>
<after>/outputEventAdaptersConfig/adapterConfig[@type="websocket"]</after>
<value><![CDATA[<adapterConfig type="oauth-mqtt">
<value><![CDATA[<adapterConfig type="oauth-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>
<property key="connectionKeepAliveInterval">60</property>
<property key="dcrUrl">https://${iot.keymanager.host}:${iot.keymanager.https.port}/client-registration/v0.11/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>
</adapterConfig>
<adapterConfig type="oauth-mqtt">
<!-- Thread Pool Related Properties -->
<property key="minThread">8</property>
<property key="maxThread">100</property>

@ -0,0 +1,5 @@
<config>
<PushNotificationProviders>
</PushNotificationProviders>
</config>

@ -711,6 +711,13 @@
</excludes>
</fileSet>
<fileSet>
<directory>
src/analytics/conf/datasources
</directory>
<outputDirectory>${pom.artifactId}-${pom.version}/wso2/analytics/conf/datasources</outputDirectory>
</fileSet>
<fileSet>
<directory>
src/analytics/conf/analytics/spark
@ -1226,6 +1233,13 @@
<filtered>true</filtered>
<fileMode>644</fileMode>
</file>
<file>
<source>src/core/conf/etc/device-analytics-config.xml</source>
<outputDirectory>${pom.artifactId}-${pom.version}/wso2/analytics/conf/etc</outputDirectory>
<destName>device-analytics-config.xml</destName>
<filtered>true</filtered>
<fileMode>644</fileMode>
</file>
<!-- Copying synapse-handlers.xml file -->
<file>
<source>src/core/conf/synapse-handlers.xml</source>

@ -29,7 +29,27 @@
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:h2:repository/database/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000</url>
<url>jdbc:h2:repository/database/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000</url>
<username>wso2carbon</username>
<password>wso2carbon</password>
<driverClassName>org.h2.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
<datasource>
<name>DM_ARCHIVAL_DS</name>
<description>The archival datasource used for CDM</description>
<jndiConfig>
<name>jdbc/DM_ARCHIVAL_DS</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:h2:repository/database/WSO2DM_ARCHIVAL_DS;DB_CLOSE_ON_EXIT=FALSE</url>
<username>wso2carbon</username>
<password>wso2carbon</password>
<driverClassName>org.h2.Driver</driverClassName>

@ -23,7 +23,6 @@ import org.wso2.carbon.automation.engine.annotations.ExecutionEnvironment;
import org.wso2.carbon.automation.engine.context.AutomationContext;
import org.wso2.carbon.automation.engine.context.ContextXpathConstants;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
import org.wso2.carbon.automation.engine.extensions.ExecutionListenerExtension;
import org.wso2.carbon.automation.extensions.ExtensionConstants;
import org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension;
@ -40,48 +39,43 @@ public class AnalyticsServerExtension extends ExecutionListenerExtension {
private static final Log log = LogFactory.getLog(CarbonServerExtension.class);
private String executionEnvironment;
private AutomationContext automationContext;
private final String ANALYTICS_PORT_OFFSET = "2";
@Override
public void initiate() throws AutomationFrameworkException {
public void initiate() {
try {
automationContext = new AutomationContext("IOT", TestUserMode.SUPER_TENANT_USER);
if(getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, "2");
if (getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, ANALYTICS_PORT_OFFSET);
}
serverManager = new CustomTestServerManager(getAutomationContext(), null, getParameters());
executionEnvironment =
automationContext.getConfigurationValue(ContextXpathConstants.EXECUTION_ENVIRONMENT);
} catch (XPathExpressionException e) {
handleException("Error while initiating test environment", e);
throw new RuntimeException("Error while initiating test environment", e);
}
}
@Override
public void onExecutionStart() throws AutomationFrameworkException {
public void onExecutionStart() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
String carbonHome = serverManager.startServer("analytics");
}
} catch (Exception e) {
handleException("Fail to start carbon server ", e);
throw new RuntimeException("Fail to start carbon server ", e);
}
}
@Override
public void onExecutionFinish() throws AutomationFrameworkException {
public void onExecutionFinish() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
serverManager.stopServer();
}
} catch (Exception e) {
handleException("Fail to stop carbon server ", e);
throw new RuntimeException("Fail to stop carbon server ", e);
}
}
private static void handleException(String msg, Exception e) {
log.error(msg, e);
throw new RuntimeException(msg, e);
}
}

@ -23,7 +23,6 @@ import org.wso2.carbon.automation.engine.annotations.ExecutionEnvironment;
import org.wso2.carbon.automation.engine.context.AutomationContext;
import org.wso2.carbon.automation.engine.context.ContextXpathConstants;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
import org.wso2.carbon.automation.engine.extensions.ExecutionListenerExtension;
import org.wso2.carbon.automation.extensions.ExtensionConstants;
import org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension;
@ -40,26 +39,26 @@ public class BrokerServerExtension extends ExecutionListenerExtension {
private static final Log log = LogFactory.getLog(CarbonServerExtension.class);
private String executionEnvironment;
private AutomationContext automationContext;
private final String BROKER_PORT_OFFSET = "3";
@Override
public void initiate() throws AutomationFrameworkException {
public void initiate() {
try {
automationContext = new AutomationContext("IOT", TestUserMode.SUPER_TENANT_USER);
if(getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, "3");
if (getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, BROKER_PORT_OFFSET);
}
serverManager = new CustomTestServerManager(getAutomationContext(), null, getParameters());
executionEnvironment =
automationContext.getConfigurationValue(ContextXpathConstants.EXECUTION_ENVIRONMENT);
} catch (XPathExpressionException e) {
handleException("Error while initiating test environment", e);
throw new RuntimeException("Error while initiating test environment", e);
}
}
@Override
public void onExecutionStart() throws AutomationFrameworkException {
public void onExecutionStart() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
String carbonHome = serverManager.startServer("broker");
@ -67,23 +66,18 @@ public class BrokerServerExtension extends ExecutionListenerExtension {
System.setProperty(ExtensionConstants.CARBON_HOME, carbonHome);
}
} catch (Exception e) {
handleException("Fail to start carbon server ", e);
throw new RuntimeException("Fail to start carbon server ", e);
}
}
@Override
public void onExecutionFinish() throws AutomationFrameworkException {
public void onExecutionFinish() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
serverManager.stopServer();
}
} catch (Exception e) {
handleException("Fail to stop carbon server ", e);
throw new RuntimeException("Fail to stop carbon server ", e);
}
}
private static void handleException(String msg, Exception e) {
log.error(msg, e);
throw new RuntimeException(msg, e);
}
}

@ -80,7 +80,6 @@ public class CustomTestServerManager {
}
public Map<String, String> getCommands() {
return commandMap;
}
@ -181,6 +180,4 @@ public class CustomTestServerManager {
public void stopServer() throws AutomationFrameworkException {
carbonServer.serverShutdown(portOffset);
}
}

@ -23,7 +23,6 @@ import org.wso2.carbon.automation.engine.annotations.ExecutionEnvironment;
import org.wso2.carbon.automation.engine.context.AutomationContext;
import org.wso2.carbon.automation.engine.context.ContextXpathConstants;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
import org.wso2.carbon.automation.engine.extensions.ExecutionListenerExtension;
import org.wso2.carbon.automation.extensions.ExtensionConstants;
import org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension;
@ -40,26 +39,26 @@ public class IOTServerExtension extends ExecutionListenerExtension {
private static final Log log = LogFactory.getLog(CarbonServerExtension.class);
private String executionEnvironment;
private AutomationContext automationContext;
private final String IOT_CORE_PORT_OFFSET = "0";
@Override
public void initiate() throws AutomationFrameworkException {
public void initiate() {
try {
automationContext = new AutomationContext("IOT", TestUserMode.SUPER_TENANT_USER);
if(getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, "0");
if (getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, IOT_CORE_PORT_OFFSET);
}
serverManager = new CustomTestServerManager(getAutomationContext(), null, getParameters());
executionEnvironment =
automationContext.getConfigurationValue(ContextXpathConstants.EXECUTION_ENVIRONMENT);
} catch (XPathExpressionException e) {
handleException("Error while initiating test environment", e);
throw new RuntimeException("Error while initiating test environment", e);
}
}
@Override
public void onExecutionStart() throws AutomationFrameworkException {
public void onExecutionStart() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
String carbonHome = serverManager.startServer("core");
@ -70,23 +69,18 @@ public class IOTServerExtension extends ExecutionListenerExtension {
Thread.sleep(30000);
}
} catch (Exception e) {
handleException("Fail to start carbon server ", e);
throw new RuntimeException("Fail to start carbon server ", e);
}
}
@Override
public void onExecutionFinish() throws AutomationFrameworkException {
public void onExecutionFinish() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
serverManager.stopServer();
}
} catch (Exception e) {
handleException("Fail to stop carbon server ", e);
throw new RuntimeException("Fail to stop carbon server ", e);
}
}
private static void handleException(String msg, Exception e) {
log.error(msg, e);
throw new RuntimeException(msg, e);
}
}

@ -80,11 +80,11 @@ public class DevicesPage {
*/
public ConnectedCupDeviceViewPage viewDevice(String deviceName) throws IOException {
WebElement deviceTable = driver.findElement(By.xpath(uiElementMapper.getElement("iot.devices.table.xpath")));
List<WebElement> data = deviceTable.findElements(By.cssSelector("a"));
for (WebElement e : data) {
String s = getLink(e, "/device/connectedcup?id=");
if (s != null) {
driver.get(s);
List<WebElement> anchors = deviceTable.findElements(By.cssSelector("a"));
for (WebElement element : anchors) {
String connectedCupLink = getLink(element, "/device/connectedcup?id=");
if (connectedCupLink != null) {
driver.get(connectedCupLink);
return new ConnectedCupDeviceViewPage(driver, deviceName);
}
}
@ -100,12 +100,11 @@ public class DevicesPage {
private String getLink(WebElement element, String... lookupText) {
String link = element.getAttribute("href");
boolean check = true;
for (String s : lookupText) {
if (!link.contains(s)) {
for (String text : lookupText) {
if (!link.contains(text)) {
check = false;
}
}
return check ? link : null;
}
}

@ -81,9 +81,8 @@ public class EnrollDevicePage {
tryBtn.click();
return new ConnectedCupDeviceTypeViewPage(driver);
} else {
log.error("Element not found...........................");
log.error("Element not found!");
return null;
}
}
}

@ -1,3 +1,20 @@
/*
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* WSO2 Inc. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.wso2.iot.integration.ui.pages.error;
import org.openqa.selenium.WebDriver;
@ -24,7 +41,6 @@ public class IOTErrorPage {
throw new IllegalStateException("This is not the Error page");
}
}
public boolean isErrorPresent() {
return this.isErrorPage;
}

@ -60,5 +60,4 @@ public class Graph {
return String.format("The graph for graph id : %s, X - axis : %s, Y - axis : %s, legend : %s ", graphId,
xAxis, yAxis, legend);
}
}

@ -47,7 +47,6 @@ public class DeviceAddGroupPage {
}
}
/**
* This method performs creation of a new device group.
* @param name : The group name that is need to be created.
@ -91,5 +90,4 @@ public class DeviceAddGroupPage {
return driver.findElement(By.xpath(
uiElementMapper.getElement("iot.device.groups.add.emptyfrom.error"))).getText();
}
}

@ -132,6 +132,5 @@ public class IOTAdminDashboard {
driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.device.viewBtn.xpath"))).click();
return new DevicesPage(driver);
}
//ToDo : Need to add policy methods
}

@ -57,7 +57,6 @@ public class IOTHomePage {
return name.contains(uiElementMapper.getElement("iot.user.login.username"));
}
/**
* Performs the logout function.
* @return : IOT login page.
@ -90,7 +89,5 @@ public class IOTHomePage {
driver.findElement(By.xpath("iot.device.viewGroup.empty.addGroup.xpath")).click();
return new DeviceAddGroupPage(driver);
}
//ToDo : To add policies
}

@ -101,5 +101,4 @@ public class LoginPage {
registerLink.click();
return new NewUserRegisterPage(driver);
}
}

@ -110,5 +110,4 @@ public class ConnectedCupDeviceInterface {
Action action = move.dragAndDropBy(slider, 0, val).build();
action.perform();
}
}

@ -17,7 +17,6 @@
*/
package org.wso2.iot.integration.ui.pages.samples;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
@ -79,5 +78,4 @@ public class ConnectedCupDeviceTypeViewPage {
return driver.findElement(By.xpath(
uiElementMapper.getElement("iot.sample.connectedcup.page.title"))).getText().contains("Connected Cup");
}
}

@ -27,7 +27,6 @@ import org.wso2.iot.integration.ui.pages.UIElementMapper;
import java.io.IOException;
/**
* This class represents the add user page of the IOT server.
*/
@ -76,5 +75,4 @@ public class AddUserPage {
return new UserAddedConfirmationPage(driver);
}
}

@ -48,5 +48,4 @@ public class EditUserPage {
public void editUser(String password, String firstName, String lastName) {
driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.add.input.password.xpath")));
}
}

@ -127,5 +127,4 @@ public class NewUserRegisterPage {
passwordField.clear();
passwordConfirmationField.clear();
}
}

@ -33,5 +33,4 @@ public class UserAddedConfirmationPage {
driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.addUser.view.btn.xpath"))).click();
}
}

@ -43,5 +43,4 @@ public class ViewUserPage {
throw new IllegalStateException("This is not the User view page");
}
}
}

@ -817,7 +817,7 @@ GEL4ZNjZ+jnwSkzwBU5vh/QS&quot;,&#xd;
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">/api/certificate-mgt/v1.0/admin/certificates/18022362098305316308</stringProp>
<stringProp name="HTTPSampler.path">/api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs338</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.follow_redirects">false</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@ -852,7 +852,7 @@ GEL4ZNjZ+jnwSkzwBU5vh/QS&quot;,&#xd;
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">/api/certificate-mgt/v1.0/admin/certificates/18022362098305316308</stringProp>
<stringProp name="HTTPSampler.path">/api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs33</stringProp>
<stringProp name="HTTPSampler.method">DELETE</stringProp>
<boolProp name="HTTPSampler.follow_redirects">false</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@ -5005,7 +5005,7 @@ GEL4ZNjZ+jnwSkzwBU5vh/QS&quot;,&#xd;
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">/api/certificate-mgt/v1.0/admin/certificates/18022362098305316308</stringProp>
<stringProp name="HTTPSampler.path">/api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs33</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.follow_redirects">false</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@ -5119,7 +5119,7 @@ GEL4ZNjZ+jnwSkzwBU5vh/QS&quot;,&#xd;
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">/api/certificate-mgt/v1.0/admin/certificates/18022362098305316308</stringProp>
<stringProp name="HTTPSampler.path">/api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs33</stringProp>
<stringProp name="HTTPSampler.method">DELETE</stringProp>
<boolProp name="HTTPSampler.follow_redirects">false</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>

@ -94,6 +94,15 @@
<publishArtifacts>true</publishArtifacts>
<publishArtifactRepository>true</publishArtifactRepository>
<featureArtifacts>
<featureArtifactDef>
org.wso2.carbon.devicemgt:org.wso2.carbon.device.mgt.basics.feature:${carbon.device.mgt.version}
</featureArtifactDef>
<featureArtifactDef>
org.wso2.carbon.devicemgt:org.wso2.carbon.email.sender.feature:${carbon.device.mgt.version}
</featureArtifactDef>
<featureArtifactDef>
org.apache.axis2.transport:org.apache.axis2.transport.mail.feature:${axis2-transports.wso2.version}
</featureArtifactDef>
<!-- START - Analytics Features -->
<featureArtifactDef>
org.wso2.carbon.analytics:org.wso2.carbon.analytics.core.feature:${carbon.analytics.das.version}
@ -388,9 +397,15 @@
<featureArtifactDef>
org.wso2.carbon.devicemgt-plugins:org.wso2.extension.siddhi.execution.json.feature:${carbon.device.mgt.plugin.version}
</featureArtifactDef>
<featureArtifactDef>
org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.androidsense.analytics.feature:${carbon.device.mgt.plugin.version}
</featureArtifactDef>
<featureArtifactDef>
org.wso2.carbon.devicemgt-plugins:org.wso2.extension.siddhi.device.feature:${carbon.device.mgt.plugin.version}
</featureArtifactDef>
<featureArtifactDef>
org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.analytics.feature:${carbon.device.mgt.plugin.version}
</featureArtifactDef>
<featureArtifactDef>
org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.androidsense.analytics.feature:${carbon.device.mgt.plugin.version}
</featureArtifactDef>
<!-- GPL Siddhi Extension Script for Geo Fencing -->
<featureArtifactDef>
org.wso2.carbon.devicemgt-plugins:org.wso2.gpl.siddhi.extension.geo.script.feature:${carbon.device.mgt.plugin.version}
@ -443,6 +458,18 @@
</destination>
<deleteOldProfileFiles>true</deleteOldProfileFiles>
<features>
<feature>
<id>org.wso2.carbon.device.mgt.basics.feature.group</id>
<version>${carbon.device.mgt.version}</version>
</feature>
<feature>
<id>org.wso2.carbon.email.sender.feature.group</id>
<version>${carbon.device.mgt.version}</version>
</feature>
<feature>
<id>org.apache.axis2.transport.mail.feature.group</id>
<version>${axis2-transports.wso2.version}</version>
</feature>
<!-- START - Analytics Features -->
<feature>
<id>org.wso2.carbon.analytics.core.feature.group</id>
@ -826,13 +853,20 @@
<id>org.wso2.extension.siddhi.execution.json.feature.group</id>
<version>${carbon.device.mgt.plugin.version}</version>
</feature>
<feature>
<id>org.wso2.extension.siddhi.device.feature.group</id>
<version>${carbon.device.mgt.plugin.version}</version>
</feature>
<feature>
<id>org.wso2.carbon.device.mgt.iot.analytics.feature.group</id>
<version>${carbon.device.mgt.plugin.version}</version>
</feature>
<!--android sense analytics feature-->
<feature>
<id>org.wso2.carbon.device.mgt.iot.androidsense.analytics.feature.group</id>
<version>${carbon.device.mgt.plugin.version}</version>
</feature>
<!-- GPL Siddhi Extension Script for Geo Fencing -->
<feature>
<id>org.wso2.gpl.siddhi.extension.geo.script.feature.group</id>

@ -749,6 +749,12 @@
</featureArtifactDef>
<!-- End of Geo Dashboard feature -->
<!-- Realtime Operations Feature -->
<featureArtifactDef>
org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.remote.session.feature:${carbon.device.mgt.plugin.version}
</featureArtifactDef>
<!-- End of Realtime Operations Feature -->
<!--MQTT Dashboard-->
<featureArtifactDef>
org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.andes.extensions.device.mgt.api.feature:${carbon.device.mgt.plugin.version}
@ -1629,12 +1635,18 @@
<version>${carbon.device.mgt.plugin.version}</version>
</feature>
<!-- End of Geo Dashboard Feature -->
<!-- Realtime Operations Feature -->
<feature>
<id>org.wso2.carbon.device.mgt.remote.session.feature.group</id>
<version>${carbon.device.mgt.plugin.version}</version>
</feature>
<!-- End of Realtime Operations Feature -->
<!--MQTT Dashboard Feature-->
<feature>
<id>org.wso2.carbon.andes.extensions.device.mgt.api.feature.group</id>
<version>${carbon.device.mgt.plugin.version}</version>
</feature>
</features>
<!--MQTT Dashboard Feature-->
</configuration>
</execution>
@ -2495,6 +2507,13 @@
<version>${carbon.device.mgt.plugin.version}</version>
</feature>
<!-- End of Geo Dashboard Feature -->
<!-- Realtime Operations Feature -->
<feature>
<id>org.wso2.carbon.device.mgt.remote.session.feature.group</id>
<version>${carbon.device.mgt.plugin.version}</version>
</feature>
<!-- End of Realtime Operations Feature -->
<!--MQTT Dashboard Feature-->
<feature>
<id>org.wso2.carbon.andes.extensions.device.mgt.api.feature.group</id>
@ -3122,6 +3141,12 @@
<version>${carbon.device.mgt.plugin.version}</version>
</feature>
<!-- End of Geo Dashboard Feature -->
<!-- Realtime Operations Feature -->
<feature>
<id>org.wso2.carbon.device.mgt.remote.session.feature.group</id>
<version>${carbon.device.mgt.plugin.version}</version>
</feature>
<!-- End of Realtime Operations Feature -->
<!--MQTT Dashboard Feature-->
<feature>
<id>org.wso2.carbon.andes.extensions.device.mgt.api.feature.group</id>

@ -1517,14 +1517,14 @@
<carbon.governance.version>4.7.8</carbon.governance.version>
<!-- Carbon Device Management-->
<carbon.device.mgt.version>3.0.144</carbon.device.mgt.version>
<carbon.device.mgt.version>3.0.184</carbon.device.mgt.version>
<carbon.device.mgt.version.range>[3.0.0, 4.0.0)</carbon.device.mgt.version.range>
<!-- IOT Device Management -->
<product.iot.version>${project.version}</product.iot.version>
<!-- Carbon Device Management Plugins-->
<carbon.device.mgt.plugin.version>4.0.88</carbon.device.mgt.plugin.version>
<carbon.device.mgt.plugin.version>4.0.101</carbon.device.mgt.plugin.version>
<!-- API Management -->
<carbon.api.mgt.version>6.1.109</carbon.api.mgt.version>
@ -1629,7 +1629,7 @@
<caramel.version>1.0.1</caramel.version>
<!-- App manager version-->
<appmgt.feature.version>1.2.40</appmgt.feature.version>
<appmgt.feature.version>1.2.43</appmgt.feature.version>
<!-- Carbon Store version-->
<carbon.store.version>1.5.1</carbon.store.version>

Loading…
Cancel
Save