diff --git a/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/pom.xml b/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/pom.xml
deleted file mode 100644
index 6bea07b3..00000000
--- a/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/pom.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
-
- mb-extensions
- org.wso2.iot
- 1.0.0-SNAPSHOT
- ../pom.xml
-
-
- 4.0.0
- org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization
- bundle
- WSO2 Carbon - Component - MQTT - Authorization Manager
- MQTT authorization manager based on Carbon device manager
- http://wso2.org
-
-
-
- org.wso2.carbon
- org.wso2.carbon.utils
-
-
- org.wso2.carbon
- org.wso2.carbon.core
-
-
- org.wso2.andes.wso2
- andes
- 3.1.2
-
-
- org.wso2.carbon
- org.wso2.carbon.user.api
-
-
- org.wso2.carbon
- org.wso2.carbon.user.core
-
-
-
-
-
-
- org.apache.felix
- maven-scr-plugin
-
-
- org.apache.felix
- maven-bundle-plugin
- true
-
-
- ${project.artifactId}
- ${project.artifactId}
-
- org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.internal
-
-
- !org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.internal,
- org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.*
-
-
- org.apache.log4j,
- org.dna.mqtt.moquette.server,
- org.wso2.andes.configuration.enums,
- org.wso2.andes.mqtt,
- org.wso2.carbon.context,
- org.apache.commons.logging,
- org.osgi.service.component,
- org.wso2.carbon.user.core.service,
- org.wso2.carbon.user.core.tenant,
- org.wso2.carbon.user.api
-
-
-
-
-
-
-
-
-
diff --git a/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/mqtt/authorization/DeviceAccessBasedMQTTAuthorizer.java b/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/mqtt/authorization/DeviceAccessBasedMQTTAuthorizer.java
deleted file mode 100644
index bd122392..00000000
--- a/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/mqtt/authorization/DeviceAccessBasedMQTTAuthorizer.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.dna.mqtt.moquette.server.IAuthorizer;
-import org.wso2.andes.configuration.enums.MQTTAuthoriztionPermissionLevel;
-import org.wso2.andes.mqtt.MQTTAuthorizationSubject;
-import org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.internal.AuthorizationDataHolder;
-import org.wso2.carbon.context.PrivilegedCarbonContext;
-import org.wso2.carbon.user.api.UserRealm;
-import org.wso2.carbon.user.api.UserStoreException;
-
-import java.util.List;
-
-/**
- * Authorize the connecting users against Carbon Permission Model. Intended usage is
- * via providing fully qualified class name in broker.xml
- *
- * This is just a simple authorization model. For dynamic topics use an implementation based on IAuthorizer
- */
-public class DeviceAccessBasedMQTTAuthorizer implements IAuthorizer {
-
- private static Log logger = LogFactory.getLog(DeviceAccessBasedMQTTAuthorizer.class);
- private static final String CONNECTION_PERMISSION = "/permission/admin/device-mgt/user";
- private static final String ADMIN_PERMISSION = "/permission/admin/device-mgt/admin";
- private static final String SCOPE_IDENTIFIER = "scope";
- private static final String UI_EXECUTE = "ui.execute";
- private static final String MQTT_PUBLISHER_SCOPE_IDENTIFIER = "mqtt-publisher";
- private static final String MQTT_SUBSCRIBER_SCOPE_IDENTIFIER = "mqtt-subscriber";
- private static final String DEVICE_MGT_SCOPE_IDENTIFIER = "device-mgt";
-
- /**
- * {@inheritDoc} Authorize the user against carbon device mgt model.
- */
- @Override
- public boolean isAuthorizedForTopic(MQTTAuthorizationSubject authorizationSubject, String topic,
- MQTTAuthoriztionPermissionLevel permissionLevel) {
-
- if (isUserAuthorized(authorizationSubject, ADMIN_PERMISSION, UI_EXECUTE)) {
- System.out.println("isAuthorizedForTopic - user is auth success !");
- return true;
- }
- String topics[] = topic.split("/");
- if (topics.length < 3) {
- System.out.println("isAuthorizedForTopic topic name invalid");
- return false;
- }
- String tenantIdFromTopic = topics[0];
- if (!tenantIdFromTopic.equals(authorizationSubject.getTenantDomain())) {
- System.out.println("isAuthorizedForTopic tenantID invalid");
- return false;
- }
- String deviceType = topics[1];
- String deviceId = topics[2];
- Object scopeObject = authorizationSubject.getProperties().get(SCOPE_IDENTIFIER);
-
- if (!deviceId.isEmpty() && !deviceType.isEmpty() && scopeObject != null) {
- List scopes = (List) scopeObject;
- String permissionScope = MQTT_PUBLISHER_SCOPE_IDENTIFIER;
- if (permissionLevel == MQTTAuthoriztionPermissionLevel.SUBSCRIBE) {
- permissionScope = MQTT_SUBSCRIBER_SCOPE_IDENTIFIER;
- }
- String requiredScope = DEVICE_MGT_SCOPE_IDENTIFIER + ":" + deviceType + ":" + deviceId + ":"
- + permissionScope;
- for (String scope : scopes) {
- if (requiredScope.equals(scope)) {
- System.out.println("isAuthorizedForTopic - Pass");
- return true;
- }
- }
- }
- System.out.println("isAuthorizedForTopic - Failed");
- return false;
- }
-
- /**
- * {@inheritDoc} Authorized the user against carbon device mgt model.
- */
- @Override
- public boolean isAuthorizedToConnect(MQTTAuthorizationSubject authorizationSubject) {
- return isUserAuthorized(authorizationSubject, CONNECTION_PERMISSION, UI_EXECUTE);
- }
-
- /**
- * Check whether the client is authorized with the given permission and action.
- *
- * @param authorizationSubject this contains the client information
- * @param permission Carbon permission that requires for the use
- * @param action Carbon permission action that requires for the given permission.
- * @return boolean - true if user is authorized else return false.
- */
- private boolean isUserAuthorized(MQTTAuthorizationSubject authorizationSubject, String permission, String action) {
- String username = authorizationSubject.getUsername();
- try {
- PrivilegedCarbonContext.startTenantFlow();
- PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(
- authorizationSubject.getTenantDomain(), true);
- int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
- UserRealm userRealm = AuthorizationDataHolder.getInstance().getRealmService()
- .getTenantUserRealm(tenantId);
- if (userRealm != null && userRealm.getAuthorizationManager() != null) {
- return userRealm.getAuthorizationManager().isUserAuthorized(username, permission, action);
- }
- System.out.println("isUserAuthorized failse");
- return false;
- } catch (UserStoreException e) {
- String errorMsg = String.format("Unable to authorize the user : %s", username);
- logger.error(errorMsg, e);
- System.out.println("isUserAuthorized failed");
- return false;
- } finally {
- PrivilegedCarbonContext.endTenantFlow();
- }
- }
-}
\ No newline at end of file
diff --git a/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/mqtt/authorization/internal/AuthorizationDataHolder.java b/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/mqtt/authorization/internal/AuthorizationDataHolder.java
deleted file mode 100644
index c2d9e967..00000000
--- a/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/mqtt/authorization/internal/AuthorizationDataHolder.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * you may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.internal;
-
-import org.wso2.carbon.user.core.service.RealmService;
-import org.wso2.carbon.user.core.tenant.TenantManager;
-
-public class AuthorizationDataHolder {
-
- private RealmService realmService;
- private TenantManager tenantManager;
-
- private static AuthorizationDataHolder thisInstance = new AuthorizationDataHolder();
-
- private AuthorizationDataHolder() {}
-
- public static AuthorizationDataHolder getInstance() {
- return thisInstance;
- }
-
- public RealmService getRealmService() {
- return realmService;
- }
-
- public void setRealmService(RealmService realmService) {
- this.realmService = realmService;
- this.setTenantManager(realmService);
- }
-
- private void setTenantManager(RealmService realmService) {
- if (realmService == null) {
- throw new IllegalStateException("Realm service is not initialized properly");
- }
- this.tenantManager = realmService.getTenantManager();
- }
-
- public TenantManager getTenantManager() {
- return tenantManager;
- }
-
-}
diff --git a/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/mqtt/authorization/internal/AuthorizationServiceComponent.java b/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/mqtt/authorization/internal/AuthorizationServiceComponent.java
deleted file mode 100644
index b0827e1b..00000000
--- a/modules/iot-extensions/components/mb-extensions/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization/src/main/java/org/wso2/carbon/andes/extensions/device/mgt/mqtt/authorization/internal/AuthorizationServiceComponent.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * you may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.internal;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.osgi.service.component.ComponentContext;
-import org.wso2.carbon.user.core.service.RealmService;
-
-/**
- * @scr.component name="org.wso2.carbon.devicemgt.policy.manager" immediate="true"
- * @scr.reference name="user.realmservice.default"
- * interface="org.wso2.carbon.user.core.service.RealmService"
- * cardinality="1..1"
- * policy="dynamic"
- * bind="setRealmService"
- * unbind="unsetRealmService"
- */
-@SuppressWarnings("unused")
-public class AuthorizationServiceComponent {
-
- private static Log log = LogFactory.getLog(AuthorizationServiceComponent.class);
-
- protected void activate(ComponentContext componentContext) {
- }
-
- @SuppressWarnings("unused")
- protected void deactivate(ComponentContext componentContext) {
- }
-
-
- /**
- * Sets Realm Service
- *
- * @param realmService An instance of RealmService
- */
- protected void setRealmService(RealmService realmService) {
- if (log.isDebugEnabled()) {
- log.debug("Setting Realm Service");
- }
- AuthorizationDataHolder.getInstance().setRealmService(realmService);
- }
-
- /**
- * Unsets Realm Service
- *
- * @param realmService An instance of RealmService
- */
- protected void unsetRealmService(RealmService realmService) {
- if (log.isDebugEnabled()) {
- log.debug("Unsetting Realm Service");
- }
- AuthorizationDataHolder.getInstance().setRealmService(null);
- }
-
-}
diff --git a/modules/iot-extensions/components/mb-extensions/pom.xml b/modules/iot-extensions/components/mb-extensions/pom.xml
deleted file mode 100644
index 5538ae32..00000000
--- a/modules/iot-extensions/components/mb-extensions/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
-
- org.wso2.iot
- iot-extensions
- 1.0.0-SNAPSHOT
- ../../pom.xml
-
-
- 4.0.0
- mb-extensions
- pom
- WSO2 Carbon - MB Extension
- http://wso2.org
-
-
- org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization
-
-
diff --git a/modules/iot-extensions/features/mb-extensions-feature/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.feature/pom.xml b/modules/iot-extensions/features/mb-extensions-feature/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.feature/pom.xml
deleted file mode 100644
index 5b54749e..00000000
--- a/modules/iot-extensions/features/mb-extensions-feature/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.feature/pom.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
- mb-extensions-feature
- org.wso2.iot
- 1.0.0-SNAPSHOT
- ../pom.xml
-
-
- 4.0.0
- org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.feature
- pom
- WSO2 Carbon - MQTT Authorization Feature
- http://wso2.org
- This feature contains the bundles required for mqtt authorization
-
-
-
- org.wso2.iot
- org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization
-
-
-
-
-
- org.wso2.maven
- carbon-p2-plugin
- ${carbon.p2.plugin.version}
-
-
- 4-p2-feature-generation
- package
-
- p2-feature-gen
-
-
- org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization
- ../../etc/feature.properties
-
-
- org.wso2.carbon.p2.category.type:server
- org.eclipse.equinox.p2.type.group:true
-
-
-
-
- org.wso2.iot:org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization:${carbon.iot.device.mgt.version}
-
-
-
- org.wso2.carbon.core.server:${carbon.kernel.version}
-
-
-
-
-
-
-
-
-
diff --git a/modules/iot-extensions/features/mb-extensions-feature/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.feature/src/main/resources/build.properties b/modules/iot-extensions/features/mb-extensions-feature/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.feature/src/main/resources/build.properties
deleted file mode 100644
index ddedd58d..00000000
--- a/modules/iot-extensions/features/mb-extensions-feature/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.feature/src/main/resources/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (c) 2005-2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-#
-# WSO2 Inc. licenses this file to you under the Apache License,
-# Version 2.0 (the "License"); you may not use this file except
-# in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-custom = true
diff --git a/modules/iot-extensions/features/mb-extensions-feature/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.feature/src/main/resources/p2.inf b/modules/iot-extensions/features/mb-extensions-feature/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.feature/src/main/resources/p2.inf
deleted file mode 100644
index 7ab37b9d..00000000
--- a/modules/iot-extensions/features/mb-extensions-feature/org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.feature/src/main/resources/p2.inf
+++ /dev/null
@@ -1 +0,0 @@
-instructions.configure = \
\ No newline at end of file
diff --git a/modules/iot-extensions/features/mb-extensions-feature/pom.xml b/modules/iot-extensions/features/mb-extensions-feature/pom.xml
deleted file mode 100644
index d4e4f32e..00000000
--- a/modules/iot-extensions/features/mb-extensions-feature/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
- org.wso2.iot
- iot-extensions
- 1.0.0-SNAPSHOT
- ../../pom.xml
-
-
- 4.0.0
- mb-extensions-feature
- 1.0.0-SNAPSHOT
- pom
- WSO2 Carbon - Device Management, MB Extensions Feature
- http://wso2.org
-
-
- org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.feature
-
-
-
diff --git a/modules/iot-extensions/pom.xml b/modules/iot-extensions/pom.xml
deleted file mode 100644
index 1bb473cb..00000000
--- a/modules/iot-extensions/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
- org.wso2.iot
- wso2iot-parent
- 1.0.0-SNAPSHOT
- ../../pom.xml
-
-
- 4.0.0
- iot-extensions
- pom
- WSO2 Carbon - IoT Extensions
- http://wso2.org
-
-
- components/mb-extensions
- features/mb-extensions-feature
-
-
-
diff --git a/pom.xml b/pom.xml
index 21330d62..52949108 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,7 +37,6 @@
modules/tools
modules/iotserver-ui
-
modules/features
modules/p2-profile-gen
modules/distribution