1. Enhance Source Files selection in msa:

a. Can select multiple files one time
   b. Totally same file can be added once
2. Separate sort functions from Tools.java to Sort.java
3. Fix a bug of new function: to create directory first if the file's directory doesn't exist
4. Adjust some file's coding style


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1058 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
hche10x 2006-07-21 02:56:30 +00:00
parent ac84271407
commit 2003a22e94
13 changed files with 444 additions and 325 deletions

View File

@ -63,7 +63,7 @@ public class About extends IDialog {
private JButton getJButtonOK() { private JButton getJButtonOK() {
if (jButtonOK == null) { if (jButtonOK == null) {
jButtonOK = new JButton(); jButtonOK = new JButton();
jButtonOK.setBounds(new java.awt.Rectangle(115,200,90,20)); jButtonOK.setBounds(new java.awt.Rectangle(115, 200, 90, 20));
jButtonOK.setText("OK"); jButtonOK.setText("OK");
jButtonOK.addActionListener(this); jButtonOK.addActionListener(this);
} }
@ -83,15 +83,15 @@ public class About extends IDialog {
super(); super();
init(); init();
} }
/** /**
This is the default constructor This is the default constructor
**/ **/
public About(IFrame parentFrame, boolean modal) { public About(IFrame parentFrame, boolean modal) {
super(parentFrame, modal); super(parentFrame, modal);
init(); init();
} }
/** /**
This method initializes this This method initializes this
@ -114,25 +114,25 @@ public class About extends IDialog {
private JPanel getJContentPane() { private JPanel getJContentPane() {
if (jContentPane == null) { if (jContentPane == null) {
jLabelImage = new JLabel(); jLabelImage = new JLabel();
jLabelImage.setBounds(new java.awt.Rectangle(63,20,193,58)); jLabelImage.setBounds(new java.awt.Rectangle(63, 20, 193, 58));
jLabelImage.setIcon(new ImageIcon(getClass().getResource("/resources/images/logo.gif"))); jLabelImage.setIcon(new ImageIcon(getClass().getResource("/resources/images/logo.gif")));
jLabel2 = new JLabel(); jLabel2 = new JLabel();
jLabel2.setBounds(new java.awt.Rectangle(25,160,270,20)); jLabel2.setBounds(new java.awt.Rectangle(25, 160, 270, 20));
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel2.setText("All rights reserved"); jLabel2.setText("All rights reserved");
jLabel1 = new JLabel(); jLabel1 = new JLabel();
jLabel1.setBounds(new java.awt.Rectangle(25,130,270,20)); jLabel1.setBounds(new java.awt.Rectangle(25, 130, 270, 20));
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Copyright (c) 2006, Intel Corporation"); jLabel1.setText("Copyright (c) 2006, Intel Corporation");
jLabel = new JLabel(); jLabel = new JLabel();
jLabel.setToolTipText(""); jLabel.setToolTipText("");
jLabel.setBounds(new java.awt.Rectangle(25,90,270,20)); jLabel.setBounds(new java.awt.Rectangle(25, 90, 270, 20));
jLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel.setText(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION); jLabel.setText(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION);
jContentPane = new JPanel(); jContentPane = new JPanel();
jContentPane.setLayout(null); jContentPane.setLayout(null);
jContentPane.setSize(new java.awt.Dimension(320,235)); jContentPane.setSize(new java.awt.Dimension(320, 235));
jContentPane.add(jLabel, null); jContentPane.add(jLabel, null);
jContentPane.add(jLabel1, null); jContentPane.add(jLabel1, null);
jContentPane.add(jLabel2, null); jContentPane.add(jLabel2, null);

View File

@ -307,7 +307,7 @@ public class EnumerationData {
vModuleType.addElement("UEFI_DRIVER"); vModuleType.addElement("UEFI_DRIVER");
vModuleType.addElement("UEFI_APPLICATION"); vModuleType.addElement("UEFI_APPLICATION");
vModuleType.addElement("USER_DEFINED"); vModuleType.addElement("USER_DEFINED");
Tools.sortVectorString(vModuleType, DataType.SORT_TYPE_ASCENDING); Sort.sortVectorString(vModuleType, DataType.SORT_TYPE_ASCENDING);
} }
// private void initComponentType() { // private void initComponentType() {
@ -363,7 +363,7 @@ public class EnumerationData {
vFrameworkModuleTypes.addElement("UEFI_DRIVER"); vFrameworkModuleTypes.addElement("UEFI_DRIVER");
vFrameworkModuleTypes.addElement("UEFI_APPLICATION"); vFrameworkModuleTypes.addElement("UEFI_APPLICATION");
vFrameworkModuleTypes.addElement("USER_DEFINED"); vFrameworkModuleTypes.addElement("USER_DEFINED");
Tools.sortVectorString(vFrameworkModuleTypes, DataType.SORT_TYPE_ASCENDING); Sort.sortVectorString(vFrameworkModuleTypes, DataType.SORT_TYPE_ASCENDING);
} }
private void initLibClassDef() { private void initLibClassDef() {

View File

@ -17,69 +17,65 @@ package org.tianocore.frameworkwizard.common.Identifications;
public class Identification { public class Identification {
/// ///
/// Define class members /// Define class members
/// ///
private String name; private String name;
private String guid; private String guid;
private String version; private String version;
private String path; private String path;
public Identification(String name, String guid, String version) { public Identification(String name, String guid, String version) {
this.name = name; this.name = name;
this.guid = guid; this.guid = guid;
this.version = version; this.version = version;
} }
public Identification() { public Identification() {
} }
public Identification(String name, String guid, String version, String path) { public Identification(String name, String guid, String version, String path) {
this.name = name; this.name = name;
this.guid = guid; this.guid = guid;
this.version = version; this.version = version;
this.path = path; this.path = path;
} }
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (obj instanceof Identification) { if (obj instanceof Identification) {
Identification id = (Identification)obj; Identification id = (Identification) obj;
if (path.equals(id.path)) { if (path.equals(id.path)) {
//if ( name.equals(id.name) && guid.equals(id.guid) && version.equals(id.version)) { //if ( name.equals(id.name) && guid.equals(id.guid) && version.equals(id.version)) {
return true; return true;
} }
return false; return false;
} } else {
else { return super.equals(obj);
return super.equals(obj); }
} }
}
public boolean equalsWithGuid(Object obj) { public boolean equalsWithGuid(Object obj) {
if (obj instanceof Identification) { if (obj instanceof Identification) {
Identification id = (Identification)obj; Identification id = (Identification) obj;
if ( guid.equalsIgnoreCase(id.guid)) { if (guid.equalsIgnoreCase(id.guid)) {
if (version == null || id.version == null) { if (version == null || id.version == null) {
return true; return true;
} } else if (version.trim().equalsIgnoreCase("") || id.version.trim().equalsIgnoreCase("")) {
else if (version.trim().equalsIgnoreCase("") || id.version.trim().equalsIgnoreCase("")){ return true;
return true; } else if (version.equalsIgnoreCase(id.version)) {
} return true;
else if (version.equalsIgnoreCase(id.version)) { }
return true; }
} return false;
} } else {
return false; return super.equals(obj);
} }
else { }
return super.equals(obj);
}
}
public void setName(String name) { public void setName(String name) {
this.name = name; this.name = name;
} }
@ -91,10 +87,10 @@ public class Identification {
public void setVersion(String version) { public void setVersion(String version) {
this.version = version; this.version = version;
} }
public void setPath(String path) { public void setPath(String path) {
this.path = path; this.path = path;
} }
public String getGuid() { public String getGuid() {
return guid; return guid;
@ -108,11 +104,11 @@ public class Identification {
return version; return version;
} }
public String getPath() { public String getPath() {
return path; return path;
} }
public int hashCode(){ public int hashCode() {
return guid.toLowerCase().hashCode(); return guid.toLowerCase().hashCode();
} }
} }

View File

@ -36,8 +36,13 @@ public class SaveFile {
**/ **/
public static void main(String[] args) { public static void main(String[] args) {
// TODO Auto-generated method stub
}
private static void createDirectory(String path) throws Exception {
File f = new File(path);
path = f.getParent();
FileOperation.newFolder(path);
} }
/** /**
@ -45,6 +50,11 @@ public class SaveFile {
**/ **/
public static void saveMsaFile(String path, ModuleSurfaceArea msa) throws Exception { public static void saveMsaFile(String path, ModuleSurfaceArea msa) throws Exception {
//
// Create the file's directory first
//
createDirectory(path);
// //
// Remove all empty top level elements // Remove all empty top level elements
// //
@ -225,6 +235,11 @@ public class SaveFile {
**/ **/
public static void saveSpdFile(String path, PackageSurfaceArea spd) throws Exception { public static void saveSpdFile(String path, PackageSurfaceArea spd) throws Exception {
//
// Create the file's directory first
//
createDirectory(path);
PackageSurfaceAreaDocument spdDoc = PackageSurfaceAreaDocument.Factory.newInstance(); PackageSurfaceAreaDocument spdDoc = PackageSurfaceAreaDocument.Factory.newInstance();
File f = new File(path); File f = new File(path);
@ -254,6 +269,11 @@ public class SaveFile {
**/ **/
public static void saveFpdFile(String path, PlatformSurfaceArea fpd) throws Exception { public static void saveFpdFile(String path, PlatformSurfaceArea fpd) throws Exception {
//
// Create the file's directory first
//
createDirectory(path);
PlatformSurfaceAreaDocument fpdDoc = PlatformSurfaceAreaDocument.Factory.newInstance(); PlatformSurfaceAreaDocument fpdDoc = PlatformSurfaceAreaDocument.Factory.newInstance();
File f = new File(path); File f = new File(path);

View File

@ -0,0 +1,239 @@
/** @file
The file is used to provide all kinds of sorting method
Copyright (c) 2006, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
package org.tianocore.frameworkwizard.common;
import java.util.Vector;
import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;
import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdIdentification;
import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdVector;
import org.tianocore.frameworkwizard.packaging.PackageIdentification;
import org.tianocore.frameworkwizard.platform.PlatformIdentification;
public class Sort {
/**
Sort all elements in the vector as the specific sort type
@param v The vector need to be sorted
@param mode Sort type DataType.Sort_Type_Ascendin and DataType.Sort_Type_Descending
**/
public static void sortVectorString(Vector<String> v, int mode) {
if (v != null) {
for (int indexI = 0; indexI < v.size(); indexI++) {
for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {
if ((v.get(indexJ).compareTo(v.get(indexI)) < 0 && mode == DataType.SORT_TYPE_ASCENDING)
|| (v.get(indexI).compareTo(v.get(indexJ)) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {
String temp = v.get(indexI);
v.setElementAt(v.get(indexJ), indexI);
v.setElementAt(temp, indexJ);
}
}
}
}
}
/**
Sort all elements of vector and return sorted sequence
@param v The vector need to be sorted
@param mode Sort type DataType.Sort_Type_Ascendin and DataType.Sort_Type_Descending
@return Vector<Integer> The sorted sequence
**/
public static Vector<Integer> getVectorSortSequence(Vector<String> v, int mode) {
Vector<Integer> vSequence = new Vector<Integer>();
//
// Init sequence
//
if (v != null) {
for (int index = 0; index < v.size(); index++) {
vSequence.addElement(index);
}
}
//
// sort and get new sequence
//
for (int indexI = 0; indexI < v.size(); indexI++) {
for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {
if ((v.get(indexJ).compareTo(v.get(indexI)) < 0 && mode == DataType.SORT_TYPE_ASCENDING)
|| (v.get(indexI).compareTo(v.get(indexJ)) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {
//
// Swap strings
//
String tempStr = v.get(indexI);
v.setElementAt(v.get(indexJ), indexI);
v.setElementAt(tempStr, indexJ);
//
// Swap sequences
//
int tempInt = vSequence.get(indexI);
vSequence.setElementAt(vSequence.get(indexJ), indexI);
vSequence.setElementAt(tempInt, indexJ);
}
}
}
return vSequence;
}
/**
Sort all elements of vector as input sequence
@param v The vector need to be sorted
@param vSequence The sort sequence should be followed
**/
public static void sortVectorString(Vector<String> v, Vector<Integer> vSequence) {
if (v != null && vSequence != null && v.size() == vSequence.size()) {
Vector<String> tempV = new Vector<String>();
for (int index = 0; index < v.size(); index++) {
tempV.addElement(v.get(index));
}
for (int index = 0; index < v.size(); index++) {
v.setElementAt(tempV.get(vSequence.get(index)), index);
}
}
}
/**
Sort all modules
@param v
@param mode
**/
public static void sortModules(Vector<ModuleIdentification> v, int mode) {
if (v != null) {
//
// sort by name
//
for (int indexI = 0; indexI < v.size(); indexI++) {
for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {
if ((v.get(indexJ).getName().compareTo(v.get(indexI).getName()) < 0 && mode == DataType.SORT_TYPE_ASCENDING)
|| (v.get(indexI).getName().compareTo(v.get(indexJ).getName()) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {
ModuleIdentification temp = v.get(indexI);
v.setElementAt(v.get(indexJ), indexI);
v.setElementAt(temp, indexJ);
}
}
}
}
}
/**
Sort all packages
@param v
@param mode
**/
public static void sortPackages(Vector<PackageIdentification> v, int mode) {
if (v != null) {
//
// sort by name
//
for (int indexI = 0; indexI < v.size(); indexI++) {
for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {
if ((v.get(indexJ).getName().compareTo(v.get(indexI).getName()) < 0 && mode == DataType.SORT_TYPE_ASCENDING)
|| (v.get(indexI).getName().compareTo(v.get(indexJ).getName()) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {
PackageIdentification temp = v.get(indexI);
v.setElementAt(v.get(indexJ), indexI);
v.setElementAt(temp, indexJ);
}
}
}
}
}
/**
Sort all platforms
@param v
@param mode
**/
public static void sortPlatforms(Vector<PlatformIdentification> v, int mode) {
if (v != null) {
//
// sort by name
//
for (int indexI = 0; indexI < v.size(); indexI++) {
for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {
if ((v.get(indexJ).getName().compareTo(v.get(indexI).getName()) < 0 && mode == DataType.SORT_TYPE_ASCENDING)
|| (v.get(indexI).getName().compareTo(v.get(indexJ).getName()) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {
PlatformIdentification temp = v.get(indexI);
v.setElementAt(v.get(indexJ), indexI);
v.setElementAt(temp, indexJ);
}
}
}
}
}
/**
Sort all pcd entries
@param v
@param mode
**/
public static void sortPcds(PcdVector v, int mode) {
if (v != null) {
//
// sort by name
//
for (int indexI = 0; indexI < v.size(); indexI++) {
for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {
if ((v.getPcd(indexJ).getName().compareTo(v.getPcd(indexI).getName()) < 0 && mode == DataType.SORT_TYPE_ASCENDING)
|| (v.getPcd(indexI).getName().compareTo(v.getPcd(indexJ).getName()) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {
PcdIdentification temp = v.getPcd(indexI);
v.setPcd(v.getPcd(indexJ), indexI);
v.setPcd(temp, indexJ);
}
}
}
}
}
/**
Sort all objects of a vector based on the object's "toString"
@param v
@param mode
**/
public static void sortObjectVector(Vector<Object> v, int mode) {
if (v != null) {
//
// sort by name
//
for (int indexI = 0; indexI < v.size(); indexI++) {
for (int indexJ = indexI + 1; indexJ < v.size(); indexJ++) {
if ((v.get(indexJ).toString().compareTo(v.get(indexI).toString()) < 0 && mode == DataType.SORT_TYPE_ASCENDING)
|| (v.get(indexI).toString().compareTo(v.get(indexJ).toString()) < 0 && mode == DataType.SORT_TYPE_DESCENDING)) {
Object temp = v.get(indexI);
v.setElementAt(v.get(indexJ), indexI);
v.setElementAt(temp, indexJ);
}
}
}
}
}
}

View File

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

View File

@ -17,9 +17,9 @@ package org.tianocore.frameworkwizard.module.Identifications.PcdCoded;
import java.util.Vector; import java.util.Vector;
public class PcdVector { public class PcdVector {
private Vector<PcdIdentification> vPcd = new Vector<PcdIdentification>(); private Vector<PcdIdentification> vPcd = new Vector<PcdIdentification>();
public int findPcd(PcdIdentification sfi) { public int findPcd(PcdIdentification sfi) {
for (int index = 0; index < vPcd.size(); index++) { for (int index = 0; index < vPcd.size(); index++) {
if (vPcd.elementAt(index).equals(sfi)) { if (vPcd.elementAt(index).equals(sfi)) {
@ -86,7 +86,7 @@ public class PcdVector {
public int size() { public int size() {
return this.vPcd.size(); return this.vPcd.size();
} }
public void addAll(PcdVector v) { public void addAll(PcdVector v) {
if (v != null) { if (v != null) {
for (int index = 0; index < v.size(); index++) { for (int index = 0; index < v.size(); index++) {

View File

@ -21,17 +21,17 @@ public class SourceFilesIdentification {
private String filename = null; private String filename = null;
private String tagName = null; private String tagName = null;
private String toolCode = null; private String toolCode = null;
private String toolChainFamily = null; private String toolChainFamily = null;
private Vector<String> supArchList = null; private Vector<String> supArchList = null;
private String featureFlag = null; private String featureFlag = null;
public SourceFilesIdentification(String strFilename, String strTagName, String strToolCode, String strToolChainFamily, public SourceFilesIdentification(String strFilename, String strTagName, String strToolCode,
String strFeatureFlag, Vector<String> arch) { String strToolChainFamily, String strFeatureFlag, Vector<String> arch) {
this.filename = (strFilename == null ? "" : strFilename); this.filename = (strFilename == null ? "" : strFilename);
this.tagName = (strTagName == null ? "" : strTagName); this.tagName = (strTagName == null ? "" : strTagName);
this.toolCode = (strToolCode == null ? "" : strToolCode); this.toolCode = (strToolCode == null ? "" : strToolCode);
@ -87,9 +87,12 @@ public class SourceFilesIdentification {
public void setToolCode(String toolCode) { public void setToolCode(String toolCode) {
this.toolCode = toolCode; this.toolCode = toolCode;
} }
public boolean equals(SourceFilesIdentification sfid) { public boolean equals(SourceFilesIdentification sfid) {
if (this.filename.equals(sfid.filename)) { if (this.filename.equals(sfid.filename) && this.tagName.equals(sfid.tagName)
&& this.toolCode.equals(sfid.toolCode) && this.toolChainFamily.equals(sfid.toolChainFamily)
&& this.featureFlag.equals(sfid.featureFlag)
&& this.supArchList.toString().equals(sfid.supArchList.toString())) {
return true; return true;
} }
return false; return false;

View File

@ -47,7 +47,9 @@ public class SourceFilesVector {
} }
public void addSourceFiles(SourceFilesIdentification sfi) { public void addSourceFiles(SourceFilesIdentification sfi) {
vSourceFiles.addElement(sfi); if (findSourceFiles(sfi) == -1) {
vSourceFiles.addElement(sfi);
}
} }
public void setSourceFiles(SourceFilesIdentification sfi, int index) { public void setSourceFiles(SourceFilesIdentification sfi, int index) {

View File

@ -348,9 +348,11 @@ public class ModuleSourceFiles extends IInternalFrame {
int result = sfd.showDialog(); int result = sfd.showDialog();
if (result == DataType.RETURN_TYPE_OK) { if (result == DataType.RETURN_TYPE_OK) {
if (index == -1) { if (index == -1) {
this.vSourceFiles.addSourceFiles(sfd.getSfid()); for (int indexI = 0; indexI < sfd.getSfid().length; indexI++) {
this.vSourceFiles.addSourceFiles(sfd.getSfid()[indexI]);
}
} else { } else {
this.vSourceFiles.setSourceFiles(sfd.getSfid(), index); this.vSourceFiles.setSourceFiles(sfd.getSfid()[0], index);
} }
this.showTable(); this.showTable();
this.save(); this.save();

View File

@ -135,7 +135,7 @@ public class MsaHeader extends IInternalFrame {
private JScrollPane jScrollPane = null; private JScrollPane jScrollPane = null;
private OpeningModuleType omt = null; private OpeningModuleType omt = null;
private EnumerationData ed = new EnumerationData(); private EnumerationData ed = new EnumerationData();
/** /**
@ -221,6 +221,9 @@ public class MsaHeader extends IInternalFrame {
jTextAreaLicense.setText(""); jTextAreaLicense.setText("");
jTextAreaLicense.setLineWrap(true); jTextAreaLicense.setLineWrap(true);
jTextAreaLicense.addFocusListener(this); jTextAreaLicense.addFocusListener(this);
jTextAreaLicense.setWrapStyleWord(true);
jTextAreaLicense.setSelectionStart(0);
jTextAreaLicense.setSelectionEnd(0);
jTextAreaLicense.setToolTipText("The License for this file"); jTextAreaLicense.setToolTipText("The License for this file");
} }
return jTextAreaLicense; return jTextAreaLicense;
@ -238,6 +241,7 @@ public class MsaHeader extends IInternalFrame {
jTextAreaDescription.setLineWrap(true); jTextAreaDescription.setLineWrap(true);
jTextAreaDescription.addFocusListener(this); jTextAreaDescription.addFocusListener(this);
jTextAreaDescription.setToolTipText("A verbose description of the module"); jTextAreaDescription.setToolTipText("A verbose description of the module");
jTextAreaDescription.setWrapStyleWord(true);
jTextAreaDescription.setSelectionStart(0); jTextAreaDescription.setSelectionStart(0);
jTextAreaDescription.setSelectionEnd(0); jTextAreaDescription.setSelectionEnd(0);
} }
@ -441,12 +445,13 @@ public class MsaHeader extends IInternalFrame {
super(); super();
this.omt = inMsa; this.omt = inMsa;
this.msa = omt.getXmlMsa(); this.msa = omt.getXmlMsa();
// //
// Set module definitions default value // Set module definitions default value
// //
if (msa.getModuleDefinitions() == null) { if (msa.getModuleDefinitions() == null) {
ModuleDefinitionsDocument.ModuleDefinitions md = ModuleDefinitionsDocument.ModuleDefinitions.Factory.newInstance(); ModuleDefinitionsDocument.ModuleDefinitions md = ModuleDefinitionsDocument.ModuleDefinitions.Factory
.newInstance();
md.setOutputFileBasename(msa.getMsaHeader().getModuleName()); md.setOutputFileBasename(msa.getMsaHeader().getModuleName());
md.setBinaryModule(false); md.setBinaryModule(false);
md.setSupportedArchitectures(ed.getVSupportedArchitectures()); md.setSupportedArchitectures(ed.getVSupportedArchitectures());
@ -815,7 +820,6 @@ public class MsaHeader extends IInternalFrame {
// this.msaHeader.setSpecification(this.jTextFieldSpecification.getText()); // this.msaHeader.setSpecification(this.jTextFieldSpecification.getText());
msaHeader.setSpecification(this.jTextFieldSpecification.getText()); msaHeader.setSpecification(this.jTextFieldSpecification.getText());
msaHeader.setModuleType(ModuleTypeDef.Enum.forString(jComboBoxModuleType.getSelectedItem().toString()));
msa.setMsaHeader(msaHeader); msa.setMsaHeader(msaHeader);
this.omt.setSaved(false); this.omt.setSaved(false);
} catch (Exception e) { } catch (Exception e) {
@ -879,7 +883,7 @@ public class MsaHeader extends IInternalFrame {
if (this.msaHeader == null) { if (this.msaHeader == null) {
msaHeader = MsaHeaderDocument.MsaHeader.Factory.newInstance(); msaHeader = MsaHeaderDocument.MsaHeader.Factory.newInstance();
} }
// //
// Check BaseName // Check BaseName
// //
@ -894,14 +898,22 @@ public class MsaHeader extends IInternalFrame {
//this.jTextFieldBaseName.requestFocus(); //this.jTextFieldBaseName.requestFocus();
return; return;
} }
this.msaHeader.setModuleName(this.jTextFieldBaseName.getText()); if (!this.jTextFieldBaseName.getText().equals(msaHeader.getModuleName())) {
this.msaHeader.setModuleName(this.jTextFieldBaseName.getText());
} else {
return;
}
} }
// //
// Check Module Type // Check Module Type
// //
if (arg0.getSource() == this.jComboBoxModuleType) { if (arg0.getSource() == this.jComboBoxModuleType) {
//msaHeader.setModuleType(ModuleTypeDef.Enum.forString(jComboBoxModuleType.getSelectedItem().toString())); if (!jComboBoxModuleType.getSelectedItem().toString().equals(msaHeader.getModuleType().toString())) {
msaHeader.setModuleType(ModuleTypeDef.Enum.forString(jComboBoxModuleType.getSelectedItem().toString()));
} else {
return;
}
} }
// //
@ -918,14 +930,17 @@ public class MsaHeader extends IInternalFrame {
//this.jTextFieldGuid.requestFocus(); //this.jTextFieldGuid.requestFocus();
return; return;
} }
this.msaHeader.setGuidValue(jTextFieldGuid.getText()); if (!this.jTextFieldGuid.getText().equals(msaHeader.getGuidValue())) {
this.msaHeader.setGuidValue(this.jTextFieldGuid.getText());
} else {
return;
}
} }
// //
// Check Version // Check Version
// //
if (arg0.getSource() == this.jTextFieldVersion) { if (arg0.getSource() == this.jTextFieldVersion) {
if (isEmpty(this.jTextFieldVersion.getText())) { if (isEmpty(this.jTextFieldVersion.getText())) {
Log.err("Version couldn't be empty"); Log.err("Version couldn't be empty");
//this.jTextFieldVersion.requestFocus(); //this.jTextFieldVersion.requestFocus();
@ -936,7 +951,11 @@ public class MsaHeader extends IInternalFrame {
//this.jTextFieldVersion.requestFocus(); //this.jTextFieldVersion.requestFocus();
return; return;
} }
this.msaHeader.setVersion(this.jTextFieldVersion.getText()); if (!this.jTextFieldVersion.getText().equals(msaHeader.getVersion())) {
this.msaHeader.setVersion(this.jTextFieldVersion.getText());
} else {
return;
}
} }
// //
@ -953,7 +972,11 @@ public class MsaHeader extends IInternalFrame {
//this.jTextFieldAbstract.requestFocus(); //this.jTextFieldAbstract.requestFocus();
return; return;
} }
this.msaHeader.setAbstract(this.jTextFieldAbstract.getText()); if (!this.jTextFieldAbstract.getText().equals(msaHeader.getAbstract())) {
this.msaHeader.setAbstract(this.jTextFieldAbstract.getText());
} else {
return;
}
} }
// //
@ -965,7 +988,11 @@ public class MsaHeader extends IInternalFrame {
//this.jTextAreaDescription.requestFocus(); //this.jTextAreaDescription.requestFocus();
return; return;
} }
this.msaHeader.setDescription(this.jTextAreaDescription.getText()); if (!this.jTextAreaDescription.getText().equals(msaHeader.getDescription())) {
this.msaHeader.setDescription(this.jTextAreaDescription.getText());
} else {
return;
}
} }
// //
@ -977,7 +1004,11 @@ public class MsaHeader extends IInternalFrame {
//this.jTextFieldCopyright.requestFocus(); //this.jTextFieldCopyright.requestFocus();
return; return;
} }
this.msaHeader.setCopyright(this.jTextFieldCopyright.getText()); if (!this.jTextFieldCopyright.getText().equals(msaHeader.getCopyright())) {
this.msaHeader.setCopyright(this.jTextFieldCopyright.getText());
} else {
return;
}
} }
// //
@ -990,7 +1021,11 @@ public class MsaHeader extends IInternalFrame {
return; return;
} }
if (this.msaHeader.getLicense() != null) { if (this.msaHeader.getLicense() != null) {
this.msaHeader.getLicense().setStringValue(this.jTextAreaLicense.getText()); if (!this.jTextAreaLicense.getText().equals(msaHeader.getLicense().getStringValue())) {
this.msaHeader.getLicense().setStringValue(this.jTextAreaLicense.getText());
} else {
return;
}
} else { } else {
License mLicense = License.Factory.newInstance(); License mLicense = License.Factory.newInstance();
mLicense.setStringValue(this.jTextAreaLicense.getText()); mLicense.setStringValue(this.jTextAreaLicense.getText());
@ -1008,11 +1043,15 @@ public class MsaHeader extends IInternalFrame {
mLicense.setURL(this.jTextFieldURL.getText()); mLicense.setURL(this.jTextFieldURL.getText());
this.msaHeader.setLicense(mLicense); this.msaHeader.setLicense(mLicense);
} else { } else {
this.msaHeader.getLicense().setURL(this.jTextFieldURL.getText()); if (!this.jTextFieldURL.getText().equals(msaHeader.getLicense().getURL())) {
this.msaHeader.getLicense().setURL(this.jTextFieldURL.getText());
} else {
return;
}
} }
} }
} }
this.save(); this.save();
} }
} }

View File

@ -91,7 +91,7 @@ public class SourceFilesDlg extends IDialog {
// //
// Not used by UI // Not used by UI
// //
private SourceFilesIdentification sfid = null; private SourceFilesIdentification sfid[] = null;
private String msaFileName = ""; private String msaFileName = "";
@ -268,16 +268,16 @@ public class SourceFilesDlg extends IDialog {
**/ **/
private void init(SourceFilesIdentification inSourceFilesIdentifications, String fileName) { private void init(SourceFilesIdentification inSourceFilesIdentifications, String fileName) {
init(); init();
this.sfid = inSourceFilesIdentifications; //this.sfid = inSourceFilesIdentifications;
this.msaFileName = fileName; this.msaFileName = fileName;
if (this.sfid != null) { if (inSourceFilesIdentifications != null) {
this.jTextFieldFileName.setText(sfid.getFilename()); this.jTextFieldFileName.setText(inSourceFilesIdentifications.getFilename());
this.jTextFieldTagName.setText(sfid.getTagName()); this.jTextFieldTagName.setText(inSourceFilesIdentifications.getTagName());
this.jTextFieldToolCode.setText(sfid.getToolCode()); this.jTextFieldToolCode.setText(inSourceFilesIdentifications.getToolCode());
this.jTextFieldToolChainFamily.setText(sfid.getToolChainFamily()); this.jTextFieldToolChainFamily.setText(inSourceFilesIdentifications.getToolChainFamily());
jTextFieldFeatureFlag.setText(sfid.getFeatureFlag()); jTextFieldFeatureFlag.setText(inSourceFilesIdentifications.getFeatureFlag());
this.jArchCheckBox.setSelectedItems(sfid.getSupArchList()); this.jArchCheckBox.setSelectedItems(inSourceFilesIdentifications.getSupArchList());
} }
} }
@ -376,14 +376,18 @@ public class SourceFilesDlg extends IDialog {
} }
} }
private SourceFilesIdentification getCurrentSourceFiles() { private SourceFilesIdentification[] getCurrentSourceFiles() {
String name = this.jTextFieldFileName.getText(); String name = this.jTextFieldFileName.getText();
String s[] = name.split(";");
String tagName = this.jTextFieldTagName.getText(); String tagName = this.jTextFieldTagName.getText();
String toolCode = this.jTextFieldToolCode.getText(); String toolCode = this.jTextFieldToolCode.getText();
String tcf = this.jTextFieldToolChainFamily.getText(); String tcf = this.jTextFieldToolChainFamily.getText();
String featureFlag = this.jTextFieldFeatureFlag.getText(); String featureFlag = this.jTextFieldFeatureFlag.getText();
Vector<String> arch = this.jArchCheckBox.getSelectedItemsVector(); Vector<String> arch = this.jArchCheckBox.getSelectedItemsVector();
sfid = new SourceFilesIdentification(name, tagName, toolCode, tcf, featureFlag, arch); sfid = new SourceFilesIdentification[s.length];
for (int index = 0; index < s.length; index++) {
sfid[index] = new SourceFilesIdentification(s[index], tagName, toolCode, tcf, featureFlag, arch);
}
return sfid; return sfid;
} }
@ -457,17 +461,23 @@ public class SourceFilesDlg extends IDialog {
private void selectFile() { private void selectFile() {
JFileChooser fc = new JFileChooser(); JFileChooser fc = new JFileChooser();
fc.setCurrentDirectory(new File(Tools.getFilePathOnly(msaFileName))); fc.setCurrentDirectory(new File(Tools.getFilePathOnly(msaFileName)));
fc.setMultiSelectionEnabled(true);
int result = fc.showOpenDialog(new JPanel()); int result = fc.showOpenDialog(new JPanel());
if (result == JFileChooser.APPROVE_OPTION) { if (result == JFileChooser.APPROVE_OPTION) {
this.jTextFieldFileName.setText(fc.getSelectedFile().getName()); File f[] = fc.getSelectedFiles();
String s = "";
for (int index = 0; index < f.length; index++) {
s = s + f[index].getName() + ";";
}
this.jTextFieldFileName.setText(s);
} }
} }
public SourceFilesIdentification getSfid() { public SourceFilesIdentification[] getSfid() {
return sfid; return sfid;
} }
public void setSfid(SourceFilesIdentification sfid) { public void setSfid(SourceFilesIdentification[] sfid) {
this.sfid = sfid; this.sfid = sfid;
} }
} }

View File

@ -35,6 +35,7 @@ import org.tianocore.SpdHeaderDocument.SpdHeader;
import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.DataType;
import org.tianocore.frameworkwizard.common.Log; import org.tianocore.frameworkwizard.common.Log;
import org.tianocore.frameworkwizard.common.SaveFile; import org.tianocore.frameworkwizard.common.SaveFile;
import org.tianocore.frameworkwizard.common.Sort;
import org.tianocore.frameworkwizard.common.Tools; import org.tianocore.frameworkwizard.common.Tools;
import org.tianocore.frameworkwizard.common.Identifications.Identification; import org.tianocore.frameworkwizard.common.Identifications.Identification;
import org.tianocore.frameworkwizard.common.Identifications.OpenFile; import org.tianocore.frameworkwizard.common.Identifications.OpenFile;
@ -285,7 +286,7 @@ public class WorkspaceTools {
} }
} }
Tools.sortPackages(vPackageList, DataType.SORT_TYPE_ASCENDING); Sort.sortPackages(vPackageList, DataType.SORT_TYPE_ASCENDING);
return vPackageList; return vPackageList;
} }
@ -385,7 +386,7 @@ public class WorkspaceTools {
} }
v.addElement(new ModuleIdentification(id, pid)); v.addElement(new ModuleIdentification(id, pid));
} }
Tools.sortModules(v, DataType.SORT_TYPE_ASCENDING); Sort.sortModules(v, DataType.SORT_TYPE_ASCENDING);
return v; return v;
} }
@ -428,7 +429,7 @@ public class WorkspaceTools {
} }
} }
} }
Tools.sortModules(vModuleList, DataType.SORT_TYPE_ASCENDING); Sort.sortModules(vModuleList, DataType.SORT_TYPE_ASCENDING);
return vModuleList; return vModuleList;
} }
@ -459,7 +460,7 @@ public class WorkspaceTools {
Log.err("Open Platform Surface Area " + path, "Invalid file type"); Log.err("Open Platform Surface Area " + path, "Invalid file type");
} }
} }
Tools.sortPlatforms(vPlatformList, DataType.SORT_TYPE_ASCENDING); Sort.sortPlatforms(vPlatformList, DataType.SORT_TYPE_ASCENDING);
return vPlatformList; return vPlatformList;
} }
@ -477,7 +478,7 @@ public class WorkspaceTools {
} }
} }
} }
Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING); Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);
return vector; return vector;
} }
@ -495,7 +496,7 @@ public class WorkspaceTools {
} }
} }
} }
Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING); Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);
return vector; return vector;
} }
@ -513,7 +514,7 @@ public class WorkspaceTools {
} }
} }
} }
Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING); Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);
return vector; return vector;
} }
@ -531,7 +532,7 @@ public class WorkspaceTools {
} }
} }
} }
Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING); Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);
return vector; return vector;
} }
@ -555,7 +556,7 @@ public class WorkspaceTools {
} }
} }
} }
Tools.sortPcds(vector, DataType.SORT_TYPE_ASCENDING); Sort.sortPcds(vector, DataType.SORT_TYPE_ASCENDING);
return vector; return vector;
} }
@ -583,7 +584,7 @@ public class WorkspaceTools {
// TODO Auto-generated catch block // TODO Auto-generated catch block
} }
} }
Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING); Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);
return vector; return vector;
} }
@ -609,7 +610,7 @@ public class WorkspaceTools {
// TODO Auto-generated catch block // TODO Auto-generated catch block
} }
} }
Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING); Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);
return vector; return vector;
} }
@ -635,7 +636,7 @@ public class WorkspaceTools {
// TODO Auto-generated catch block // TODO Auto-generated catch block
} }
} }
Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING); Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);
return vector; return vector;
} }
@ -661,7 +662,7 @@ public class WorkspaceTools {
// TODO Auto-generated catch block // TODO Auto-generated catch block
} }
} }
Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING); Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);
return vector; return vector;
} }
@ -686,7 +687,7 @@ public class WorkspaceTools {
// TODO Auto-generated catch block // TODO Auto-generated catch block
} }
} }
Tools.sortPcds(vector, DataType.SORT_TYPE_ASCENDING); Sort.sortPcds(vector, DataType.SORT_TYPE_ASCENDING);
return vector; return vector;
} }