test_class.file: hydrograph.ui/hydrograph.ui.propertywindow/src/test/java/hydrograph/ui/propertywindow/property/PropertyTreeBuilderTest.java
test_class.identifier: PropertyTreeBuilderTest
test_case.body: @Test
  	public void itShouldBuildComponenetPropertyTree(){
  		//Given
  		PropertyStore propertyStore = new PropertyStore();
  		ArrayList<Property> inputComponentProperties = propertyStore.getProperties("Input");
  		//String expectedTree = "PropertyTreeBuilder [propertyTree={TextProperties={TextProperties.GENERAL=[Property [propertyName=path, propertyRenderer=TEXT, propertyGroup=TextProperties, propertySubGroup=GENERAL, propertyDataType=String, propertyType=USER, propertyListeners=[]], Property [propertyName=delimiter, propertyRenderer=TEXT, propertyGroup=TextProperties, propertySubGroup=GENERAL, propertyDataType=String, propertyType=USER, propertyListeners=[]]], TextProperties.Opetional=[Property [propertyName=charset, propertyRenderer=TEXT, propertyGroup=TextProperties, propertySubGroup=Opetional, propertyDataType=String, propertyType=USER, propertyListeners=[]], Property [propertyName=batch, propertyRenderer=TEXT, propertyGroup=TextProperties, propertySubGroup=Opetional, propertyDataType=String, propertyType=USER, propertyListeners=[]]]}, RadioProperties={RadioProperties.safe=[Property [propertyName=safe, propertyRenderer=RADIO, propertyGroup=RadioProperties, propertySubGroup=safe, propertyDataType=boolean, propertyType=USER, propertyListeners=[]]], RadioProperties.header=[Property [propertyName=has_header, propertyRenderer=RADIO, propertyGroup=RadioProperties, propertySubGroup=header, propertyDataType=boolean, propertyType=USER, propertyListeners=[]]]}}]";
  		String expectedTree ="PropertyTreeBuilder [propertyTree={TEXT_PROPERTIES={TEXT_PROPERTIES.GENERAL=[Property [propertyName=name, propertyRenderer=AAA, propertyGroup=TEXT_PROPERTIES, propertySubGroup=GENERAL, propertyDataType=String, propertyType=USER, propertyListeners=[]], Property [propertyName=path, propertyRenderer=AAA, propertyGroup=TEXT_PROPERTIES, propertySubGroup=GENERAL, propertyDataType=String, propertyType=USER, propertyListeners=[]], Property [propertyName=delimiter, propertyRenderer=AAA, propertyGroup=TEXT_PROPERTIES, propertySubGroup=GENERAL, propertyDataType=String, propertyType=USER, propertyListeners=[]]], TEXT_PROPERTIES.OPTIONAL_PROPERTIES=[Property [propertyName=charset, propertyRenderer=AAA, propertyGroup=TEXT_PROPERTIES, propertySubGroup=OPTIONAL_PROPERTIES, propertyDataType=String, propertyType=USER, propertyListeners=[]], Property [propertyName=batch, propertyRenderer=AAA, propertyGroup=TEXT_PROPERTIES, propertySubGroup=OPTIONAL_PROPERTIES, propertyDataType=String, propertyType=USER, propertyListeners=[]]]}, RADIO_PROPERTIES={RADIO_PROPERTIES.safe=[Property [propertyName=safe, propertyRenderer=AAA, propertyGroup=RADIO_PROPERTIES, propertySubGroup=safe, propertyDataType=boolean, propertyType=USER, propertyListeners=[]]], RADIO_PROPERTIES.header=[Property [propertyName=has_header, propertyRenderer=AAA, propertyGroup=RADIO_PROPERTIES, propertySubGroup=header, propertyDataType=boolean, propertyType=USER, propertyListeners=[]]]}, Schema={Schema.GENERAL=[Property [propertyName=Schema, propertyRenderer=AAA, propertyGroup=Schema, propertySubGroup=GENERAL, propertyDataType=boolean, propertyType=USER, propertyListeners=[]]]}, RUNTIME_PROP={RUNTIME_PROP.GENERAL=[Property [propertyName=RuntimeProps, propertyRenderer=AAA, propertyGroup=RUNTIME_PROP, propertySubGroup=GENERAL, propertyDataType=boolean, propertyType=USER, propertyListeners=[]]]}}]";
  		//When
  		PropertyTreeBuilder propertyTreeBuilder = new PropertyTreeBuilder(inputComponentProperties);
  		
  		//Then
  		assertEquals(expectedTree,propertyTreeBuilder.toString());
  	}
test_case.class_method_signature: PropertyTreeBuilderTest.itShouldBuildComponenetPropertyTree()
test_case.full_signature: @Test public void itShouldBuildComponenetPropertyTree()
test_case.identifier: itShouldBuildComponenetPropertyTree
test_case.invocations: getProperties assertEquals toString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void itShouldBuildComponenetPropertyTree()
focal_class.declarator: propertyTree = new LinkedHashMap<>()
focal_class.modifier: private
focal_class.original_string: private LinkedHashMap<String,LinkedHashMap<String,ArrayList<Property>>> propertyTree = new LinkedHashMap<>();
focal_class.type: LinkedHashMap<String,LinkedHashMap<String,ArrayList<Property>>>
focal_class.var_name: propertyTree
focal_class.file: hydrograph.ui/hydrograph.ui.propertywindow/src/main/java/hydrograph/ui/propertywindow/property/PropertyTreeBuilder.java
focal_class.identifier: PropertyTreeBuilder
focal_class.interfaces: implements IPropertyTreeBuilder
focal_class.class_method_signature: PropertyTreeBuilder.PropertyTreeBuilder()
focal_class.full_signature: private  PropertyTreeBuilder()
focal_class.identifier: PropertyTreeBuilder
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  PropertyTreeBuilder()
focal_class.class_method_signature: PropertyTreeBuilder.PropertyTreeBuilder(ArrayList<Property> properties)
focal_class.full_signature: public  PropertyTreeBuilder(ArrayList<Property> properties)
focal_class.identifier: PropertyTreeBuilder
focal_class.modifiers: public
focal_class.parameters: (ArrayList<Property> properties)
focal_class.signature:  PropertyTreeBuilder(ArrayList<Property> properties)
focal_class.class_method_signature: PropertyTreeBuilder.getPropertyTree()
focal_class.full_signature: @Override public LinkedHashMap<String, LinkedHashMap<String, ArrayList<Property>>> getPropertyTree()
focal_class.identifier: getPropertyTree
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: LinkedHashMap<String, LinkedHashMap<String, ArrayList<Property>>>
focal_class.signature: LinkedHashMap<String, LinkedHashMap<String, ArrayList<Property>>> getPropertyTree()
focal_class.class_method_signature: PropertyTreeBuilder.getGroupNameList(ArrayList<Property> properties)
focal_class.full_signature: private ArrayList<String> getGroupNameList(ArrayList<Property> properties)
focal_class.identifier: getGroupNameList
focal_class.modifiers: private
focal_class.parameters: (ArrayList<Property> properties)
focal_class.return: ArrayList<String>
focal_class.signature: ArrayList<String> getGroupNameList(ArrayList<Property> properties)
focal_class.class_method_signature: PropertyTreeBuilder.getPropertiesByGroupName(String groupName,ArrayList<Property> properties)
focal_class.full_signature: private ArrayList<Property> getPropertiesByGroupName(String groupName,ArrayList<Property> properties)
focal_class.identifier: getPropertiesByGroupName
focal_class.modifiers: private
focal_class.parameters: (String groupName,ArrayList<Property> properties)
focal_class.return: ArrayList<Property>
focal_class.signature: ArrayList<Property> getPropertiesByGroupName(String groupName,ArrayList<Property> properties)
focal_class.class_method_signature: PropertyTreeBuilder.getPropertiesBySubGroupID(String subGroupID,
  			ArrayList<Property> propertiesByGroupName)
focal_class.full_signature: private ArrayList<Property> getPropertiesBySubGroupID(String subGroupID,
  			ArrayList<Property> propertiesByGroupName)
focal_class.identifier: getPropertiesBySubGroupID
focal_class.modifiers: private
focal_class.parameters: (String subGroupID,
  			ArrayList<Property> propertiesByGroupName)
focal_class.return: ArrayList<Property>
focal_class.signature: ArrayList<Property> getPropertiesBySubGroupID(String subGroupID,
  			ArrayList<Property> propertiesByGroupName)
focal_class.class_method_signature: PropertyTreeBuilder.getPropertiesSubgroupMap(ArrayList<Property> propertiesByGroupName)
focal_class.full_signature: private LinkedHashMap<String, ArrayList<Property>> getPropertiesSubgroupMap(ArrayList<Property> propertiesByGroupName)
focal_class.identifier: getPropertiesSubgroupMap
focal_class.modifiers: private
focal_class.parameters: (ArrayList<Property> propertiesByGroupName)
focal_class.return: LinkedHashMap<String, ArrayList<Property>>
focal_class.signature: LinkedHashMap<String, ArrayList<Property>> getPropertiesSubgroupMap(ArrayList<Property> propertiesByGroupName)
focal_class.class_method_signature: PropertyTreeBuilder.buildComponenetPropertyTree(ArrayList<Property> properties)
focal_class.full_signature: private void buildComponenetPropertyTree(ArrayList<Property> properties)
focal_class.identifier: buildComponenetPropertyTree
focal_class.modifiers: private
focal_class.parameters: (ArrayList<Property> properties)
focal_class.return: void
focal_class.signature: void buildComponenetPropertyTree(ArrayList<Property> properties)
focal_class.class_method_signature: PropertyTreeBuilder.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: PropertyTreeBuilder.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: PropertyTreeBuilder.equals(Object obj)
focal_class.full_signature: @Override public boolean equals(Object obj)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object obj)
focal_class.return: boolean
focal_class.signature: boolean equals(Object obj)
focal_method.body: @Override
  	public String toString() {
  		return "PropertyTreeBuilder [propertyTree=" + propertyTree + "]";
  	}
focal_method.class_method_signature: PropertyTreeBuilder.toString()
focal_method.full_signature: @Override public String toString()
focal_method.identifier: toString
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: String
focal_method.signature: String toString()