mirror of https://github.com/acidanthera/audk.git
Fix bug of missing Pcd information in FPD ModuleSA.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1010 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
a71a82e576
commit
055e7ae674
|
@ -287,29 +287,56 @@ public class FpdFileContents {
|
||||||
//
|
//
|
||||||
// key for ModuleSA : "ModuleGuid ModuleVer PackageGuid PackageVer"
|
// key for ModuleSA : "ModuleGuid ModuleVer PackageGuid PackageVer"
|
||||||
//
|
//
|
||||||
public int getPcdDataCount(String key){
|
public int getPcdDataCount(int i){
|
||||||
ModuleSADocument.ModuleSA msa = getModuleSA(key);
|
if (getfpdFrameworkModules().getModuleSAList() == null || getfpdFrameworkModules().getModuleSAList().size() == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
XmlCursor cursor = getfpdFrameworkModules().newCursor();
|
||||||
|
ModuleSADocument.ModuleSA msa = null;
|
||||||
|
if (cursor.toFirstChild()) {
|
||||||
|
for (int j = 0; j < i; ++j) {
|
||||||
|
cursor.toNextSibling();
|
||||||
|
}
|
||||||
|
msa = (ModuleSADocument.ModuleSA)cursor.getObject();
|
||||||
|
}
|
||||||
|
cursor.dispose();
|
||||||
|
|
||||||
if (msa == null || msa.getPcdBuildDefinition() == null || msa.getPcdBuildDefinition().getPcdDataList() == null){
|
if (msa == null || msa.getPcdBuildDefinition() == null || msa.getPcdBuildDefinition().getPcdDataList() == null){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return msa.getPcdBuildDefinition().getPcdDataList().size();
|
return msa.getPcdBuildDefinition().getPcdDataList().size();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getPcdData(String key, String[][] saa) {
|
public void getPcdData(int i, String[][] saa) {
|
||||||
ModuleSADocument.ModuleSA msa = getModuleSA(key);
|
if (getfpdFrameworkModules().getModuleSAList() == null || getfpdFrameworkModules().getModuleSAList().size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
XmlCursor cursor = getfpdFrameworkModules().newCursor();
|
||||||
|
ModuleSADocument.ModuleSA msa = null;
|
||||||
|
if (cursor.toFirstChild()) {
|
||||||
|
for (int j = 0; j < i; ++j) {
|
||||||
|
cursor.toNextSibling();
|
||||||
|
}
|
||||||
|
msa = (ModuleSADocument.ModuleSA)cursor.getObject();
|
||||||
|
}
|
||||||
|
cursor.dispose();
|
||||||
|
|
||||||
if (msa == null || msa.getPcdBuildDefinition() == null || msa.getPcdBuildDefinition().getPcdDataList() == null){
|
if (msa == null || msa.getPcdBuildDefinition() == null || msa.getPcdBuildDefinition().getPcdDataList() == null){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ListIterator<PcdBuildDefinitionDocument.PcdBuildDefinition.PcdData>li = msa.getPcdBuildDefinition().getPcdDataList().listIterator();
|
ListIterator<PcdBuildDefinitionDocument.PcdBuildDefinition.PcdData>li = msa.getPcdBuildDefinition().getPcdDataList().listIterator();
|
||||||
for (int i = 0; i < saa.length; ++i) {
|
for (int k = 0; k < saa.length; ++k) {
|
||||||
PcdBuildDefinitionDocument.PcdBuildDefinition.PcdData pcdData = li.next();
|
PcdBuildDefinitionDocument.PcdBuildDefinition.PcdData pcdData = li.next();
|
||||||
saa[i][0] = pcdData.getCName();
|
saa[k][0] = pcdData.getCName();
|
||||||
saa[i][1] = pcdData.getTokenSpaceGuidCName();
|
saa[k][1] = pcdData.getTokenSpaceGuidCName();
|
||||||
saa[i][2] = pcdData.getItemType()+"";
|
saa[k][2] = pcdData.getItemType()+"";
|
||||||
saa[i][3] = pcdData.getToken().toString();
|
saa[k][3] = pcdData.getToken().toString();
|
||||||
saa[i][4] = pcdData.getMaxDatumSize()+"";
|
saa[k][4] = pcdData.getMaxDatumSize()+"";
|
||||||
saa[i][5] = pcdData.getDatumType()+"";
|
saa[k][5] = pcdData.getDatumType()+"";
|
||||||
saa[i][6] = pcdData.getValue();
|
saa[k][6] = pcdData.getValue();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -202,7 +202,7 @@ public class FpdFrameworkModules extends IInternalFrame {
|
||||||
|
|
||||||
docConsole.setSaved(false);
|
docConsole.setSaved(false);
|
||||||
try{
|
try{
|
||||||
ffc.addFrameworkModulesPcdBuildDefs(miList.get(selectedRow), null);
|
ffc.addFrameworkModulesPcdBuildDefs(mi, null);
|
||||||
}
|
}
|
||||||
catch (Exception exception) {
|
catch (Exception exception) {
|
||||||
JOptionPane.showMessageDialog(frame, "PCD Insertion Fail. " + exception.getMessage());
|
JOptionPane.showMessageDialog(frame, "PCD Insertion Fail. " + exception.getMessage());
|
||||||
|
@ -292,7 +292,7 @@ public class FpdFrameworkModules extends IInternalFrame {
|
||||||
String mv = model1.getValueAt(selectedRow, 2)+"";
|
String mv = model1.getValueAt(selectedRow, 2)+"";
|
||||||
String pg = model1.getValueAt(selectedRow, 3)+"";
|
String pg = model1.getValueAt(selectedRow, 3)+"";
|
||||||
String pv = model1.getValueAt(selectedRow, 4)+"";
|
String pv = model1.getValueAt(selectedRow, 4)+"";
|
||||||
settingDlg.setKey(mg + " " + mv + " " + pg + " " + pv);
|
settingDlg.setKey(mg + " " + mv + " " + pg + " " + pv, selectedRow);
|
||||||
settingDlg.setVisible(true);
|
settingDlg.setVisible(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -129,27 +129,27 @@ public class FpdModuleSA extends JDialog implements ActionListener {
|
||||||
this.ffc = ffc;
|
this.ffc = ffc;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setKey(String k){
|
public void setKey(String k, int i){
|
||||||
this.moduleKey = k;
|
this.moduleKey = k;
|
||||||
jTabbedPane.setSelectedIndex(0);
|
jTabbedPane.setSelectedIndex(0);
|
||||||
initPcdBuildDefinition(k);
|
initPcdBuildDefinition(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
init will be called each time FpdModuleSA object is to be shown.
|
init will be called each time FpdModuleSA object is to be shown.
|
||||||
@param key Module information.
|
@param key Module information.
|
||||||
**/
|
**/
|
||||||
public void initPcdBuildDefinition(String key) {
|
public void initPcdBuildDefinition(int i) {
|
||||||
//
|
//
|
||||||
// display pcd for key.
|
// display pcd for key.
|
||||||
//
|
//
|
||||||
model.setRowCount(0);
|
model.setRowCount(0);
|
||||||
int pcdCount = ffc.getPcdDataCount(key);
|
int pcdCount = ffc.getPcdDataCount(i);
|
||||||
if (pcdCount != 0) {
|
if (pcdCount != 0) {
|
||||||
String[][] saa = new String[pcdCount][7];
|
String[][] saa = new String[pcdCount][7];
|
||||||
ffc.getPcdData(key, saa);
|
ffc.getPcdData(i, saa);
|
||||||
for (int i = 0; i < saa.length; ++i) {
|
for (int j = 0; j < saa.length; ++j) {
|
||||||
model.addRow(saa[i]);
|
model.addRow(saa[j]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -483,7 +483,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
|
||||||
jPanel.add(getJPanel2(), java.awt.BorderLayout.SOUTH);
|
jPanel.add(getJPanel2(), java.awt.BorderLayout.SOUTH);
|
||||||
jPanel.addComponentListener(new java.awt.event.ComponentAdapter() {
|
jPanel.addComponentListener(new java.awt.event.ComponentAdapter() {
|
||||||
public void componentShown(java.awt.event.ComponentEvent e) {
|
public void componentShown(java.awt.event.ComponentEvent e) {
|
||||||
initPcdBuildDefinition(moduleKey);
|
// initPcdBuildDefinition(moduleKey);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue