Author: nextgens
Date: 2007-05-22 22:39:15 +0000 (Tue, 22 May 2007)
New Revision: 13322
Modified:
trunk/plugins/UPnP/UPnP.java
Log:
UPNP: fix the plugin so that it displays something
Modified: trunk/plugins/UPnP/UPnP.java
===================================================================
--- trunk/plugins/UPnP/UPnP.java 2007-05-22 22:02:57 UTC (rev 13321)
+++ trunk/plugins/UPnP/UPnP.java 2007-05-22 22:39:15 UTC (rev 13322)
@@ -16,7 +16,9 @@
import plugins.UPnP.org.cybergarage.upnp.ServiceList;
import plugins.UPnP.org.cybergarage.upnp.ServiceStateTable;
import plugins.UPnP.org.cybergarage.upnp.StateVariable;
+import plugins.UPnP.org.cybergarage.upnp.control.QueryRequest;
import plugins.UPnP.org.cybergarage.upnp.device.DeviceChangeListener;
+import plugins.UPnP.org.cybergarage.upnp.xml.StateVariableData;
import freenet.pluginmanager.FredPlugin;
import freenet.pluginmanager.FredPluginHTTP;
import freenet.pluginmanager.FredPluginThreadless;
@@ -88,6 +90,10 @@
}
}
+ private String toString(StateVariableData data) {
+ return (data == null ? "null" : data.getValue());
+ }
+
private void listSubServices(Device dev, StringBuffer sb) {
ServiceList sl = dev.getServiceList();
for(int i=0; i<sl.size(); i++) {
@@ -100,44 +106,58 @@
StateVariable upstreamBW =
serv.getStateVariable("Layer1UpstreamMaxBitRate");
StateVariable downstreamBW =
serv.getStateVariable("Layer1DownstreamMaxBitRate");
- sb.append("WANCommonInterfaceConfig" +
- " status:" +
linkStatus.getStateVariableData() +
- " type:" +
wanAccessType.getStateVariableData() +
- " upstream:" +
upstreamBW.getStateVariableData() +
- " downstream:" +
downstreamBW.getStateVariableData() + "<br>");
+ sb.append("WANCommonInterfaceConfig");
+ if(linkStatus != null)
+ sb.append(" status: " +
toString(linkStatus.getStateVariableData()));
+ if(wanAccessType != null)
+ sb.append(" type: " +
toString(wanAccessType.getStateVariableData()));
+ if(upstreamBW != null)
+ sb.append(" upstream: " +
toString(upstreamBW.getStateVariableData()));
+ if(downstreamBW != null)
+ sb.append(" downstream: " +
toString(downstreamBW.getStateVariableData()) + "<br>");
}else
if("urn:schemas-upnp-org:service:WANPPPConnection:1".equals(serv.getServiceType())){
StateVariable linkStatus =
serv.getStateVariable("ConnectionStatus");
StateVariable uptime =
serv.getStateVariable("Uptime");
StateVariable upstreamBW =
serv.getStateVariable("UpstreamMaxBitRate");
StateVariable downstreamBW =
serv.getStateVariable("DownstreamMaxBitRate");
- sb.append("WANPPPConnection" +
- " status:" +
linkStatus.getStateVariableData() +
- " uptime:" +
uptime.getStateVariableData() +
- " upstream:" +
upstreamBW.getStateVariableData() +
- " downstream:" +
downstreamBW.getStateVariableData() + "<br>");
+ sb.append("WANPPPConnection");
+ if(linkStatus != null)
+ sb.append(" status: " +
toString(linkStatus.getStateVariableData()));
+ if(uptime != null)
+ sb.append(" uptime: " +
toString(uptime.getStateVariableData()));
+ if(upstreamBW != null)
+ sb.append(" upstream: " +
toString(upstreamBW.getStateVariableData()));
+ if(downstreamBW != null)
+ sb.append(" downstream: " +
toString(downstreamBW.getStateVariableData()) + "<br>");
}else
if("urn:schemas-upnp-org:service:Layer3Forwarding:1".equals(serv.getServiceType())){
StateVariable defaultConnectionService =
serv.getStateVariable("DefaultConnectionService");
- sb.append("DefaultConnectionService: "
+defaultConnectionService.getStateVariableData());
+ if(defaultConnectionService != null)
+ sb.append("DefaultConnectionService: "
+ toString(defaultConnectionService.getStateVariableData()));
}else
if("urn:schemas-upnp-org:service:WANIPConnection:1".equals(serv.getServiceType())){
StateVariable linkStatus =
serv.getStateVariable("ConnectionStatus");
StateVariable externalIPAddress =
serv.getStateVariable("ExternalIPAddress");
- sb.append("WANIPConnection" +
- " status:" +
linkStatus.getStateVariableData() +
- " external IP:" +
externalIPAddress.getStateVariableData() + "<br>");
+ sb.append("WANIPConnection");
+ if(linkStatus != null)
+ sb.append(" status: " +
toString(linkStatus.getStateVariableData()));
+ if(externalIPAddress != null)
+ sb.append(" external IP: " +
toString(externalIPAddress.getStateVariableData()) + "<br>");
}else
if("urn:schemas-upnp-org:service:WANEthernetLinkConfig:1".equals(serv.getServiceType())){
StateVariable linkStatus =
serv.getStateVariable("EthernetLinkStatus");
- sb.append("WANEthernetLinkConfig" +
- " status:" +
linkStatus.getStateVariableData() + "<br>");
+ sb.append("WANEthernetLinkConfig");
+ if(linkStatus != null)
+ sb.append(" status: " +
toString(linkStatus.getStateVariableData()) + "<br>");
}else
if("urn:schemas-upnp-org:service:LANHostConfigManagement:1".equals(serv.getServiceType())){
StateVariable netmask =
serv.getStateVariable("SubnetMask");
StateVariable dnsServers =
serv.getStateVariable("DNSServers");
- sb.append("LANHostConfigManagement" +
- " subnetMask:" + netmask +
- " dnsServers:" + dnsServers +
"<br>");
+ sb.append("LANHostConfigManagement");
+ if(netmask != null)
+ sb.append(" subnetMask: " +
toString(netmask.getStateVariableData()));
+ if(dnsServers != null)
+ sb.append(" dnsServers: " +
toString(dnsServers.getStateVariableData()) + "<br>");
}else
sb.append("~~~~~~~ "+serv.getServiceType());
listActions(serv, sb);