Rev 6914 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.erggroup.buildtool.ripple;import java.util.ArrayList;import java.util.HashMap;public class ReleaseConfigData{/** A Collection of available ReleaseConfig items* Contains information on:* Hostname* MachType* MachClass* BuildFilter* Master/Slave* Rtag_Id* RCon_Id*/public ArrayList<ReleaseConfig> mReleaseConfig = new ArrayList<ReleaseConfig>();/** An array of known Machine Types* ie: win32, sparc, solaris10_sparc, solaris10_x86, linux_i386*/public ArrayList<String> mMachineTypes = new ArrayList<String>();/** An array of known Machine Families* ie: Win32, Solaris, Linux*/public ArrayList<String> mMachineClasses = new ArrayList<String>();/** A HashMap between MachineClass and Machine Types* ie: Solaris -> sparc, solaris10_sparc, solaris10_x86* Win32 -> win32* Linux -> linux_i386, linux_x64**/public HashMap<String, ArrayList<String> > mMachineHash = new HashMap<String, ArrayList<String>>();/** Constructor**/public ReleaseConfigData(){}/** Refresh the data* Needed to allow the program to keep in sync with the database*/public void resetData(){mReleaseConfig.clear();mMachineTypes.clear();mMachineClasses.clear();mMachineHash.clear();}/** Add a new ReleaseConfig item to the known information* No attempt is made to prevent the same items being added multiple times*/public void add(ReleaseConfig item){mReleaseConfig.add(item);if (!mMachineTypes.contains(item.getmMachtype())){mMachineTypes.add(item.getmMachtype());}if (!mMachineClasses.contains(item.getmMachclass())){mMachineClasses.add(item.getmMachclass());mMachineHash.put(item.getmMachclass(), new ArrayList<String>());}// Add the machType to the machClassArrayList<String> typeList = mMachineHash.get(item.getmMachclass());if (!typeList.contains(item.getmMachtype())){typeList.add(item.getmMachtype());}}}