From: <hr...@rh...> - 2008-12-17 13:22:24
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><style type="text/css"><!-- #msg DL { border : 1px #006 solid; background-color : #369; padding : 6px; color : #fff; } #msg DT { float : left; width : 6em; font-weight : bold; } #msg DL, #msg DT, #msg UL, #msg LI { font-family : arial,helvetica,sans-serif; font-size : 10pt; } h3 { font-family : arial,helvetica,sans-serif; font-size : 10pt; font-weight : bold; } #msg PRE { overflow : auto; white-space : normal; background-color : #ffc; border : 1px #fc0 solid; padding : 6px; } #msg UL, PRE, .diff { overflow : auto; } #patch h4 { font-family : arial,helvetica,sans-serif; font-size : 10pt; } #patch h4 { padding: 8px; background : #369; color : #fff; margin : 0; } #patch .propset h4, #patch .binary h4 {margin: 0;} #patch pre {padding:0;line-height:1.2em;margin:0;} #patch .diff {background:#eeeeee;padding: 0 0 10px 0;} #patch .propset .diff, #patch .binary .diff {padding: 10px 0;} #patch span {display:block;padding:0 10px;} #patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch .add {background:#ddffdd;} #patch .rem {background:#ffdddd;} #patch .lines, .info {color:#888888;background:#ffffff;} .diff { width : 100%; } #msg DL { border : 1px #006 solid; background-color : #369; padding : 6px; color : #fff; } #msg DT { float : left; width : 6em; font-weight : bold; } #msg DL, #msg DT, #msg UL, #msg LI { font-family : arial,helvetica,sans-serif; font-size : 10pt; } h3 { font-family : arial,helvetica,sans-serif; font-size : 10pt; font-weight : bold; } #msg PRE { overflow : auto; white-space : normal; background-color : #ffc; border : 1px #fc0 solid; padding : 6px; } #msg UL, PRE, .diff { overflow : auto; } #patch h4 { font-family : arial,helvetica,sans-serif; font-size : 10pt; } #patch h4 { padding: 8px; background : #369; color : #fff; margin : 0; } #patch .propset h4, #patch .binary h4 {margin: 0;} #patch pre {padding:0;line-height:1.2em;margin:0;} #patch .diff {background:#eeeeee;padding: 0 0 10px 0;} #patch .propset .diff, #patch .binary .diff {padding: 10px 0;} #patch span {display:block;padding:0 10px;} #patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch .add {background:#ddffdd;} #patch .rem {background:#ffdddd;} #patch .lines, .info {color:#888888;background:#ffffff;} .diff { width : 100%; } --></style> <title>[rhq-project.org rhq] [2430] RHQ-1275 Don't throw a runtime exception that bubbles up into the PC, but return null in a controlled way.</title> </head> <body> <div id="msg"> <dl> <dt>Revision</dt> <dd>2430</dd> <dt>Author</dt> <dd>hrupp</dd> <dt>Date</dt> <dd>2008-12-17 07:22:20 -0600 (Wed, 17 Dec 2008)</dd> </dl> <h3>Log Message</h3> <pre>RHQ-1275 Don't throw a runtime exception that bubbles up into the PC, but return null in a controlled way.</pre> <h3>Modified Paths</h3> <ul> <li><a href="#rhqtrunkmodulespluginsvirtsrcmainjavaorgrhqpluginsvirtLibVirtConnectionjava">rhq/trunk/modules/plugins/virt/src/main/java/org/rhq/plugins/virt/LibVirtConnection.java</a></li> <li><a href="#rhqtrunkmodulespluginsvirtsrcmainjavaorgrhqpluginsvirtVirtualizationDiscoveryComponentjava">rhq/trunk/modules/plugins/virt/src/main/java/org/rhq/plugins/virt/VirtualizationDiscoveryComponent.java</a></li> </ul> </div> <div id="patch"> <h3>Diff</h3> <a id="rhqtrunkmodulespluginsvirtsrcmainjavaorgrhqpluginsvirtLibVirtConnectionjava"></a> <div class="modfile"><h4>Modified: rhq/trunk/modules/plugins/virt/src/main/java/org/rhq/plugins/virt/LibVirtConnection.java (2429 => 2430)</h4> <pre class="diff"> <span class="info">--- rhq/trunk/modules/plugins/virt/src/main/java/org/rhq/plugins/virt/LibVirtConnection.java 2008-12-16 20:53:22 UTC (rev 2429) +++ rhq/trunk/modules/plugins/virt/src/main/java/org/rhq/plugins/virt/LibVirtConnection.java 2008-12-17 13:22:20 UTC (rev 2430) </span><span class="lines">@@ -18,12 +18,12 @@ </span><span class="cx"> */ package org.rhq.plugins.virt; </span><span class="rem">-import org.apache.commons.logging.LogFactory; -import org.apache.commons.logging.Log; - </span><span class="cx"> import java.util.ArrayList; import java.util.List; </span><span class="add">+import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + </span><span class="cx"> /** * Represents a connection, via libVirt to domain management. * </span><span class="lines">@@ -69,11 +69,11 @@ </span><span class="cx"> } </span><span class="rem">- public int[] getDomainIds() { </span><span class="add">+ public int[] getDomainIds() throws Exception { </span><span class="cx"> int[] ids = new int[100]; int result = LibVirt.INSTANCE.virConnectListDomains(connectionPointer, ids, 100); if (result < 0) { </span><span class="rem">- throw new RuntimeException("Couldn't list domain ids"); </span><span class="add">+ throw new Exception("Couldn't list domain ids"); </span><span class="cx"> } int[] found = new int[result]; </span><span class="lines">@@ -183,7 +183,7 @@ </span><span class="cx"> if (result < 0) throw new RuntimeException("Failed to set max memory"); } </span><span class="rem">- </span><span class="add">+ </span><span class="cx"> public void setMemory(String domainName, long size) { LibVirt.DomainPointer domainPointer = LibVirt.INSTANCE.virDomainLookupByName(connectionPointer, domainName); int result = LibVirt.INSTANCE.virDomainSetMemory(domainPointer, size); </span></pre></div> <a id="rhqtrunkmodulespluginsvirtsrcmainjavaorgrhqpluginsvirtVirtualizationDiscoveryComponentjava"></a> <div class="modfile"><h4>Modified: rhq/trunk/modules/plugins/virt/src/main/java/org/rhq/plugins/virt/VirtualizationDiscoveryComponent.java (2429 => 2430)</h4> <pre class="diff"> <span class="info">--- rhq/trunk/modules/plugins/virt/src/main/java/org/rhq/plugins/virt/VirtualizationDiscoveryComponent.java 2008-12-16 20:53:22 UTC (rev 2429) +++ rhq/trunk/modules/plugins/virt/src/main/java/org/rhq/plugins/virt/VirtualizationDiscoveryComponent.java 2008-12-17 13:22:20 UTC (rev 2430) </span><span class="lines">@@ -22,9 +22,12 @@ </span><span class="cx"> import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; </span><span class="add">+import java.util.List; </span><span class="cx"> import java.util.Set; </span><span class="rem">-import java.util.List; </span><span class="cx"> </span><span class="add">+import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + </span><span class="cx"> import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails; import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException; import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent; </span><span class="lines">@@ -34,10 +37,20 @@ </span><span class="cx"> * @author Greg Hinkle */ public class VirtualizationDiscoveryComponent implements ResourceDiscoveryComponent { </span><span class="add">+ + private Log log = LogFactory.getLog(getClass()); + </span><span class="cx"> public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext resourceDiscoveryContext) throws InvalidPluginConfigurationException, Exception { LibVirtConnection virt = new LibVirtConnection(); </span><span class="rem">- int[] ids = virt.getDomainIds(); </span><span class="add">+ int[] ids; + try { + ids = virt.getDomainIds(); + } + catch (Exception e) { + log.info(e.getMessage()); + return null; + } </span><span class="cx"> List<String> guests = virt.getDomainNames(); Set<DiscoveredResourceDetails> details = new HashSet<DiscoveredResourceDetails>(); </span> </pre> </div> </div> </body> </html> |