blob: 662dbf72e440d93bf628ebcc44386c3847f41c27 [file] [log] [blame]
package org.eclipse.basyx.testsuite.regression.vab.manager;
import org.eclipse.basyx.testsuite.regression.vab.gateway.ConnectorProviderStub;
import org.eclipse.basyx.vab.directory.memory.InMemoryDirectory;
import org.eclipse.basyx.vab.manager.VABConnectionManager;
import org.eclipse.basyx.vab.modelprovider.api.IModelProvider;
/**
* A VABConnectionManager stub which automatically creates the directory entries
* for added IModelProviders
*
* @author schnicke
*
*/
public class VABConnectionManagerStub extends VABConnectionManager {
public VABConnectionManagerStub() {
// Create Stub with default DirectoryStub/ConnectorProviderStub
super(new InMemoryDirectory(), new ConnectorProviderStub());
}
/**
* Creates a stub containing a default provider
*
* @param provider
*/
public VABConnectionManagerStub(IModelProvider provider) {
this();
// Add default mapping for empty id
getConnectorProvider().addMapping("", provider);
getDirectoryService().addMapping("", "");
}
private InMemoryDirectory getDirectoryService() {
return (InMemoryDirectory) directoryService;
}
private ConnectorProviderStub getConnectorProvider() {
return (ConnectorProviderStub) connectorProvider;
}
/**
* Add the id to the Directory and also add the mapping to the ConnectorProvider
*
* @param id
* @param address
* address to map to
* @param provider
*/
public void addProvider(String id, String address, IModelProvider provider) {
getDirectoryService().addMapping(id, address);
getConnectorProvider().addMapping(address, provider);
}
}