Hashtable childStores)
throws ServiceRegistrationFailedException,
ServiceParameterErrorException, ServiceParameterMissingException {
if (!stores.containsKey(scope)) {
try {
Store store = (Store) storeClass.newInstance();
store.setName(storeName);
store.setParameters(parameters);
stores.put(scope, store);
// Now assigning the child stores
Object nodeStore = childStores.get(NODE_STORE);
if (nodeStore instanceof String) {
// Resolving reference
store.setNodeStore((NodeStore) childStores.get(nodeStore));
} else {
store.setNodeStore((NodeStore) nodeStore);
}
Object securityStore = childStores.get(SECURITY_STORE);
if (securityStore instanceof String) {
// Resolving reference
store.setSecurityStore
((SecurityStore) childStores.get(securityStore));
} else {
store.setSecurityStore
((SecurityStore) securityStore);
}
Object lockStore = childStores.get(LOCK_STORE);
if (lockStore instanceof String) {
store.setLockStore
((LockStore) childStores.get(lockStore));
} else {
store.setLockStore((LockStore) lockStore);
}
Object revisionDescriptorsStore = childStores
.get(REVISION_DESCRIPTORS_STORE);
if (revisionDescriptorsStore instanceof String) {
store.setRevisionDescriptorsStore
((RevisionDescriptorsStore) childStores
.get(revisionDescriptorsStore));
} else {
store.setRevisionDescriptorsStore
((RevisionDescriptorsStore) revisionDescriptorsStore);
}
Object revisionDescriptorStore = childStores
.get(REVISION_DESCRIPTOR_STORE);
if (revisionDescriptorStore instanceof String) {
store.setRevisionDescriptorStore
((RevisionDescriptorStore) childStores
.get(revisionDescriptorStore));
} else {
store.setRevisionDescriptorStore
((RevisionDescriptorStore) revisionDescriptorStore);
}
Object contentStore = childStores.get(CONTENT_STORE);
if (contentStore instanceof String) {
// Resolving reference
store.setContentStore
((ContentStore) childStores.get(contentStore));
} else {
store.setContentStore((ContentStore) contentStore);
}
// set the scope in the father and child stores
store.setScope(scope);
// call the create_store_listener
notifyStoreCreated( this.name, scope.toString(), storeName );
} catch(InstantiationException e) {