import javax.swing.JList;\r
import javax.swing.JOptionPane;\r
\r
-import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
-import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdIdentification;\r
-import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdVector;\r
-import org.tianocore.frameworkwizard.packaging.PackageIdentification;\r
-import org.tianocore.frameworkwizard.platform.PlatformIdentification;\r
-\r
/**\r
The class is used to provides some useful interfaces \r
\r
}\r
return arg0;\r
}\r
-\r
- /**\r
- Sort all elements in the vector as the specific sort type\r
- \r
- @param v The vector need to be sorted\r
- @param mode Sort type DataType.Sort_Type_Ascendin and DataType.Sort_Type_Descending\r
-\r
- **/\r
- public static void sortVectorString(Vector<String> v, int mode) {\r
- if (v != null) {\r
- for (int indexI = 0; indexI < v.size(); indexI++) {\r
- for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {\r
- if ((v.get(indexJ).compareTo(v.get(indexI)) < 0 && mode == DataType.SORT_TYPE_ASCENDING)\r
- || (v.get(indexI).compareTo(v.get(indexJ)) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {\r
- String temp = v.get(indexI);\r
- v.setElementAt(v.get(indexJ), indexI);\r
- v.setElementAt(temp, indexJ);\r
- }\r
- }\r
- }\r
- }\r
- }\r
-\r
- /**\r
- Sort all elements of vector and return sorted sequence\r
- \r
- @param v The vector need to be sorted\r
- @param mode Sort type DataType.Sort_Type_Ascendin and DataType.Sort_Type_Descending\r
- @return Vector<Integer> The sorted sequence\r
- \r
- **/\r
- public static Vector<Integer> getVectorSortSequence(Vector<String> v, int mode) {\r
- Vector<Integer> vSequence = new Vector<Integer>();\r
- //\r
- // Init sequence\r
- //\r
- if (v != null) {\r
- for (int index = 0; index < v.size(); index++) {\r
- vSequence.addElement(index);\r
- }\r
- }\r
-\r
- //\r
- // sort and get new sequence\r
- //\r
- for (int indexI = 0; indexI < v.size(); indexI++) {\r
- for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {\r
- if ((v.get(indexJ).compareTo(v.get(indexI)) < 0 && mode == DataType.SORT_TYPE_ASCENDING)\r
- || (v.get(indexI).compareTo(v.get(indexJ)) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {\r
- //\r
- // Swap strings\r
- //\r
- String tempStr = v.get(indexI);\r
- v.setElementAt(v.get(indexJ), indexI);\r
- v.setElementAt(tempStr, indexJ);\r
-\r
- //\r
- // Swap sequences\r
- //\r
- int tempInt = vSequence.get(indexI);\r
- vSequence.setElementAt(vSequence.get(indexJ), indexI);\r
- vSequence.setElementAt(tempInt, indexJ);\r
- }\r
- }\r
- }\r
-\r
- return vSequence;\r
- }\r
-\r
- /**\r
- Sort all elements of vector as input sequence\r
- \r
- @param v The vector need to be sorted\r
- @param vSequence The sort sequence should be followed\r
- \r
- **/\r
- public static void sortVectorString(Vector<String> v, Vector<Integer> vSequence) {\r
- if (v != null && vSequence != null && v.size() == vSequence.size()) {\r
- Vector<String> tempV = new Vector<String>();\r
- for (int index = 0; index < v.size(); index++) {\r
- tempV.addElement(v.get(index));\r
- }\r
- for (int index = 0; index < v.size(); index++) {\r
- v.setElementAt(tempV.get(vSequence.get(index)), index);\r
- }\r
- }\r
- }\r
-\r
- /**\r
- Sort all modules\r
- \r
- @param v\r
- @param mode\r
- \r
- **/\r
- public static void sortModules(Vector<ModuleIdentification> v, int mode) {\r
- if (v != null) {\r
- //\r
- // sort by name\r
- //\r
- for (int indexI = 0; indexI < v.size(); indexI++) {\r
- for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {\r
- if ((v.get(indexJ).getName().compareTo(v.get(indexI).getName()) < 0 && mode == DataType.SORT_TYPE_ASCENDING)\r
- || (v.get(indexI).getName().compareTo(v.get(indexJ).getName()) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {\r
- ModuleIdentification temp = v.get(indexI);\r
- v.setElementAt(v.get(indexJ), indexI);\r
- v.setElementAt(temp, indexJ);\r
- }\r
- }\r
- }\r
- }\r
- }\r
-\r
- /**\r
- Sort all packages\r
- \r
- @param v\r
- @param mode\r
- \r
- **/\r
- public static void sortPackages(Vector<PackageIdentification> v, int mode) {\r
- if (v != null) {\r
- //\r
- // sort by name\r
- //\r
- for (int indexI = 0; indexI < v.size(); indexI++) {\r
- for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {\r
- if ((v.get(indexJ).getName().compareTo(v.get(indexI).getName()) < 0 && mode == DataType.SORT_TYPE_ASCENDING)\r
- || (v.get(indexI).getName().compareTo(v.get(indexJ).getName()) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {\r
- PackageIdentification temp = v.get(indexI);\r
- v.setElementAt(v.get(indexJ), indexI);\r
- v.setElementAt(temp, indexJ);\r
- }\r
- }\r
- }\r
- }\r
- }\r
-\r
- /**\r
- Sort all platforms\r
- \r
- @param v\r
- @param mode\r
- \r
- **/\r
- public static void sortPlatforms(Vector<PlatformIdentification> v, int mode) {\r
- if (v != null) {\r
- //\r
- // sort by name\r
- //\r
- for (int indexI = 0; indexI < v.size(); indexI++) {\r
- for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {\r
- if ((v.get(indexJ).getName().compareTo(v.get(indexI).getName()) < 0 && mode == DataType.SORT_TYPE_ASCENDING)\r
- || (v.get(indexI).getName().compareTo(v.get(indexJ).getName()) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {\r
- PlatformIdentification temp = v.get(indexI);\r
- v.setElementAt(v.get(indexJ), indexI);\r
- v.setElementAt(temp, indexJ);\r
- }\r
- }\r
- }\r
- }\r
- }\r
- \r
- /**\r
- Sort all pcd entries\r
- \r
- @param v\r
- @param mode\r
- \r
- **/\r
- public static void sortPcds(PcdVector v, int mode) {\r
- if (v != null) {\r
- //\r
- // sort by name\r
- //\r
- for (int indexI = 0; indexI < v.size(); indexI++) {\r
- for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {\r
- if ((v.getPcd(indexJ).getName().compareTo(v.getPcd(indexI).getName()) < 0 && mode == DataType.SORT_TYPE_ASCENDING)\r
- || (v.getPcd(indexI).getName().compareTo(v.getPcd(indexJ).getName()) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {\r
- PcdIdentification temp = v.getPcd(indexI);\r
- v.setPcd(v.getPcd(indexJ), indexI);\r
- v.setPcd(temp, indexJ);\r
- }\r
- }\r
- }\r
- }\r
- }\r
}\r