flow definition ids

This commit is contained in:
Keith Donald
2008-04-22 20:16:53 +00:00
parent 62f6140e22
commit 84a43f2f26
3 changed files with 17 additions and 0 deletions

View File

@@ -34,6 +34,12 @@ public interface FlowDefinitionRegistry extends FlowDefinitionLocator {
*/
public int getFlowDefinitionCount();
/**
* Returns the ids of the flows registered in this registry.
* @return the flow definition ids
*/
public String[] getFlowDefinitionIds();
/**
* Returns this registry'es parent registry.
* @return the parent flow definition registry, or null if no parent is set

View File

@@ -72,6 +72,10 @@ public class FlowDefinitionRegistryImpl implements FlowDefinitionRegistry {
return flowDefinitions.size();
}
public String[] getFlowDefinitionIds() {
return (String[]) flowDefinitions.keySet().toArray(new String[flowDefinitions.size()]);
}
public FlowDefinitionRegistry getParent() {
return parent;
}

View File

@@ -52,6 +52,13 @@ public class FlowDefinitionRegistryImplTests extends TestCase {
assertEquals(fooFlow, registry.getFlowDefinition("foo"));
}
public void testGetFlowIds() {
registry.registerFlowDefinition(new StaticFlowDefinitionHolder(fooFlow));
registry.registerFlowDefinition(new StaticFlowDefinitionHolder(barFlow));
assertEquals("bar", registry.getFlowDefinitionIds()[0]);
assertEquals("foo", registry.getFlowDefinitionIds()[1]);
}
public void testRegisterFlowSameIds() {
registry.registerFlowDefinition(new StaticFlowDefinitionHolder(fooFlow));
FooFlow newFlow = new FooFlow();