001: /**
002: *
003: * Licensed to the Apache Software Foundation (ASF) under one or more
004: * contributor license agreements. See the NOTICE file distributed with
005: * this work for additional information regarding copyright ownership.
006: * The ASF licenses this file to You under the Apache License, Version 2.0
007: * (the "License"); you may not use this file except in compliance with
008: * the License. You may obtain a copy of the License at
009: *
010: * http://www.apache.org/licenses/LICENSE-2.0
011: *
012: * Unless required by applicable law or agreed to in writing, software
013: * distributed under the License is distributed on an "AS IS" BASIS,
014: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015: * See the License for the specific language governing permissions and
016: * limitations under the License.
017: */package org.apache.openejb.config;
018:
019: import org.apache.openejb.assembler.classic.OpenEjbConfiguration;
020: import org.apache.openejb.assembler.classic.EnterpriseBeanInfo;
021: import org.apache.openejb.assembler.classic.MethodInfo;
022: import org.apache.openejb.assembler.classic.MethodTransactionInfo;
023: import org.apache.openejb.assembler.classic.MethodPermissionInfo;
024: import org.apache.openejb.assembler.classic.EnvEntryInfo;
025: import org.apache.openejb.assembler.classic.EjbReferenceInfo;
026: import org.apache.openejb.assembler.classic.ResourceReferenceInfo;
027: import org.apache.openejb.assembler.classic.JndiEncInfo;
028: import org.apache.openejb.assembler.classic.SecurityRoleInfo;
029: import org.apache.openejb.assembler.classic.ContainerInfo;
030: import org.apache.openejb.assembler.classic.AppInfo;
031: import org.apache.openejb.assembler.classic.EjbJarInfo;
032:
033: import java.util.ListIterator;
034:
035: /**
036: * @version $Revision: 500061 $ $Date: 2007-01-25 15:47:53 -0800 $
037: */
038: public class ConfigurationPrinter {
039:
040: public static String[] tabs = { "", " ", " ", " ",
041: " ", " " };
042:
043: public static void printConf(OpenEjbConfiguration conf) {
044: out(0, "CONFIGURATION");
045:
046: out(1, conf.containerSystem.containers.size());
047: for (ContainerInfo container : conf.containerSystem.containers) {
048: out(1, "className ", container.className);
049: out(1, "codebase ", container.codebase);
050: out(1, "containerName", container.id);
051: out(1, "description ", container.description);
052: out(1, "displayName ", container.displayName);
053: out(1, "properties ");
054: container.properties.list(System.out);
055: }
056:
057: for (AppInfo app : conf.containerSystem.applications) {
058: for (EjbJarInfo ejbJar : app.ejbJars) {
059: out(1, "ejbeans ", ejbJar.enterpriseBeans.size());
060: for (EnterpriseBeanInfo bean : ejbJar.enterpriseBeans) {
061: out(2, "codebase ", bean.codebase);
062: out(2, "description ", bean.description);
063: out(2, "displayName ", bean.displayName);
064: out(2, "ejbClass ", bean.ejbClass);
065: out(2, "ejbDeploymentId", bean.ejbDeploymentId);
066: out(2, "ejbName ", bean.ejbName);
067: out(2, "home ", bean.home);
068: out(2, "largeIcon ", bean.largeIcon);
069: out(2, "remote ", bean.remote);
070: out(2, "smallIcon ", bean.smallIcon);
071: out(2, "transactionType", bean.transactionType);
072: out(2, "type ", bean.type);
073:
074: JndiEncInfo jndiEnc = bean.jndiEnc;
075: out(2, "jndiEnc ", jndiEnc);
076: out(2, "envEntries ", jndiEnc.envEntries.size());
077: for (ListIterator<EnvEntryInfo> iterator = jndiEnc.envEntries
078: .listIterator(); iterator.hasNext();) {
079: EnvEntryInfo envEntry = iterator.next();
080: out(3, "--[" + iterator.previousIndex()
081: + "]----------------------");
082: out(3, "name ", envEntry.name);
083: out(3, "type ", envEntry.type);
084: out(3, "value ", envEntry.value);
085: }
086: out(2, "ejbReferences ", jndiEnc.ejbReferences
087: .size());
088: for (ListIterator<EjbReferenceInfo> iterator = jndiEnc.ejbReferences
089: .listIterator(); iterator.hasNext();) {
090: EjbReferenceInfo ejbReference = iterator.next();
091: out(3, "--[" + iterator.previousIndex()
092: + "]----------------------");
093: out(3, "homeType ",
094: ejbReference.homeType);
095: out(3, "referenceName ",
096: ejbReference.referenceName);
097: out(3, "ejbDeploymentId ",
098: ejbReference.ejbDeploymentId);
099: if (ejbReference.location != null) {
100: out(3, "location ",
101: ejbReference.location);
102: out(
103: 3,
104: "jndiContextId ",
105: ejbReference.location.jndiProviderId);
106: out(3, "remoteRefName ",
107: ejbReference.location.jndiName);
108: }
109: }
110: out(2, "resourceRefs ", jndiEnc.resourceRefs
111: .size());
112: for (ListIterator<ResourceReferenceInfo> iterator = jndiEnc.resourceRefs
113: .listIterator(); iterator.hasNext();) {
114: ResourceReferenceInfo resourceRef = iterator
115: .next();
116: out(3, "--[" + iterator.previousIndex()
117: + "]----------------------");
118: out(3, "referenceAuth ",
119: resourceRef.referenceAuth);
120: out(3, "referenceName ",
121: resourceRef.referenceName);
122: out(3, "referenceType ",
123: resourceRef.referenceType);
124: if (resourceRef.location != null) {
125: out(3, "location ",
126: resourceRef.location);
127: out(3, "jndiContextId ",
128: resourceRef.location.jndiName);
129: out(3, "remoteRefName ",
130: resourceRef.location.jndiProviderId);
131: }
132: }
133: }
134:
135: if (!ejbJar.securityRoles.isEmpty()) {
136: out(0, "--Security Roles------------");
137: for (ListIterator<SecurityRoleInfo> iterator = ejbJar.securityRoles
138: .listIterator(); iterator.hasNext();) {
139: SecurityRoleInfo securityRole = iterator.next();
140: out(1, "--[" + iterator.previousIndex()
141: + "]----------------------");
142: out(1, " ", securityRole);
143: out(1, "description ", securityRole.description);
144: out(1, "roleName ", securityRole.roleName);
145: }
146: }
147:
148: if (!ejbJar.methodPermissions.isEmpty()) {
149: out(0, "--Method Permissions--------");
150: for (ListIterator<MethodPermissionInfo> iterator = ejbJar.methodPermissions
151: .listIterator(); iterator.hasNext();) {
152: MethodPermissionInfo methodPermission = iterator
153: .next();
154:
155: out(1, "--[" + iterator.previousIndex()
156: + "]----------------------");
157: out(1, " ", methodPermission);
158: out(1, "description ",
159: methodPermission.description);
160: out(1, "roleNames ",
161: methodPermission.roleNames);
162: if (methodPermission.roleNames != null) {
163: for (ListIterator<String> roleNameIterator = methodPermission.roleNames
164: .listIterator(); roleNameIterator
165: .hasNext();) {
166: String roleName = roleNameIterator
167: .next();
168: out(1, "roleName["
169: + roleNameIterator
170: .previousIndex()
171: + "] ", roleName);
172: }
173: }
174: out(1, "methods ", methodPermission.methods);
175: if (methodPermission.methods != null) {
176: for (MethodInfo methodInfo : methodPermission.methods) {
177: out(2, "description ",
178: methodInfo.description);
179: out(2, "ejbDeploymentId",
180: methodInfo.ejbDeploymentId);
181: out(2, "methodIntf ",
182: methodInfo.methodIntf);
183: out(2, "methodName ",
184: methodInfo.methodName);
185: if (methodInfo.methodParams != null) {
186: out(2, "methodParams ",
187: methodInfo.methodParams);
188: for (ListIterator<String> paramIterator = methodInfo.methodParams
189: .listIterator(); paramIterator
190: .hasNext();) {
191: String methodParam = paramIterator
192: .next();
193: out(
194: 3,
195: "param["
196: + paramIterator
197: .previousIndex()
198: + "]",
199: methodParam);
200: }
201: }
202: }
203: }
204: }
205: }
206:
207: if (!ejbJar.methodTransactions.isEmpty()) {
208: out(0, "--Method Transactions-------");
209:
210: for (ListIterator<MethodTransactionInfo> iterator = ejbJar.methodTransactions
211: .listIterator(); iterator.hasNext();) {
212: MethodTransactionInfo methodTransaction = iterator
213: .next();
214:
215: out(1, "--[" + iterator.previousIndex()
216: + "]----------------------");
217: out(1, " ", methodTransaction);
218: out(1, "description ",
219: methodTransaction.description);
220: out(1, "transAttribute ",
221: methodTransaction.transAttribute);
222: out(1, "methods ",
223: methodTransaction.methods);
224: for (MethodInfo methodInfo : methodTransaction.methods) {
225: out(2, "description ",
226: methodInfo.description);
227: out(2, "ejbDeploymentId",
228: methodInfo.ejbDeploymentId);
229: out(2, "methodIntf ",
230: methodInfo.methodIntf);
231: out(2, "methodName ",
232: methodInfo.methodName);
233: if (methodInfo.methodParams != null) {
234: out(2, "methodParams ",
235: methodInfo.methodParams);
236: for (ListIterator<String> paramIterator = methodInfo.methodParams
237: .listIterator(); paramIterator
238: .hasNext();) {
239: String methodParam = paramIterator
240: .next();
241: out(3, "param["
242: + paramIterator
243: .previousIndex()
244: + "]", methodParam);
245: }
246: }
247: }
248: }
249: }
250: }
251: }
252: }
253:
254: private static void out(int t, String m) {
255: System.out.println(tabs[t] + m);
256: }
257:
258: private static void out(int t, String m, String n) {
259: System.out.println(tabs[t] + m + " = " + n);
260: }
261:
262: private static void out(int t, String m, boolean n) {
263: System.out.println(tabs[t] + m + " = " + n);
264: }
265:
266: private static void out(int t, String m, int n) {
267: System.out.println(tabs[t] + m + " = " + n);
268: }
269:
270: private static void out(int t, String m, Object n) {
271: System.out.println(tabs[t] + m + " = " + n);
272: }
273:
274: private static void out(int t, int m) {
275: System.out.println(ConfigurationPrinter.tabs[t] + m);
276: }
277: }
|