// Path: components/governance/org.wso2.carbon.governance.registry.extensions/src/org/wso2/carbon/governance/registry/extensions/listeners/RxtLoader.java
// public class RxtLoader extends AbstractAxis2ConfigurationContextObserver {
//     private Log log = LogFactory.getLog(RxtLoader.class);
// 
//     public void createdConfigurationContext(ConfigurationContext configContext) {
//         int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
//         RegistryService service = RegistryCoreServiceComponent.getRegistryService();
//         if (log.isDebugEnabled()) {
//             log.debug("Loading RXTs to the registry for tenant " + tenantId);
//         }
//         try {
//             CommonUtil.addRxtConfigs(service.getGovernanceSystemRegistry(tenantId), tenantId);
//             if (log.isDebugEnabled()) {
//                 log.debug("Successfully loaded RXTs to the registry for tenant " + tenantId);
//             }
//         } catch (RegistryException e) {
//             log.error("Failed to add rxt files to registry", e);
//         }
//     }
// }


import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext;
import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.governance.common.GovernanceConfigurationService;
import org.wso2.carbon.governance.registry.extensions.listeners.RxtLoader;
import org.wso2.carbon.governance.registry.extensions.utils.CommonUtil;
import org.wso2.carbon.registry.core.exceptions.RegistryException;
import org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent;
import org.wso2.carbon.registry.core.service.RegistryService;
import org.wso2.carbon.registry.extensions.services.RXTStoragePathService;
import org.wso2.carbon.securevault.SecretCallbackHandlerService;
import org.wso2.carbon.utils.Axis2ConfigurationContextObserver;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.component.annotations.ReferenceCardinality;
import org.osgi.service.component.annotations.ReferencePolicy;
/*
*  Copyright (c) 2005-2012, 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.governance.registry.extensions.internal;


@Component(
         name = "org.wso2.governance.registry.extensions.services", 
         immediate = true)
public class GovernanceRegistryExtensionsComponent {

    private static final Log log = LogFactory.getLog(GovernanceRegistryExtensionsComponent.class);

    private static SecretCallbackHandlerService secretCallbackHandlerService = null;

    private GovernanceRegistryExtensionsDataHolder dataHolder = GovernanceRegistryExtensionsDataHolder.getInstance();

    @Activate
    protected void activate(ComponentContext componentContext) throws RegistryException {
        BundleContext bundleCtx = componentContext.getBundleContext();
// Path: components/governance/org.wso2.carbon.governance.registry.extensions/src/org/wso2/carbon/governance/registry/extensions/listeners/RxtLoader.java
// public class RxtLoader extends AbstractAxis2ConfigurationContextObserver {
//     private Log log = LogFactory.getLog(RxtLoader.class);
// 
//     public void createdConfigurationContext(ConfigurationContext configContext) {
//         int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
//         RegistryService service = RegistryCoreServiceComponent.getRegistryService();
//         if (log.isDebugEnabled()) {
//             log.debug("Loading RXTs to the registry for tenant " + tenantId);
//         }
//         try {
//             CommonUtil.addRxtConfigs(service.getGovernanceSystemRegistry(tenantId), tenantId);
//             if (log.isDebugEnabled()) {
//                 log.debug("Successfully loaded RXTs to the registry for tenant " + tenantId);
//             }
//         } catch (RegistryException e) {
//             log.error("Failed to add rxt files to registry", e);
//         }
//     }
// }


// Path: components/governance/org.wso2.carbon.governance.registry.extensions/src/org/wso2/carbon/governance/registry/extensions/internal/GovernanceRegistryExtensionsComponent.java
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext;
import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.governance.common.GovernanceConfigurationService;
import org.wso2.carbon.governance.registry.extensions.listeners.RxtLoader;
import org.wso2.carbon.governance.registry.extensions.utils.CommonUtil;
import org.wso2.carbon.registry.core.exceptions.RegistryException;
import org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent;
import org.wso2.carbon.registry.core.service.RegistryService;
import org.wso2.carbon.registry.extensions.services.RXTStoragePathService;
import org.wso2.carbon.securevault.SecretCallbackHandlerService;
import org.wso2.carbon.utils.Axis2ConfigurationContextObserver;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.component.annotations.ReferenceCardinality;
import org.osgi.service.component.annotations.ReferencePolicy;

/*
*  Copyright (c) 2005-2012, 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.governance.registry.extensions.internal;


@Component(
         name = "org.wso2.governance.registry.extensions.services", 
         immediate = true)
public class GovernanceRegistryExtensionsComponent {

    private static final Log log = LogFactory.getLog(GovernanceRegistryExtensionsComponent.class);

    private static SecretCallbackHandlerService secretCallbackHandlerService = null;

    private GovernanceRegistryExtensionsDataHolder dataHolder = GovernanceRegistryExtensionsDataHolder.getInstance();

    @Activate
    protected void activate(ComponentContext componentContext) throws RegistryException {
        BundleContext bundleCtx = componentContext.getBundleContext();
        RxtLoader rxtLoader = new RxtLoader();