Package org.apache.muse.management.muse

Source Code of org.apache.muse.management.muse.ManagementResourceRouter

package org.apache.muse.management.muse;

import org.apache.muse.core.Resource;
import org.apache.muse.core.ResourceManager;
import org.apache.muse.core.SimpleResourceManager;
import org.apache.muse.core.routing.RouterPersistence;
import org.apache.muse.core.routing.SimpleResourceRouter;
import org.apache.muse.management.common.Contribution;
import org.apache.muse.ws.addressing.EndpointReference;
import org.apache.muse.ws.addressing.WsaConstants;
import org.apache.muse.ws.addressing.soap.SoapFault;
import org.eclipse.corona.management.osgi.BundleContribution;
import org.eclipse.corona.management.osgi.ServiceContribution;

public class ManagementResourceRouter extends SimpleResourceRouter {
 
 
  public void initialize() throws SoapFault {
    super.initialize();
    ManagementBinding.getDefault().setResourceRouter(this);
  }
 
    protected ResourceManager createResourceManager()
    {
        return new SimpleResourceManager();
    }
     
 
  public Resource addNewResource(Contribution contribution) throws SoapFault{
    ResourceManager manager = getResourceManager();
    ManagementContributionProxy proxy = null;
    if(contribution instanceof BundleContribution)
      proxy = (ManagementContributionProxy)manager.createResource("/OSGiBundleResource");
    else if(contribution instanceof ServiceContribution)
      proxy = (ManagementContributionProxy)manager.createResource("/OSGiServiceResource");
    proxy.setContribution(contribution);
    proxy.initialize();
    //fix up the EPR with the resource ID
    EndpointReference epr = proxy.getEndpointReference();
    epr.addParameter(WsaConstants.DEFAULT_RESOURCE_ID_QNAME ,contribution.getIdentifier());
    manager.addResource(proxy.getEndpointReference(),proxy);
    return proxy;
  }

}
TOP

Related Classes of org.apache.muse.management.muse.ManagementResourceRouter

TOP
Copyright © 2018 www.massapi.com. 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.