18354339 SMF panel - selecting services doesn't work correctly
authordevjani.ray@oracle.com <devjani.ray@oracle.com>
Fri, 21 Mar 2014 18:07:38 -0400
changeset 1784 f4788333a58f
parent 1783 d716b9b5961b
child 1785 bdeb137cd2c6
18354339 SMF panel - selecting services doesn't work correctly
components/visual-panels/core/src/java/vpanels/panel/com/oracle/solaris/vp/panel/common/api/panel/PanelBeanTracker.java
components/visual-panels/core/src/java/vpanels/panel/com/oracle/solaris/vp/panel/common/smf/ServiceUtil.java
components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserMgrPanelDescriptor.java
--- a/components/visual-panels/core/src/java/vpanels/panel/com/oracle/solaris/vp/panel/common/api/panel/PanelBeanTracker.java	Fri Mar 21 09:36:50 2014 -0700
+++ b/components/visual-panels/core/src/java/vpanels/panel/com/oracle/solaris/vp/panel/common/api/panel/PanelBeanTracker.java	Fri Mar 21 18:07:38 2014 -0400
@@ -25,7 +25,6 @@
 
 package com.oracle.solaris.vp.panel.common.api.panel;
 
-import com.oracle.solaris.rad.client.ADRName;
 import com.oracle.solaris.vp.panel.common.*;
 import com.oracle.solaris.vp.panel.common.api.panels.*;
 
--- a/components/visual-panels/core/src/java/vpanels/panel/com/oracle/solaris/vp/panel/common/smf/ServiceUtil.java	Fri Mar 21 09:36:50 2014 -0700
+++ b/components/visual-panels/core/src/java/vpanels/panel/com/oracle/solaris/vp/panel/common/smf/ServiceUtil.java	Fri Mar 21 18:07:38 2014 -0400
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
  */
 
 package com.oracle.solaris.vp.panel.common.smf;
@@ -48,13 +48,11 @@
 
     public static ADRName getServiceObjectName(
 	String service, String instance) {
-
-	String namestr = String.format("%s:type=ServiceInfo,service=%s",
-	    SERVICE_DOMAIN, service);
-	if (instance != null)
-	    namestr = String.format("%s,instance=%s", namestr, instance);
-
-	return (new ADRName(namestr));
+	Map<String, String> kvs = new HashMap<String, String>();
+	kvs.put("type", "ServiceInfo");
+	kvs.put("service", service);
+	kvs.put("instance", instance == null ? "" : instance);
+	return (new ADRName(SERVICE_DOMAIN, kvs));
     }
 
     public static ADRName toADRName(String service, String instance) {
@@ -77,43 +75,20 @@
     }
 
     public static String toFMRI(ADRName an) {
-
-	String name = an.toString();
-	String[] pieces = name.split(":", 2);
-        String[] kvpairs = pieces[1].split(",");
-	String domain = pieces[0];
-
-	Map<String, String> kvs = new HashMap<String, String>();
-	for (String s : kvpairs) {
-		String[] kv = s.split("=");
-		kvs.put(kv[0], kv[1]);
-	}
-
+	String domain = an.getDomain();
+	Map<String, String> kvs = an.getKVPairs();
 	String service = kvs.get("service");
 	String instance = kvs.get("instance");
 	if (!domain.equals(SERVICE_DOMAIN) || service == null)
 		throw new IllegalArgumentException("Not an SMF Object name");
-
-	return ("svc:/" + (instance == null ?
+	return ("svc:/" + (instance.equals("") ?
 	    service : service + ":" + instance));
     }
 
     public static String toService(ADRName an) {
-
-	String name = an.toString();
-	String[] pieces = name.split(":", 2);
-	String[] kvpairs = pieces[1].split(",");
-	String domain = pieces[0];
-	String service = null;
-
-	for (int i = 0; i < kvpairs.length; i++) {
-		if (kvpairs[i].startsWith("service=")) {
-			String[] kv = kvpairs[i].split("=");
-			service = kv[1];
-			break;
-		}
-	}
-
+	String domain = an.getDomain();
+	Map<String, String> kvs = an.getKVPairs();
+	String service = kvs.get("service");
 	if (domain.equals(SERVICE_DOMAIN) && service != null)
 		return service;
 	else
--- a/components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserMgrPanelDescriptor.java	Fri Mar 21 09:36:50 2014 -0700
+++ b/components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserMgrPanelDescriptor.java	Fri Mar 21 18:07:38 2014 -0400
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
  */
 
 package com.oracle.solaris.vp.panels.usermgr.client.swing;
@@ -29,7 +29,6 @@
 import java.util.logging.Level;
 import javax.swing.Icon;
 import com.oracle.solaris.rad.client.ADRUinteger;
-import com.oracle.solaris.rad.client.ADRName;
 import com.oracle.solaris.rad.client.RadObjectException;
 import com.oracle.solaris.rad.client.RadPrivilegeException;
 import com.oracle.solaris.vp.panel.common.*;