package org.safehaus.penrose.mapping; import org.safehaus.penrose.client.BaseClient; import org.safehaus.penrose.client.PenroseClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Collection; /** * @author Endi Sukma Dewata */ public class MappingManagerClient extends BaseClient implements MappingManagerServiceMBean { public static Logger log = LoggerFactory.getLogger(MappingManagerClient.class); protected String partitionName; public MappingManagerClient(PenroseClient client, String partitionName) throws Exception { super(client, "MappingManager", getStringObjectName(partitionName)); this.partitionName = partitionName; } public static String getStringObjectName(String partitionName) { return "Penrose:type=MappingManager,partition="+partitionName; } public String getPartitionName() { return partitionName; } public void setPartitionName(String partitionName) { this.partitionName = partitionName; } public MappingClient getMappingClient(String mappingName) throws Exception { return new MappingClient(client, partitionName, mappingName); } public Collection<String> getMappingNames() throws Exception { return (Collection<String>)getAttribute("MappingNames"); } public void createMapping(MappingConfig mappingConfig) throws Exception { invoke( "createMapping", new Object[] { mappingConfig }, new String[] { MappingConfig.class.getName() } ); } public void updateMapping(String mappingName, MappingConfig mappingConfig) throws Exception { invoke( "updateMapping", new Object[] { mappingName, mappingConfig }, new String[] { String.class.getName(), MappingConfig.class.getName() } ); } public void removeMapping(String mappingName) throws Exception { invoke( "removeMapping", new Object[] { mappingName }, new String[] { String.class.getName() } ); } }