diff options
| author | njames <njames@us.ibm.com> | 2015-02-13 19:11:43 -0600 |
|---|---|---|
| committer | njames <njames@us.ibm.com> | 2015-02-13 19:11:43 -0600 |
| commit | eb848c4d48f0d90df7f598e51d96bb44163b3281 (patch) | |
| tree | b824ad547fec7f71f02b06a7a16f0455e32b1c46 /src/com | |
| parent | 8c040316e7f5cf88f38c494d46ee06c777f2861f (diff) | |
| download | serverwiz-eb848c4d48f0d90df7f598e51d96bb44163b3281.tar.gz serverwiz-eb848c4d48f0d90df7f598e51d96bb44163b3281.zip | |
fix card hierarchy bug
Diffstat (limited to 'src/com')
| -rw-r--r-- | src/com/ibm/ServerWizard2/MainDialog.java | 37 | ||||
| -rw-r--r-- | src/com/ibm/ServerWizard2/SystemModel.java | 48 | ||||
| -rw-r--r-- | src/com/ibm/ServerWizard2/TargetWizardController.java | 42 |
3 files changed, 90 insertions, 37 deletions
diff --git a/src/com/ibm/ServerWizard2/MainDialog.java b/src/com/ibm/ServerWizard2/MainDialog.java index 1f812cf..af0299e 100644 --- a/src/com/ibm/ServerWizard2/MainDialog.java +++ b/src/com/ibm/ServerWizard2/MainDialog.java @@ -599,13 +599,6 @@ public class MainDialog extends Dialog { } } - public void refreshInstanceTree() { - currentPath=""; - for (Target target : controller.getRootTargets()) { - this.updateInstanceTree(target, null); - } - btnAddTarget.setEnabled(false); - } public void updatePopupMenu(Target selectedTarget) { if (selectedTarget == null || tree.getSelectionCount()==0) { @@ -790,6 +783,17 @@ public class MainDialog extends Dialog { treeitem.removeAll(); treeitem.dispose(); } + public void refreshInstanceTree() { + currentPath=""; + if (this.busMode && this.targetForConnections !=null) { + this.updateInstanceTree(targetForConnections, null); + } else { + for (Target target : controller.getRootTargets()) { + this.updateInstanceTree(target, null); + } + } + btnAddTarget.setEnabled(false); + } public void updateInstanceTree(Target target, TreeItem parentItem) { this.updateInstanceTree(target, parentItem, null); @@ -802,6 +806,9 @@ public class MainDialog extends Dialog { if (target.isHidden()) { return; } + if (parentItem==null) { + this.clearTreeAll(); + } boolean hideBus = false; String name = target.getName(); String lastPath = currentPath; @@ -850,7 +857,7 @@ public class MainDialog extends Dialog { TreeItem treeitem = item; if (item == null) { if (parentItem == null) { - clearTreeAll(); + //clearTreeAll(); treeitem = new TreeItem(tree, SWT.VIRTUAL | SWT.BORDER); } else { treeitem = new TreeItem(parentItem, SWT.VIRTUAL | SWT.BORDER); @@ -892,12 +899,20 @@ public class MainDialog extends Dialog { return; } Target busTarget = (Target) cmbBusses.getData(cmbBusses.getText()); - if (targetForConnections == null || busTarget == null) { + if (targetForConnections == null) { return; } - for (Connection conn : targetForConnections.getBusses().get(busTarget)) { - addConnection(conn); + if (busTarget == null) { + for (Target tmpBusTarget : targetForConnections.getBusses().keySet()) { + for (Connection conn : targetForConnections.getBusses().get(tmpBusTarget)) { + addConnection(conn); + } + } + } else { + for (Connection conn : targetForConnections.getBusses().get(busTarget)) { + addConnection(conn); + } } } diff --git a/src/com/ibm/ServerWizard2/SystemModel.java b/src/com/ibm/ServerWizard2/SystemModel.java index 39424bc..b74a7b1 100644 --- a/src/com/ibm/ServerWizard2/SystemModel.java +++ b/src/com/ibm/ServerWizard2/SystemModel.java @@ -117,18 +117,42 @@ public class SystemModel { if (entityId>0) { HashMap<Integer,Vector<SdrRecord>> sdrMap= sdrLookup.get(entityId); if (sdrMap!=null) { - Vector<SdrRecord> sdrs = sdrMap.get(entityInst); - if (sdrs!=null) { - for (SdrRecord sdr:sdrs ) { - String msg = "IMPORT MATCH: "+target.getName()+"; "+sdr.toString(); - ServerWizard2.LOGGER.info(msg); - this.logData=this.logData+msg+"\n"; - ipmiAttr[i]=sdr.getAttributeValue(); - } - } else { - String msg = ">>IMPORT ERROR: "+target.getName()+"; Entity ID: "+entityId+"; Entity Inst: "+entityInst+" not found in SDR"; - ServerWizard2.LOGGER.warning(msg); - this.logData=this.logData+msg+"\n"; + if (entityId==215) { //APSS is special case + Integer apss[] = new Integer[16]; + for (int x=0;x<16;x++) { + Vector<SdrRecord> sdrs = sdrMap.get(x); + if (sdrs!=null) { + SdrRecord sdr = sdrs.get(0); + if (sdr!=null) { + apss[x]=sdr.getSensorId(); + } else { + apss[x]=255; + } + } else { + apss[x]=255; + } + } + String apssStr=""; + String sep=","; + for (i=0;i<16;i++) { + if (i==15) { sep=""; } + apssStr=apssStr+String.format("0x%02X", apss[i])+sep; + } + this.setGlobalSetting(instPath, "ADC_CHANNEL_SENSOR_NUMBERS",apssStr); + } else { + Vector<SdrRecord> sdrs = sdrMap.get(entityInst); + if (sdrs!=null) { + for (SdrRecord sdr:sdrs ) { + String msg = "IMPORT MATCH: "+target.getName()+"; "+sdr.toString(); + ServerWizard2.LOGGER.info(msg); + this.logData=this.logData+msg+"\n"; + ipmiAttr[i]=sdr.getAttributeValue(); + } + } else { + String msg = ">>IMPORT ERROR: "+target.getName()+"; Entity ID: "+entityId+"; Entity Inst: "+entityInst+" not found in SDR"; + ServerWizard2.LOGGER.warning(msg); + this.logData=this.logData+msg+"\n"; + } } } else { String msg = ">>IMPORT ERROR: "+target.getName()+"; Entity ID: "+entityId+ " not found in SDR"; diff --git a/src/com/ibm/ServerWizard2/TargetWizardController.java b/src/com/ibm/ServerWizard2/TargetWizardController.java index dc5bdf4..e103d76 100644 --- a/src/com/ibm/ServerWizard2/TargetWizardController.java +++ b/src/com/ibm/ServerWizard2/TargetWizardController.java @@ -4,8 +4,10 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.BufferedReader; import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.StringWriter; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.util.HashMap; @@ -303,22 +305,34 @@ public class TargetWizardController implements PropertyChangeListener { String line; String msg=""; try { - Process proc = Runtime.getRuntime().exec(commandLine); - proc.waitFor(); - InputStream error = proc.getErrorStream(); - InputStream stdout = proc.getInputStream(); - BufferedReader reader = new BufferedReader (new InputStreamReader(error)); - BufferedReader reader2 = new BufferedReader (new InputStreamReader(stdout)); - while ((line = reader.readLine ()) != null) { - msg=msg+"ERROR: " + line; - ServerWizard2.LOGGER.severe("ERROR: " + line); - } - while ((line = reader2.readLine ()) != null) { - msg=msg+line+"\n"; - ServerWizard2.LOGGER.info(line); + final ProcessBuilder builder = new ProcessBuilder(commandLine).redirectErrorStream(true); + + final Process process = builder.start(); + final StringWriter writer = new StringWriter(); + + new Thread(new Runnable() { + public void run() { + char[] buffer = new char[1024]; + int len; + InputStreamReader in = new InputStreamReader(process.getInputStream()); + + try { + while ((len = in.read(buffer)) != -1) { + writer.write(buffer, 0, len); + } + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } + }).start(); + + final int exitValue = process.waitFor(); + final String processOutput = writer.toString(); + ServerWizard2.LOGGER.info(processOutput); + ServerWizard2.LOGGER.info("Return Code: "+exitValue); LogViewerDialog dlg = new LogViewerDialog(null); - dlg.setData(msg); + dlg.setData(processOutput); dlg.open(); } catch (Exception e){ e.printStackTrace(); |

