Package org.wso2.carbon.ui.deployment.beans

Examples of org.wso2.carbon.ui.deployment.beans.Component


    private void processComponentXML(Bundle bundle, String action) throws CarbonException {
        if (bundleContext.getBundle() == bundle) {
            return;
        }

        Component component = ComponentBuilder.build(bundle, bundleContext);
        if (component == null) {
            return;
        } else {
            ServiceReference reference = bundleContext.getServiceReference(CarbonUIDefinitions.class.getName());
            CarbonUIDefinitions carbonUIDefinitions = null;
            if (reference != null) {
                carbonUIDefinitions = (CarbonUIDefinitions) bundleContext.getService(reference);
            }
            if (carbonUIDefinitions != null) {
                if (log.isDebugEnabled()) {
                    log.debug("Found carbonUIDefinitions in OSGi context");
                }
                carbonUIDefinitions.setMenuDefinitions(component.getMenus(), action);
                carbonUIDefinitions.setServletDefinitions(component.getServlets(), action);
                carbonUIDefinitions.addUnauthenticatedUrls(component.getUnauthenticatedUrlList());
                carbonUIDefinitions.addSkipTilesUrls(component.getSkipTilesUrlList());
                carbonUIDefinitions.addHttpUrls(component.getSkipHttpsUrlList());
                carbonUIDefinitions.addContexts(component.getContextsList());
            } else {
                if (log.isDebugEnabled()) {
                    log.debug("CarbonUIDefinitions is NULL. Registering new...");
                }
                carbonUIDefinitions = new CarbonUIDefinitions();
                carbonUIDefinitions.setMenuDefinitions(component.getMenus(), action);
                carbonUIDefinitions.setServletDefinitions(component.getServlets(), action);
                carbonUIDefinitions.addUnauthenticatedUrls(component.getUnauthenticatedUrlList());
                carbonUIDefinitions.addSkipTilesUrls(component.getSkipTilesUrlList());
                carbonUIDefinitions.addHttpUrls(component.getSkipHttpsUrlList());
                carbonUIDefinitions.addContexts(component.getContextsList());
                bundleContext.registerService(CarbonUIDefinitions.class.getName(), carbonUIDefinitions, null);
            }
        }

        //processing servlet definitions
        if (component != null
                && component.getServlets() != null
                && component.getServlets().length > 0) {
            HttpService httpService;
            try {
                httpService = CarbonUIServiceComponent.getHttpService();
            } catch (Exception e) {
                throw new CarbonException("An instance of HttpService is not available");
            }
            org.wso2.carbon.ui.deployment.beans.Servlet[] servletDefinitions = component.getServlets();
            for (int a = 0; a < servletDefinitions.length; a++) {
                org.wso2.carbon.ui.deployment.beans.Servlet servlet = servletDefinitions[a];
                if (log.isTraceEnabled()) {
                    log.trace("Registering sevlet : " + servlet);
                }
                try {
                    Class clazz = Class.forName(servlet.getServletClass());
                    //TODO : allow servlet parameters to be passed
                    Dictionary params = new Hashtable();
                    httpService.registerServlet(servlet.getUrlPatten(),
                            (Servlet) clazz.newInstance(), params,
                            httpContext);

                } catch (ClassNotFoundException e) {
                    log.error("Servlet class : " + servlet.getServletClass() + " not found.", e);
                } catch (ServletException e) {
                    log.error("Problem registering Servlet class : " + servlet.getServletClass() + ".", e);
                } catch (NamespaceException e) {
                    log.error("Problem registering Servlet class : " + servlet.getServletClass() + ".", e);
                } catch (InstantiationException e) {
                    log.error("Problem registering Servlet class : " + servlet.getServletClass() + ".", e);
                } catch (IllegalAccessException e) {
                    log.error("Problem registering Servlet class : " + servlet.getServletClass() + ".", e);
                }
            }

        }

        // processing the custom UI definitions required by Registry
        if (component != null) {

            ServiceReference reference =
                    bundleContext.getServiceReference(CustomUIDefenitions.class.getName());
            CustomUIDefenitions customUIDefenitions = null;
            if (reference != null) {
                customUIDefenitions = (CustomUIDefenitions) bundleContext.getService(reference);
            }

            if (customUIDefenitions == null) {
                String msg = "Custom UI defenitions service is not available.";
                log.error(msg);
                throw new CarbonException(msg);
            }

            Iterator<String> viewMediaTypes = component.getCustomViewUIMap().keySet().iterator();
            while (viewMediaTypes.hasNext()) {
                String mediaType = viewMediaTypes.next();
                String uiPath = component.getCustomViewUIMap().get(mediaType);
                if (customUIDefenitions.getCustomViewUI(mediaType) == null) {
                    customUIDefenitions.addCustomViewUI(mediaType, uiPath);
                    if (log.isDebugEnabled()) {
                        log.debug("Registered the custom view UI media type: " + mediaType + ", UI path: " + uiPath);
                    }
                } else {
                    String msg = "Custom view UI is already registered for media type: " + mediaType +
                            ". Custom UI with media type: " + mediaType + " and UI path: " +
                            uiPath + " will not be registered.";
                    log.error(msg);
                }
            }

            Iterator<String> addMediaTypes = component.getCustomAddUIMap().keySet().iterator();
            while (addMediaTypes.hasNext()) {
                String mediaType = addMediaTypes.next();
                String uiPath = component.getCustomAddUIMap().get(mediaType);
                if (customUIDefenitions.getCustomAddUI(mediaType) == null) {
                    customUIDefenitions.addCustomAddUI(mediaType, uiPath);
                    if (log.isDebugEnabled()) {
                        log.debug("Registered the custom add UI media type: " + mediaType + ", UI path: " + uiPath);
                    }
                } else {
                    String msg = "Custom add UI is already registered for media type: " + mediaType +
                            ". Custom UI with media type: " + mediaType + " and UI path: " +
                            uiPath + " will not be registered.";
                    log.error(msg);
                }
            }
        }

        //This functionality can be moved to a new method
        if (component.getFileUploadExecutorConfigs() != null
                && component.getFileUploadExecutorConfigs().length > 0) {
            FileUploadExecutorManager executorManager = (FileUploadExecutorManager) fileUploadExecManagerTracker.getService();
            if (executorManager == null) {
                log.error("FileUploadExecutorManager service is not available");
                return;
            }
            FileUploadExecutorConfig[] executorConfigs = component.getFileUploadExecutorConfigs();
            for (FileUploadExecutorConfig executorConfig : executorConfigs) {
                String[] mappingActions = executorConfig.getMappingActionList();
                for (String mappingAction : mappingActions) {
                    if (CarbonConstants.ADD_UI_COMPONENT.equals(action)) {
                        executorManager.addExecutor(mappingAction, executorConfig.getFUploadExecClass());
View Full Code Here


            return;
        }
        if(log.isDebugEnabled()){
                    log.debug("Processing component xml in the bundle...");
                }
        Component component = ComponentBuilder.build(bundle, bundleContext);
        if (component == null) {
            return;
        } else {
            ServiceReference reference = bundleContext.getServiceReference(CarbonUIDefinitions.class.getName());
            CarbonUIDefinitions carbonUIDefinitions = null;
            if (reference != null) {
                carbonUIDefinitions = (CarbonUIDefinitions) bundleContext.getService(reference);
            }
            if (carbonUIDefinitions != null) {
                if (log.isDebugEnabled()) {
                    log.debug("Found carbonUIDefinitions in OSGi context");
                }
                if (CarbonConstants.ADD_UI_COMPONENT.equals(action)) {
                    if (log.isDebugEnabled()) {
                        log.debug("Adding UI component using existing Carbon Definition");
                    }
                    ArrayList<Menu> menusToAdd = new ArrayList<Menu>();
          for (Menu menu : component.getMenus()) {
           
            // Prevent adding the menu if it is defined to be hidden.
            if (!(hideMenuIds.contains(menu.getId()))) {
              menusToAdd.add(menu);
            }
          }
          if(menusToAdd.size() > 0) {
            Menu[] menus = new Menu[menusToAdd.size()];
            menus = menusToAdd.toArray(menus);
            carbonUIDefinitions.addMenuItems(menus);
          }

                    carbonUIDefinitions.addServletItems(component.getServlets());
                    carbonUIDefinitions.addUnauthenticatedUrls(component.getUnauthenticatedUrlList());
                    carbonUIDefinitions.addSkipTilesUrls(component.getSkipTilesUrlList());
                    carbonUIDefinitions.addHttpUrls(component.getSkipHttpsUrlList());
                    carbonUIDefinitions.addContexts(component.getContextsList());
                } else if (CarbonConstants.REMOVE_UI_COMPONENT.equals(action)) {
                    if (log.isDebugEnabled()) {
                        log.debug("Removing UI component using existing carbon definition");
                    }
                    carbonUIDefinitions.removeMenuItems(component.getMenus());
                    carbonUIDefinitions.removeServletItems(component.getServlets());
                    carbonUIDefinitions.removeUnauthenticatedUrls(component.getUnauthenticatedUrlList());
                    carbonUIDefinitions.removeSkipTilesUrls(component.getSkipTilesUrlList());
                    carbonUIDefinitions.removeHttpUrls(component.getSkipHttpsUrlList());
                    carbonUIDefinitions.removeContexts(component.getContextsList());
                }
            } else {
                if (log.isDebugEnabled()) {
                    log.debug("CarbonUIDefinitions is NULL. Registering new...");
                }
                carbonUIDefinitions = new CarbonUIDefinitions();
                carbonUIDefinitions.addMenuItems(component.getMenus());
                carbonUIDefinitions.addServletItems(component.getServlets());
                carbonUIDefinitions.addUnauthenticatedUrls(component.getUnauthenticatedUrlList());
                carbonUIDefinitions.addSkipTilesUrls(component.getSkipTilesUrlList());
                carbonUIDefinitions.addHttpUrls(component.getSkipHttpsUrlList());
                carbonUIDefinitions.addContexts(component.getContextsList());
                bundleContext.registerService(CarbonUIDefinitions.class.getName(), carbonUIDefinitions, null);
            }
        }
        //processing servlet definitions
        processServletDefinitions(component,action);
View Full Code Here

     * @param registeredBundle The bundle that is being registered
     * @param bundleContext    The bundle context of the UI bundles
     * @return Component
     */
    public static Component build(Bundle registeredBundle, BundleContext bundleContext) {
        Component component = null;
        Dictionary headers = registeredBundle.getHeaders();
        try {
            URL url = registeredBundle.getEntry("META-INF/component.xml");
            if (url != null) {
                if (log.isDebugEnabled()) {
View Full Code Here

        XMLStreamReader streamReader =
                XMLInputFactory.newInstance().createXMLStreamReader(componentIn);
        StAXOMBuilder builder = new StAXOMBuilder(streamReader);
        OMElement document = builder.getDocumentElement();
        Component component = new Component();
        component.setName(componentName);
        component.setVersion(componentVersion);

        processMenus(componentName, document, component);
        processServlets(document, component);
        processFileUploadConfigs(document, component);
        processCustomUIs(document, component);
View Full Code Here

                //found a Carbon OSGi bundle that should amend for admin UI
                Dictionary headers = registeredBundle.getHeaders();
                String bundleName = (String) headers.get("Bundle-Name");
                String bundleVersion = (String) headers.get("Bundle-Version");
                InputStream inputStream = url.openStream();
                Component component = build(inputStream,
                                            bundleName,
                                            bundleVersion,
                                            registeredBundle.getBundleContext());
                componentMap.put(registeredBundle.getBundleId(), component);
            }
View Full Code Here

        }

        public void run() {
            try {
                MessageContext msgCtx = ((Axis2MessageContext) synCtx).getAxis2MessageContext();
                Event<MessageContext> event = new Event(msgCtx);
                subscriptions = subscriptionManager.getMatchingSubscriptions(event);
            } catch (EventException e) {
                handleException("Matching subscriptions fetching error", e);
            }
View Full Code Here

     * @throws EventException event
     */
    private void processGetStatusRequest(MessageContext mc,
                                         ResponseMessageBuilder messageBuilder)
            throws AxisFault, EventException {
        Subscription subscription =
                SubscriptionMessageBuilder.createGetStatusMessage(mc);
        if (log.isDebugEnabled()) {
            log.debug("GetStatus request recived for SynapseSubscription ID : " +
                    subscription.getId());
        }
        subscription = subscriptionManager.getSubscription(subscription.getId());
        if (subscription != null) {
            if (log.isDebugEnabled()) {
                log.debug("Sending GetStatus responce for SynapseSubscription ID : " +
                        subscription.getId());
            }
            //send the responce
            SOAPEnvelope soapEnvelope = messageBuilder.genGetStatusResponse(subscription);
            dispatchResponse(soapEnvelope, EventingConstants.WSE_GET_STATUS_RESPONSE,
                    mc, false);
View Full Code Here

            // Adding static subscriptions
            List<Subscription> staticSubscriptionList =
                    eventSource.getSubscriptionManager().getStaticSubscriptions();
            for (Iterator<Subscription> iterator = staticSubscriptionList.iterator();
                 iterator.hasNext();) {
                Subscription staticSubscription = iterator.next();
                OMElement staticSubElem =
                        fac.createOMElement("subscription", XMLConfigConstants.SYNAPSE_OMNAMESPACE);
                staticSubElem.addAttribute(
                        fac.createOMAttribute("id", nullNS, staticSubscription.getId()));
                OMElement filterElem =
                        fac.createOMElement("filter", XMLConfigConstants.SYNAPSE_OMNAMESPACE);
                filterElem.addAttribute(fac.createOMAttribute("source", nullNS,
                        (String) staticSubscription.getFilterValue()));
                filterElem.addAttribute(fac.createOMAttribute("dialect", nullNS,
                        (String) staticSubscription.getFilterDialect()));
                staticSubElem.addChild(filterElem);
                OMElement endpointElem =
                        fac.createOMElement("endpoint", XMLConfigConstants.SYNAPSE_OMNAMESPACE);
                OMElement addressElem =
                        fac.createOMElement("address", XMLConfigConstants.SYNAPSE_OMNAMESPACE);
                addressElem.addAttribute(
                        fac.createOMAttribute("uri", nullNS, staticSubscription.getEndpointUrl()));
                endpointElem.addChild(addressElem);
                staticSubElem.addChild(endpointElem);
                if (staticSubscription.getExpires() != null) {
                    OMElement expiresElem =
                            fac.createOMElement("expires", XMLConfigConstants.SYNAPSE_OMNAMESPACE);
                    fac.createOMText(expiresElem,
                            ConverterUtil.convertToString(staticSubscription.getExpires()));
                    staticSubElem.addChild(expiresElem);
                }
                evenSourceElem.addChild(staticSubElem);
            }
View Full Code Here


    public SynapseSubscription() {
        this.setId(UIDGenerator.generateURNString());
        this.setDeliveryMode(EventingConstants.WSE_DEFAULT_DELIVERY_MODE);
        SubscriptionData subscriptionData = new SubscriptionData();
        subscriptionData.setProperty(SynapseEventingConstants.STATIC_ENTRY, "false");
        this.setSubscriptionData(subscriptionData);
    }
View Full Code Here

                    .getAttribute(new QName(XMLConfigConstants.NULL_NAMESPACE, "class"));
            if (clazz != null) {
                String className = clazz.getAttributeValue();
                try {
                    Class subscriptionManagerClass = Class.forName(className);
                    SubscriptionManager manager =
                            (SubscriptionManager) subscriptionManagerClass.newInstance();
                    Iterator itr = subscriptionManagerElem.getChildrenWithName(PROPERTIES_QNAME);
                    while (itr.hasNext()) {
                        OMElement propElem = (OMElement) itr.next();
                        String propName =
                                propElem.getAttribute(new QName("name")).getAttributeValue();
                        String propValue =
                                propElem.getAttribute(new QName("value")).getAttributeValue();
                        if (propName != null && !"".equals(propName.trim()) &&
                                propValue != null && !"".equals(propValue.trim())) {

                            propName = propName.trim();
                            propValue = propValue.trim();

                            PasswordManager passwordManager =
                                    PasswordManager.getInstance();
                            String key = eventSource.getName() + "." + propName;

                            if (passwordManager.isInitialized()
                                    && passwordManager.isTokenProtected(key)) {
                                eventSource.putConfigurationProperty(propName, propValue);
                                propValue = passwordManager.resolve(propValue);
                            }

                            manager.addProperty(propName, propValue);
                        }
                    }
                    eventSource.setSubscriptionManager(manager);
                    eventSource.getSubscriptionManager()
                            .init(); // Initialise before doing further processing, required for static subscriptions
View Full Code Here

TOP

Related Classes of org.wso2.carbon.ui.deployment.beans.Component

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.