01: /*
02: * Copyright 2001 Sun Microsystems, Inc. All rights reserved.
03: * PROPRIETARY/CONFIDENTIAL. Use of this product is subject to license terms.
04: */
05: package com.sun.portal.desktop.admin.mbeans.tasks;
06:
07: import java.util.Map;
08: import java.util.List;
09: import java.util.logging.Level;
10: import java.util.logging.Logger;
11:
12: import com.sun.portal.desktop.context.AdminDPContext;
13: import com.sun.portal.desktop.context.DPContext;
14:
15: import com.sun.portal.desktop.dp.DPRoot;
16: import com.sun.portal.desktop.dp.DPPropertyHolder;
17:
18: import com.sun.portal.desktop.dp.xml.XMLDPFactory;
19: import com.sun.portal.desktop.dp.xml.XMLDPRoot;
20:
21: import java.util.logging.Logger;
22: import java.util.logging.Level;
23:
24: public class DPAList {
25:
26: // XML DP Factory
27: XMLDPFactory dpf = XMLDPFactory.getInstance();
28:
29: public String process(AdminDPContext adc, String dn,
30: boolean global, String name, boolean verbose, Logger logger)
31: throws DPAException {
32:
33: if (verbose) {
34: Object[] tokens = { global ? DPAUtil
35: .getLocalizedString("msgGlobal") : dn };
36: logger.log(Level.INFO, "PSDT_CSPDAMT0001", tokens);
37: }
38:
39: String doc = null;
40: try {
41: if (!global) {
42: doc = adc.getDPDocument(dn);
43:
44: } else {
45: doc = adc.getGlobalDPDocument();
46:
47: }
48: if (doc == null || doc.length() == 0) {
49: return null;
50: }
51: if (name == null) {
52: return doc.toString();
53: }
54: } catch (Throwable ex) {
55: Object[] tokens = { global ? "<global>" : dn };
56: throw new DPAException("errorRetrieveDP", ex, tokens);
57: }
58:
59: if (verbose) {
60: Object[] tokens = { global ? DPAUtil
61: .getLocalizedString("msgGlobal") : dn };
62: logger.log(Level.INFO, "PSDT_CSPDAMT0002", tokens);
63: }
64: DPRoot dpr = null;
65: try {
66: dpr = dpf.createRoot(adc, doc);
67: } catch (Throwable ex) {
68: Object[] tokens = { global ? "<global>" : dn };
69: throw new DPAException("errorCreateDPRoot", ex, tokens);
70: }
71:
72: if (verbose) {
73: Object[] tokens = { name };
74: logger.log(Level.INFO, "PSDT_CSPDAMT0003", tokens);
75: }
76:
77: DPPropertyHolder ph = null;
78: try {
79: XMLDPRoot xdpr = (XMLDPRoot) dpr;
80: ph = xdpr.getChannelFromThis(name);
81: if (ph == null) {
82: ph = xdpr.getProviderFromThis(name);
83: }
84: } catch (Throwable ex) {
85: Object[] tokens = { name };
86: throw new DPAException("errorFindPropertyHolder", ex,
87: tokens);
88: }
89: if (ph != null) {
90: StringBuffer sb = new StringBuffer(256);
91: ph.toXML(sb, 0);
92: return sb.toString();
93: } else {
94: return null;
95: }
96: }
97:
98: }
|