001: package com.sun.portal.admin.console.logging.data;
002:
003: import com.sun.portal.admin.common.util.AdminClientUtil;
004: import com.sun.portal.admin.common.util.AdminUtil;
005: import com.sun.portal.admin.console.common.PSBaseBean;
006:
007: import javax.management.InstanceNotFoundException;
008: import javax.management.MBeanException;
009: import javax.management.MalformedObjectNameException;
010: import javax.management.ObjectName;
011: import javax.management.ReflectionException;
012: import java.io.IOException;
013: import java.util.ArrayList;
014: import java.util.Hashtable;
015: import java.util.Iterator;
016: import java.util.LinkedList;
017: import java.util.List;
018: import java.util.Set;
019: import java.util.logging.Level;
020:
021: /**
022: *
023: */
024: public class PortalViewUtility extends PSBaseBean {
025: protected static final String PORTAL_LOG_OBJECT_NAME = "PortalDomain.PortalLogConfigHostBridge";
026: public static final String SEARCH_SERVER_SELECTED_ATTR = "search.server.selected";
027:
028: public String getSearchId() {
029: return (String) getSessionAttribute(SEARCH_SERVER_SELECTED_ATTR);
030: }
031:
032: public String getPortalId() {
033: return (String) getSessionAttribute(ATTR_SELECTED_PORTAL);
034: }
035:
036: public List getInstanceNames() {
037: List iNames = new ArrayList();
038: String portalId = null;
039: try {
040: portalId = (String) getSessionAttribute(ATTR_SELECTED_PORTAL);
041: Set objNames = getInstanceObjectNames(portalId);
042: Iterator iter = objNames.iterator();
043: while (iter.hasNext()) {
044: iNames
045: .add(getAttribute((ObjectName) iter.next(),
046: "ID"));
047: }
048: } catch (IOException ie) {
049: log(
050: Level.SEVERE,
051: "ListInstancesBean.getInstanceNames: Exception "
052: + "while trying to get the list of portal instances"
053: + "for portalId = " + portalId, ie);
054: } catch (Exception ex) {
055: log(
056: Level.SEVERE,
057: "ListInstancesBean.getInstanceNames: Exception "
058: + "while trying to get the list of portal instances"
059: + "for portalId = " + portalId, ex);
060: }
061: return iNames;
062: }
063:
064: public Set getInstanceObjectNames(String portalId)
065: throws IOException, Exception {
066: ObjectName instancePat = AdminClientUtil
067: .getPortalServerInstancesPattern(getDomainId(),
068: portalId);
069: Set objNames = getMBeanServerConnection().queryNames(
070: instancePat,
071: AdminUtil.getPortalServerInstancesPattern(
072: AdminUtil.DEFAULT_DOMAIN, portalId));
073: return objNames;
074: }
075:
076: public ObjectName getInstanceObjectName(String instanceId)
077: throws IOException, Exception {
078: return AdminUtil.getInstanceMBeanObjectName(getDomainId(),
079: getPortalId(), instanceId);
080: }
081:
082: public String getDomainId() {
083: return AdminClientUtil.DEFAULT_DOMAIN;
084: }
085:
086: private ObjectName getLogConfiguratorObjectName()
087: throws MalformedObjectNameException {
088: LinkedList path = new LinkedList();
089: path.addFirst(getDomainId());
090: path.addFirst("portalLogConfigHostBridge");
091: return AdminClientUtil.getResourceMBeanObjectName(
092: PORTAL_LOG_OBJECT_NAME, path);
093: }
094:
095: public Hashtable getCommonLogDetails(String component,
096: String componentID, String instance)
097: throws MalformedObjectNameException, ReflectionException,
098: IOException, InstanceNotFoundException, MBeanException {
099: ObjectName objName = getLogConfiguratorObjectName();
100: Object[] params = new Object[] { component, componentID,
101: instance };
102: String[] signature = new String[] { "java.lang.String",
103: "java.lang.String", "java.lang.String" };
104: return (Hashtable) getMBeanServerConnection().invoke(objName,
105: "getCommonLogDetails", params, signature);
106: }
107:
108: public void setCommonLogDetails(String component,
109: String componentID, String instance, Hashtable values)
110: throws MalformedObjectNameException, ReflectionException,
111: IOException, InstanceNotFoundException, MBeanException {
112: ObjectName objName = getLogConfiguratorObjectName();
113: Object[] params = new Object[] { component, componentID,
114: instance, values };
115: String[] signature = new String[] { "java.lang.String",
116: "java.lang.String", "java.lang.String",
117: "java.util.Hashtable" };
118: getMBeanServerConnection().invoke(objName,
119: "setCommonLogDetails", params, signature);
120: }
121:
122: public List getLoggerDetails(String component, String componentID,
123: String instance) throws MalformedObjectNameException,
124: ReflectionException, IOException,
125: InstanceNotFoundException, MBeanException {
126: ObjectName objName = getLogConfiguratorObjectName();
127: Object[] params = new Object[] { component, componentID,
128: instance };
129: String[] signature = new String[] { "java.lang.String",
130: "java.lang.String", "java.lang.String" };
131: return (List) getMBeanServerConnection().invoke(objName,
132: "getSpecificLogDetails", params, signature);
133:
134: }
135:
136: public void setLoggerDetails(String component, String componentID,
137: String instance, List list)
138: throws MalformedObjectNameException, ReflectionException,
139: IOException, InstanceNotFoundException, MBeanException {
140: ObjectName objName = getLogConfiguratorObjectName();
141: Object[] params = new Object[] { component, componentID,
142: instance, list };
143: String[] signature = new String[] { "java.lang.String",
144: "java.lang.String", "java.lang.String",
145: "java.util.List" };
146: getMBeanServerConnection().invoke(objName,
147: "setSpecificLogDetails", params, signature);
148: }
149:
150: public Hashtable getLogFileNames(String component,
151: String componentID, String instance)
152: throws MalformedObjectNameException, ReflectionException,
153: IOException, InstanceNotFoundException, MBeanException {
154: ObjectName objName = getLogConfiguratorObjectName();
155:
156: Object[] params = new Object[] { component, componentID,
157: instance };
158:
159: String[] signature = new String[] { "java.lang.String",
160: "java.lang.String", "java.lang.String" };
161:
162: return (Hashtable) getMBeanServerConnection().invoke(objName,
163: "getLogFileNames", params, signature);
164: }
165:
166: public Hashtable getLogRecords(String component,
167: String componentID, String instance,
168: Hashtable logViewerInputs)
169: throws MalformedObjectNameException, ReflectionException,
170: IOException, InstanceNotFoundException, MBeanException {
171: ObjectName objName = getLogConfiguratorObjectName();
172:
173: Object[] params = new Object[] { component, componentID,
174: instance, logViewerInputs };
175:
176: String[] signature = new String[] { "java.lang.String",
177: "java.lang.String", "java.lang.String",
178: "java.util.Hashtable" };
179:
180: return (Hashtable) getMBeanServerConnection().invoke(objName,
181: "getLogRecords", params, signature);
182: }
183:
184: public Hashtable getLoggerDetails(String component,
185: String componentID, String instance, String LoggerName)
186: throws MalformedObjectNameException, ReflectionException,
187: IOException, InstanceNotFoundException, MBeanException {
188: ObjectName objName = getLogConfiguratorObjectName();
189: Object[] params = new Object[] { component, componentID,
190: instance, LoggerName };
191: String[] signature = new String[] { "java.lang.String",
192: "java.lang.String", "java.lang.String",
193: "java.lang.String" };
194: return (Hashtable) getMBeanServerConnection().invoke(objName,
195: "getLoggerDetails", params, signature);
196: }
197: }
|