@@ -0,0 +1,2302 @@
+/*%0A * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.%0A *%0A * WSO2 Inc. licenses this file to you under the Apache License,%0A * Version 2.0 (the %22License%22); you may not use this file except%0A * in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *   http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing,%0A * software distributed under the License is distributed on an%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0A * KIND, either express or implied.  See the License for the%0A * specific language governing permissions and limitations%0A * under the License.%0A */%0A%0Apackage org.wso2.carbon.uis.internal;%0A%0Aimport org.osgi.framework.BundleContext;%0Aimport org.osgi.service.component.annotations.Activate;%0Aimport org.osgi.service.component.annotations.Component;%0Aimport org.osgi.service.component.annotations.Deactivate;%0Aimport org.slf4j.Logger;%0Aimport org.slf4j.LoggerFactory;%0Aimport org.wso2.carbon.uis.api.deployment.Server;%0Aimport org.wso2.carbon.uis.api.http.HttpConnector;%0Aimport org.wso2.carbon.uis.internal.deployment.AppFinder;%0Aimport org.wso2.carbon.uis.internal.http.OsgiHttpConnector;%0Aimport org.wso2.carbon.uis.internal.io.ArtifactAppFinder;%0A%0Aimport java.nio.file.Paths;%0A%0A@Component(name = %22org.wso2.carbon.uis.internal.StartupListener%22,%0A           immediate = true%0A)%0Apublic class StartupListener %7B%0A%0A    private static final Logger LOGGER = LoggerFactory.getLogger(StartupListener.class);%0A%0A    private BundleContext bundleContext;%0A    private Server server;%0A%0A    @Activate%0A    protected void activate(BundleContext bundleContext) %7B%0A        this.bundleContext = bundleContext;%0A        AppFinder appFinder = new ArtifactAppFinder(%0A                Paths.get(System.getProperty(%22carbon.home%22, %22.%22), %22deployment%22, %22reactapps%22));%0A        HttpConnector httpConnector = new OsgiHttpConnector(this.bundleContext);%0A        this.server = new Server(appFinder, httpConnector);%0A        this.server.start();%0A        LOGGER.debug(%22Carbon UI Server activated.%22);%0A    %7D%0A%0A    @Deactivate%0A    protected void deactivate(BundleContext bundleContext) %7B%0A        this.bundleContext = null;%0A        this.server.stop();%0A        this.server = null;%0A        LOGGER.debug(%22Carbon UI Server deactivated.%22);%0A    %7D%0A%7D%0A

add StartupListener class