Source Code Cross Referenced for WebApplicationUnmarshaller.java in  » Portal » uPortal_rel-2-6-1-GA » org » jasig » portal » container » binding » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Portal » uPortal_rel 2 6 1 GA » org.jasig.portal.container.binding 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001:        /* Copyright 2004 The JA-SIG Collaborative.  All rights reserved.
002:         *  See license distributed with this file and
003:         *  available online at http://www.uportal.org/license.html
004:         */
005:
006:        package org.jasig.portal.container.binding;
007:
008:        import java.io.IOException;
009:        import java.io.InputStream;
010:        import java.util.Locale;
011:
012:        import org.apache.pluto.om.common.DescriptionSet;
013:        import org.apache.pluto.om.common.DisplayNameSet;
014:        import org.apache.pluto.om.common.ParameterSet;
015:        import org.apache.pluto.om.common.SecurityRoleSet;
016:        import org.apache.pluto.om.servlet.ServletDefinitionList;
017:        import org.apache.pluto.om.servlet.WebApplicationDefinition;
018:        import org.jasig.portal.container.deploy.WebAppDtdResolver;
019:        import org.jasig.portal.container.om.common.DescriptionSetImpl;
020:        import org.jasig.portal.container.om.common.DisplayNameSetImpl;
021:        import org.jasig.portal.container.om.common.ParameterImpl;
022:        import org.jasig.portal.container.om.common.ParameterSetImpl;
023:        import org.jasig.portal.container.om.common.SecurityRoleImpl;
024:        import org.jasig.portal.container.om.common.SecurityRoleRefImpl;
025:        import org.jasig.portal.container.om.common.SecurityRoleRefSetImpl;
026:        import org.jasig.portal.container.om.common.SecurityRoleSetImpl;
027:        import org.jasig.portal.container.om.servlet.AuthConstraintImpl;
028:        import org.jasig.portal.container.om.servlet.DistributableImpl;
029:        import org.jasig.portal.container.om.servlet.EjbLocalRefImpl;
030:        import org.jasig.portal.container.om.servlet.EjbRefImpl;
031:        import org.jasig.portal.container.om.servlet.EnvEntryImpl;
032:        import org.jasig.portal.container.om.servlet.ErrorPageImpl;
033:        import org.jasig.portal.container.om.servlet.FilterImpl;
034:        import org.jasig.portal.container.om.servlet.FilterMappingImpl;
035:        import org.jasig.portal.container.om.servlet.FormLoginConfigImpl;
036:        import org.jasig.portal.container.om.servlet.IconImpl;
037:        import org.jasig.portal.container.om.servlet.ListenerImpl;
038:        import org.jasig.portal.container.om.servlet.LoginConfigImpl;
039:        import org.jasig.portal.container.om.servlet.MimeMappingImpl;
040:        import org.jasig.portal.container.om.servlet.ResourceEnvRefImpl;
041:        import org.jasig.portal.container.om.servlet.ResourceRefImpl;
042:        import org.jasig.portal.container.om.servlet.RunAsImpl;
043:        import org.jasig.portal.container.om.servlet.SecurityConstraintImpl;
044:        import org.jasig.portal.container.om.servlet.ServletDefinitionImpl;
045:        import org.jasig.portal.container.om.servlet.ServletDefinitionListImpl;
046:        import org.jasig.portal.container.om.servlet.ServletMappingImpl;
047:        import org.jasig.portal.container.om.servlet.ServletMappingListImpl;
048:        import org.jasig.portal.container.om.servlet.SessionConfigImpl;
049:        import org.jasig.portal.container.om.servlet.TagLibImpl;
050:        import org.jasig.portal.container.om.servlet.TagLibListImpl;
051:        import org.jasig.portal.container.om.servlet.UserDataConstraintImpl;
052:        import org.jasig.portal.container.om.servlet.WebApplicationDefinitionImpl;
053:        import org.jasig.portal.container.om.servlet.WebResourceCollectionImpl;
054:        import org.jasig.portal.container.om.servlet.WelcomeFileListImpl;
055:        import org.jasig.portal.utils.DocumentFactory;
056:        import org.jasig.portal.utils.XML;
057:        import org.w3c.dom.Document;
058:        import org.w3c.dom.Element;
059:        import org.w3c.dom.NodeList;
060:        import org.xml.sax.EntityResolver;
061:        import org.xml.sax.SAXException;
062:
063:        /**
064:         * Parses a <code>web.xml</code> file and produces data structures.
065:         * @author Ken Weiner, kweiner@unicon.net
066:         * @version $Revision: 34757 $
067:         */
068:        public class WebApplicationUnmarshaller {
069:
070:            private InputStream inputStream;
071:            private String contextName;
072:            private Document doc; // Might want to consider SAX instead of DOM parsing
073:            private WebApplicationDefinitionImpl webApplicationDefinition;
074:            private static EntityResolver webAppDtdResolver;
075:
076:            public WebApplicationUnmarshaller() {
077:                this .webApplicationDefinition = new WebApplicationDefinitionImpl();
078:                webAppDtdResolver = new WebAppDtdResolver();
079:            }
080:
081:            /**
082:             * Initializer that takes an input stream to the <code>web.xml</code> file as well
083:             * as the context name of the portlet application.
084:             * @param inputStream an input stream to the contents of the <code>web.xml</code> file
085:             * @param contextName the context name of the portlet application
086:             * @throws IOException
087:             * @throws SAXException
088:             */
089:            public void init(InputStream inputStream, String contextName)
090:                    throws IOException, SAXException {
091:                this .inputStream = inputStream;
092:                this .doc = DocumentFactory.getDocumentFromStream(inputStream,
093:                        webAppDtdResolver);
094:                this .contextName = contextName;
095:            }
096:
097:            /**
098:             * Returns a WebApplicationDefinition object that was populated with data 
099:             * from the <code>web.xml</code> file.
100:             * @return the web application definition
101:             */
102:            public WebApplicationDefinition getWebApplicationDefinition() {
103:                Element webAppE = doc.getDocumentElement();
104:                webApplicationDefinition.setId(contextName);
105:                webApplicationDefinition.setContextRoot("/" + contextName);
106:                webApplicationDefinition.setIcon(getIcon(webAppE));
107:                webApplicationDefinition
108:                        .setDisplayNames(getDisplayNames(webAppE));
109:                webApplicationDefinition
110:                        .setDescriptions(getDescriptions(webAppE));
111:                webApplicationDefinition
112:                        .setDistributable(getDistributable(webAppE));
113:                webApplicationDefinition.setInitParameterSet(getParameters(
114:                        webAppE, "context-param"));
115:                webApplicationDefinition.setFilters(getFilters(webAppE));
116:                webApplicationDefinition
117:                        .setFilterMappings(getFilterMappings(webAppE));
118:                webApplicationDefinition.setListeners(getListeners(webAppE));
119:                webApplicationDefinition
120:                        .setServletDefinitionList(getServletDefinitions(webAppE));
121:                webApplicationDefinition
122:                        .setServletMappings(getServletMappings(webAppE));
123:                webApplicationDefinition
124:                        .setSessionConfig(getSessionConfig(webAppE));
125:                webApplicationDefinition
126:                        .setMimeMappings(getMimeMappings(webAppE));
127:                webApplicationDefinition
128:                        .setWelcomeFiles(getWelcomeFiles(webAppE));
129:                webApplicationDefinition.setErrorPages(getErrorPages(webAppE));
130:                webApplicationDefinition.setTagLibs(getTagLibs(webAppE));
131:                webApplicationDefinition
132:                        .setResourceEnvRefs(getResourceEnvRefs(webAppE));
133:                webApplicationDefinition
134:                        .setResourceRefs(getResourceRefs(webAppE));
135:                webApplicationDefinition
136:                        .setSecurityConstraints(getSecurityConstraints(webAppE));
137:                webApplicationDefinition
138:                        .setLoginConfig(getLoginConfig(webAppE));
139:                webApplicationDefinition
140:                        .setSecurityRoles(getSecurityRoles(webAppE));
141:                webApplicationDefinition.setEnvEntries(getEnvEntries(webAppE));
142:                webApplicationDefinition.setEjbRefs(getEjbRefs(webAppE));
143:                webApplicationDefinition
144:                        .setEjbLocalRefs(getEjbLocalRefs(webAppE));
145:                return webApplicationDefinition;
146:            }
147:
148:            private ServletDefinitionList getServletDefinitions(Element webAppE) {
149:                ServletDefinitionListImpl servletDefinitions = new ServletDefinitionListImpl();
150:
151:                NodeList servletNL = webAppE.getElementsByTagName("servlet");
152:                for (int i = 0; i < servletNL.getLength(); i++) {
153:                    Element servletE = (Element) servletNL.item(i);
154:                    ServletDefinitionImpl servletDefinition = new ServletDefinitionImpl();
155:                    servletDefinition.setIcon(getIcon(servletE));
156:                    servletDefinition.setServletName(XML.getChildElementText(
157:                            servletE, "servlet-name"));
158:                    servletDefinition
159:                            .setDisplayNames(getDisplayNames(servletE));
160:                    servletDefinition
161:                            .setDescriptions(getDescriptions(servletE));
162:                    servletDefinition.setServletClass(XML.getChildElementText(
163:                            servletE, "servlet-class"));
164:                    servletDefinition.setJspFile(XML.getChildElementText(
165:                            servletE, "jsp-file"));
166:                    servletDefinition.setInitParameters(getParameters(servletE,
167:                            "init-param"));
168:                    servletDefinition.setLoadOnStartup(XML.getChildElementText(
169:                            servletE, "load-on-startup"));
170:
171:                    // Add run as
172:                    NodeList runAsNL = servletE.getElementsByTagName("run-as");
173:                    if (runAsNL.getLength() > 0) {
174:                        Element runAsE = (Element) runAsNL.item(0);
175:                        RunAsImpl runAs = new RunAsImpl();
176:                        runAs.setRoleName(XML.getChildElementText(runAsE,
177:                                "role-name"));
178:                        runAs.setDescriptions(getDescriptions(runAsE));
179:                        servletDefinition.setRunAs(runAs);
180:                    }
181:
182:                    // Add servlet security role refs
183:                    SecurityRoleRefSetImpl securityRoleRefs = new SecurityRoleRefSetImpl();
184:                    NodeList securityRoleRefNL = servletE
185:                            .getElementsByTagName("security-role-ref");
186:                    for (int m = 0; m < securityRoleRefNL.getLength(); m += 1) {
187:                        Element securityRoleRefE = (Element) securityRoleRefNL
188:                                .item(m);
189:                        String roleName = XML.getChildElementText(
190:                                securityRoleRefE, "role-name");
191:                        String roleLink = XML.getChildElementText(
192:                                securityRoleRefE, "role-link");
193:                        String description = XML.getChildElementText(
194:                                securityRoleRefE, "description");
195:                        SecurityRoleRefImpl securityRoleRef = new SecurityRoleRefImpl();
196:                        securityRoleRef.setDescription(description);
197:                        securityRoleRef.setRoleName(roleName);
198:                        securityRoleRef.setRoleLink(roleLink);
199:                        securityRoleRefs.add(securityRoleRef);
200:                    }
201:                    servletDefinition.setSecurityRoleRefs(securityRoleRefs);
202:
203:                    // Add servlet mappings for this servlet
204:                    NodeList servletMappingNL = webAppE
205:                            .getElementsByTagName("servlet-mapping");
206:                    for (int k = 0; k < servletMappingNL.getLength(); k += 1) {
207:                        Element servletMappingE = (Element) servletMappingNL
208:                                .item(k);
209:                        String servletMappingName = XML.getChildElementText(
210:                                servletMappingE, "servlet-name");
211:                        String servletMappingUrlPattern = XML
212:                                .getChildElementText(servletMappingE,
213:                                        "url-pattern");
214:                        if (servletMappingName.equals(servletDefinition
215:                                .getServletName())) {
216:                            servletDefinition.setServletMapping(
217:                                    servletMappingName,
218:                                    servletMappingUrlPattern);
219:                            break;
220:                        }
221:                    }
222:
223:                    servletDefinition
224:                            .setWebApplicationDefinition(webApplicationDefinition);
225:                    servletDefinitions.add(servletDefinition);
226:                }
227:
228:                return servletDefinitions;
229:            }
230:
231:            private IconImpl getIcon(Element e) {
232:                IconImpl icon = null;
233:                NodeList iconNL = e.getElementsByTagName("icon");
234:                if (iconNL.getLength() > 0) {
235:                    icon = new IconImpl();
236:                    Element iconE = (Element) iconNL.item(0);
237:                    icon.setSmallIcon(XML.getChildElementText(iconE,
238:                            "small-icon"));
239:                    icon.setLargeIcon(XML.getChildElementText(iconE,
240:                            "large-icon"));
241:                }
242:                return icon;
243:            }
244:
245:            private DisplayNameSet getDisplayNames(Element e) {
246:                DisplayNameSetImpl displayNames = new DisplayNameSetImpl();
247:                NodeList displayNameNL = e.getElementsByTagName("display-name");
248:                for (int i = 0; i < displayNameNL.getLength(); i++) {
249:                    Element displayNameE = (Element) displayNameNL.item(i);
250:                    String displayName = XML.getElementText(displayNameE);
251:                    displayNames.add(displayName, Locale.getDefault());
252:                }
253:                return displayNames;
254:            }
255:
256:            private DescriptionSet getDescriptions(Element e) {
257:                DescriptionSetImpl descriptions = new DescriptionSetImpl();
258:                NodeList descriptionNL = e.getElementsByTagName("description");
259:                for (int i = 0; i < descriptionNL.getLength(); i++) {
260:                    Element descriptionE = (Element) descriptionNL.item(i);
261:                    String description = XML.getElementText(descriptionE);
262:                    descriptions.add(description, Locale.getDefault());
263:                }
264:                return descriptions;
265:            }
266:
267:            private DistributableImpl getDistributable(Element e) {
268:                DistributableImpl distributable = null;
269:                NodeList distributableNL = e
270:                        .getElementsByTagName("distributable");
271:                if (distributableNL.getLength() > 0) {
272:                    distributable = new DistributableImpl();
273:                }
274:                return distributable;
275:            }
276:
277:            private ParameterSet getParameters(Element e,
278:                    String paramElementName) {
279:                ParameterSetImpl parameters = new ParameterSetImpl();
280:                NodeList contextParamNL = e
281:                        .getElementsByTagName(paramElementName);
282:                for (int i = 0; i < contextParamNL.getLength(); i++) {
283:                    Element contextParamE = (Element) contextParamNL.item(i);
284:                    String paramName = XML.getChildElementText(contextParamE,
285:                            "param-name");
286:                    String paramValue = XML.getChildElementText(contextParamE,
287:                            "param-value");
288:                    String description = XML.getChildElementText(contextParamE,
289:                            "description");
290:                    ParameterImpl parameter = new ParameterImpl();
291:                    parameter.setName(paramName);
292:                    parameter.setValue(paramValue);
293:                    parameter.setDescriptionSet(getDescriptions(contextParamE));
294:                    parameters.add(parameter);
295:                }
296:                return parameters;
297:            }
298:
299:            private FilterImpl[] getFilters(Element e) {
300:                NodeList filterNL = e.getElementsByTagName("filter");
301:                FilterImpl[] filters = new FilterImpl[filterNL.getLength()];
302:                for (int i = 0; i < filterNL.getLength(); i++) {
303:                    Element filterE = (Element) filterNL.item(i);
304:                    IconImpl icon = getIcon(filterE);
305:                    String filterName = XML.getChildElementText(filterE,
306:                            "filter-name");
307:                    DisplayNameSet displayNames = getDisplayNames(filterE);
308:                    DescriptionSet descriptions = getDescriptions(filterE);
309:                    String filterClass = XML.getChildElementText(filterE,
310:                            "filter-class");
311:                    ParameterSet initParameters = getParameters(filterE,
312:                            "init-param");
313:                    FilterImpl filter = new FilterImpl();
314:                    filter.setIcon(icon);
315:                    filter.setFilterName(filterName);
316:                    filter.setDisplayNames(displayNames);
317:                    filter.setDescriptions(descriptions);
318:                    filter.setFilterClass(filterClass);
319:                    filter.setInitParamteters(initParameters);
320:                    filters[i] = filter;
321:                }
322:                return filters;
323:            }
324:
325:            private FilterMappingImpl[] getFilterMappings(Element e) {
326:                NodeList filterMappingNL = e
327:                        .getElementsByTagName("filter-mapping");
328:                FilterMappingImpl[] filterMappings = new FilterMappingImpl[filterMappingNL
329:                        .getLength()];
330:                for (int i = 0; i < filterMappingNL.getLength(); i++) {
331:                    Element filterMappingE = (Element) filterMappingNL.item(i);
332:                    String filterName = XML.getChildElementText(filterMappingE,
333:                            "filter-name");
334:                    String urlPattern = XML.getChildElementText(filterMappingE,
335:                            "url-pattern");
336:                    String servletName = XML.getChildElementText(
337:                            filterMappingE, "servlet-name");
338:                    FilterMappingImpl filterMapping = new FilterMappingImpl();
339:                    filterMapping.setFilterName(filterName);
340:                    filterMapping.setUrlPattern(urlPattern);
341:                    filterMapping.setServletName(servletName);
342:                    filterMappings[i] = filterMapping;
343:                }
344:                return filterMappings;
345:            }
346:
347:            private ListenerImpl[] getListeners(Element e) {
348:                NodeList listenerNL = e.getElementsByTagName("listener");
349:                ListenerImpl[] listeners = new ListenerImpl[listenerNL
350:                        .getLength()];
351:                for (int i = 0; i < listenerNL.getLength(); i++) {
352:                    Element listenerE = (Element) listenerNL.item(i);
353:                    String listenerClass = XML.getChildElementText(listenerE,
354:                            "listener-class");
355:                    ListenerImpl listener = new ListenerImpl();
356:                    listener.setListenerClass(listenerClass);
357:                    listeners[i] = listener;
358:                }
359:                return listeners;
360:            }
361:
362:            private ServletMappingListImpl getServletMappings(Element e) {
363:                ServletMappingListImpl servletMappings = new ServletMappingListImpl();
364:                NodeList servletMappingNL = e
365:                        .getElementsByTagName("servlet-mapping");
366:                for (int i = 0; i < servletMappingNL.getLength(); i++) {
367:                    Element servletMappingE = (Element) servletMappingNL
368:                            .item(i);
369:                    String servletName = XML.getChildElementText(
370:                            servletMappingE, "servlet-name");
371:                    String urlPattern = XML.getChildElementText(
372:                            servletMappingE, "url-pattern");
373:                    ServletMappingImpl servletMapping = new ServletMappingImpl();
374:                    servletMapping.setServletName(servletName);
375:                    servletMapping.setUrlPattern(urlPattern);
376:                    servletMappings.add(servletMapping);
377:                }
378:                return servletMappings;
379:            }
380:
381:            private SessionConfigImpl getSessionConfig(Element e) {
382:                SessionConfigImpl sessionConfig = null;
383:                NodeList sessionConfigNL = e
384:                        .getElementsByTagName("session-config");
385:                if (sessionConfigNL.getLength() > 0) {
386:                    sessionConfig = new SessionConfigImpl();
387:                    sessionConfig.setSessionTimeout(XML.getChildElementText(e,
388:                            "session-timeout"));
389:                }
390:                return sessionConfig;
391:            }
392:
393:            private MimeMappingImpl[] getMimeMappings(Element e) {
394:                NodeList mimeMappingNL = e.getElementsByTagName("mime-mapping");
395:                MimeMappingImpl[] mimeMappings = new MimeMappingImpl[mimeMappingNL
396:                        .getLength()];
397:                for (int i = 0; i < mimeMappingNL.getLength(); i++) {
398:                    Element mimeMappingE = (Element) mimeMappingNL.item(i);
399:                    String extension = XML.getChildElementText(mimeMappingE,
400:                            "extension");
401:                    String mimeType = XML.getChildElementText(mimeMappingE,
402:                            "mime-type");
403:                    MimeMappingImpl mimeMapping = new MimeMappingImpl();
404:                    mimeMapping.setExtension(extension);
405:                    mimeMapping.setMimeType(mimeType);
406:                    mimeMappings[i] = mimeMapping;
407:                }
408:                return mimeMappings;
409:            }
410:
411:            private WelcomeFileListImpl getWelcomeFiles(Element e) {
412:                WelcomeFileListImpl welcomeFileList = null;
413:                NodeList welcomeFileListNL = e
414:                        .getElementsByTagName("welcome-file-list");
415:                if (welcomeFileListNL.getLength() > 0) {
416:                    welcomeFileList = new WelcomeFileListImpl();
417:                    NodeList welcomeFileNL = e
418:                            .getElementsByTagName("welcome-file");
419:                    for (int i = 0; i < welcomeFileNL.getLength(); i++) {
420:                        Element welcomeFileE = (Element) welcomeFileNL.item(i);
421:                        welcomeFileList.add(XML.getElementText(welcomeFileE));
422:                    }
423:                }
424:                return welcomeFileList;
425:            }
426:
427:            private ErrorPageImpl[] getErrorPages(Element e) {
428:                NodeList errorPageNL = e.getElementsByTagName("error-page");
429:                ErrorPageImpl[] errorPages = new ErrorPageImpl[errorPageNL
430:                        .getLength()];
431:                for (int i = 0; i < errorPageNL.getLength(); i++) {
432:                    Element errorPageE = (Element) errorPageNL.item(i);
433:                    String errorCode = XML.getChildElementText(errorPageE,
434:                            "error-code");
435:                    String exceptionType = XML.getChildElementText(errorPageE,
436:                            "exception-type");
437:                    String location = XML.getChildElementText(errorPageE,
438:                            "location");
439:                    ErrorPageImpl errorPage = new ErrorPageImpl();
440:                    errorPage.setErrorCode(errorCode);
441:                    errorPage.setExceptionType(exceptionType);
442:                    errorPage.setLocation(location);
443:                    errorPages[i] = errorPage;
444:                }
445:                return errorPages;
446:            }
447:
448:            private TagLibListImpl getTagLibs(Element e) {
449:                TagLibListImpl tagLibs = new TagLibListImpl();
450:                NodeList tagLibNL = e.getElementsByTagName("taglib");
451:                for (int i = 0; i < tagLibNL.getLength(); i++) {
452:                    Element tagLibE = (Element) tagLibNL.item(i);
453:                    String tagLibUri = XML.getChildElementText(tagLibE,
454:                            "taglib-uri");
455:                    String tagLibLocation = XML.getChildElementText(tagLibE,
456:                            "taglib-location");
457:                    TagLibImpl tagLib = new TagLibImpl();
458:                    tagLib.setTaglibUri(tagLibUri);
459:                    tagLib.setTaglibLocation(tagLibLocation);
460:                    tagLibs.add(tagLib);
461:                }
462:                return tagLibs;
463:            }
464:
465:            private ResourceEnvRefImpl[] getResourceEnvRefs(Element e) {
466:                NodeList resourceEnvRefNL = e
467:                        .getElementsByTagName("resource-env-ref");
468:                ResourceEnvRefImpl[] resourceEnvRefs = new ResourceEnvRefImpl[resourceEnvRefNL
469:                        .getLength()];
470:                for (int i = 0; i < resourceEnvRefNL.getLength(); i++) {
471:                    Element resourceEnvRefE = (Element) resourceEnvRefNL
472:                            .item(i);
473:                    DescriptionSet descriptions = getDescriptions(resourceEnvRefE);
474:                    String resourceEnvRefName = XML.getChildElementText(
475:                            resourceEnvRefE, "resource-env-ref-name");
476:                    String resourceEnvRefType = XML.getChildElementText(
477:                            resourceEnvRefE, "resource-env-ref-type");
478:                    ResourceEnvRefImpl resourceEnvRef = new ResourceEnvRefImpl();
479:                    resourceEnvRef.setDescriptions(descriptions);
480:                    resourceEnvRef.setResourceEnvRefName(resourceEnvRefName);
481:                    resourceEnvRef.setResourceEnvRefType(resourceEnvRefType);
482:                    resourceEnvRefs[i] = resourceEnvRef;
483:                }
484:                return resourceEnvRefs;
485:            }
486:
487:            private ResourceRefImpl[] getResourceRefs(Element e) {
488:                NodeList resourceRefNL = e.getElementsByTagName("resource-ref");
489:                ResourceRefImpl[] resourceRefs = new ResourceRefImpl[resourceRefNL
490:                        .getLength()];
491:                for (int i = 0; i < resourceRefNL.getLength(); i++) {
492:                    Element resourceRefE = (Element) resourceRefNL.item(i);
493:                    DescriptionSet descriptions = getDescriptions(resourceRefE);
494:                    String resRefName = XML.getChildElementText(resourceRefE,
495:                            "res-ref-name");
496:                    String resType = XML.getChildElementText(resourceRefE,
497:                            "res-type");
498:                    String resAuth = XML.getChildElementText(resourceRefE,
499:                            "res-auth");
500:                    String resSharingScope = XML.getChildElementText(
501:                            resourceRefE, "res-sharing-scope");
502:                    ResourceRefImpl resourceRef = new ResourceRefImpl();
503:                    resourceRef.setDescriptions(descriptions);
504:                    resourceRef.setResRefName(resRefName);
505:                    resourceRef.setResType(resType);
506:                    resourceRef.setResAuth(resAuth);
507:                    resourceRef.setResSharingScope(resSharingScope);
508:                    resourceRefs[i] = resourceRef;
509:                }
510:                return resourceRefs;
511:            }
512:
513:            private SecurityConstraintImpl[] getSecurityConstraints(Element e) {
514:                NodeList securityConstraintNL = e
515:                        .getElementsByTagName("security-constraint");
516:                SecurityConstraintImpl[] securityConstraints = new SecurityConstraintImpl[securityConstraintNL
517:                        .getLength()];
518:                for (int i = 0; i < securityConstraintNL.getLength(); i++) {
519:                    SecurityConstraintImpl securityConstraint = new SecurityConstraintImpl();
520:                    Element securityConstraintE = (Element) securityConstraintNL
521:                            .item(i);
522:                    DisplayNameSet displayNames = getDisplayNames(securityConstraintE);
523:                    securityConstraint.setDisplayNames(displayNames);
524:                    NodeList webResourceCollectionNL = securityConstraintE
525:                            .getElementsByTagName("web-resource-collection");
526:                    WebResourceCollectionImpl[] webResourceCollections = new WebResourceCollectionImpl[webResourceCollectionNL
527:                            .getLength()];
528:                    for (int j = 0; j < webResourceCollectionNL.getLength(); j++) {
529:                        WebResourceCollectionImpl webResourceCollection = new WebResourceCollectionImpl();
530:                        Element webResourceCollectionE = (Element) webResourceCollectionNL
531:                                .item(j);
532:                        String webResourceName = XML.getChildElementText(
533:                                webResourceCollectionE, "web-resource-name");
534:                        DescriptionSet descriptions = getDescriptions(webResourceCollectionE);
535:                        NodeList urlPatternNL = webResourceCollectionE
536:                                .getElementsByTagName("url-pattern");
537:                        String[] urlPatterns = new String[urlPatternNL
538:                                .getLength()];
539:                        for (int k = 0; k < urlPatternNL.getLength(); k++) {
540:                            Element urlPatternE = (Element) urlPatternNL
541:                                    .item(k);
542:                            urlPatterns[k] = XML.getElementText(urlPatternE);
543:                        }
544:                        NodeList httpMethodNL = webResourceCollectionE
545:                                .getElementsByTagName("http-method");
546:                        String[] httpMethods = new String[httpMethodNL
547:                                .getLength()];
548:                        for (int k = 0; k < httpMethodNL.getLength(); k++) {
549:                            Element httpMethodE = (Element) httpMethodNL
550:                                    .item(k);
551:                            httpMethods[k] = XML.getElementText(httpMethodE);
552:                        }
553:                        webResourceCollection
554:                                .setWebResourceName(webResourceName);
555:                        webResourceCollection.setDescriptions(descriptions);
556:                        webResourceCollection.setUrlPatterns(urlPatterns);
557:                        webResourceCollection.setHttpMethods(httpMethods);
558:                        webResourceCollections[j] = webResourceCollection;
559:                    }
560:                    securityConstraint
561:                            .setWebResourceCollections(webResourceCollections);
562:                    NodeList authConstraintNL = securityConstraintE
563:                            .getElementsByTagName("auth-constraint");
564:                    if (authConstraintNL.getLength() > 0) {
565:                        Element authConstraintE = (Element) authConstraintNL
566:                                .item(0);
567:                        AuthConstraintImpl authConstraint = new AuthConstraintImpl();
568:                        DescriptionSet descriptions = getDescriptions(authConstraintE);
569:                        NodeList roleNameNL = authConstraintE
570:                                .getElementsByTagName("role-name");
571:                        String[] roleNames = new String[roleNameNL.getLength()];
572:                        for (int k = 0; k < roleNameNL.getLength(); k++) {
573:                            Element roleNameE = (Element) roleNameNL.item(k);
574:                            roleNames[k] = XML.getElementText(roleNameE);
575:                        }
576:                        authConstraint.setDescriptions(descriptions);
577:                        authConstraint.setRoleNames(roleNames);
578:                        securityConstraint.setAuthConstraint(authConstraint);
579:                    }
580:                    NodeList userDataConstraintNL = securityConstraintE
581:                            .getElementsByTagName("user-data-constraint");
582:                    if (userDataConstraintNL.getLength() > 0) {
583:                        Element userDataConstraintE = (Element) userDataConstraintNL
584:                                .item(0);
585:                        UserDataConstraintImpl userDataConstraint = new UserDataConstraintImpl();
586:                        DescriptionSet descriptions = getDescriptions(userDataConstraintE);
587:                        String transportGuarantee = XML.getChildElementText(
588:                                userDataConstraintE, "transport-guarantee");
589:                        userDataConstraint.setDescriptions(descriptions);
590:                        userDataConstraint
591:                                .setTransportGuarantee(transportGuarantee);
592:                        securityConstraint
593:                                .setUserDataConstraint(userDataConstraint);
594:                    }
595:                    securityConstraints[i] = securityConstraint;
596:                }
597:                return securityConstraints;
598:            }
599:
600:            private LoginConfigImpl getLoginConfig(Element e) {
601:                LoginConfigImpl loginConfig = null;
602:                NodeList loginConfigNL = e.getElementsByTagName("login-config");
603:                if (loginConfigNL.getLength() > 0) {
604:                    Element loginConfigE = (Element) loginConfigNL.item(0);
605:                    loginConfig = new LoginConfigImpl();
606:                    loginConfig.setAuthMethod(XML.getChildElementText(
607:                            loginConfigE, "auth-method"));
608:                    loginConfig.setRealmName(XML.getChildElementText(
609:                            loginConfigE, "realm-name"));
610:                    NodeList formLoginConfigNL = loginConfigE
611:                            .getElementsByTagName("form-login-config");
612:                    if (formLoginConfigNL.getLength() > 0) {
613:                        Element formLoginConfigE = (Element) formLoginConfigNL
614:                                .item(0);
615:                        FormLoginConfigImpl formLoginConfig = new FormLoginConfigImpl();
616:                        formLoginConfig.setFormLoginPage(XML
617:                                .getChildElementText(formLoginConfigE,
618:                                        "form-login-page"));
619:                        formLoginConfig.setFormErrorPage(XML
620:                                .getChildElementText(formLoginConfigE,
621:                                        "form-error-page"));
622:                        loginConfig.setFormLoginConfig(formLoginConfig);
623:                    }
624:                }
625:                return loginConfig;
626:            }
627:
628:            private SecurityRoleSet getSecurityRoles(Element e) {
629:                SecurityRoleSetImpl securityRoles = new SecurityRoleSetImpl();
630:                NodeList securityRoleNL = e
631:                        .getElementsByTagName("security-role");
632:                for (int i = 0; i < securityRoleNL.getLength(); i++) {
633:                    Element securityRoleE = (Element) securityRoleNL.item(i);
634:                    String roleName = XML.getChildElementText(securityRoleE,
635:                            "role-name");
636:                    String description = XML.getChildElementText(securityRoleE,
637:                            "description");
638:                    SecurityRoleImpl securityRole = new SecurityRoleImpl();
639:                    securityRole.setDescription(description);
640:                    securityRole.setRoleName(roleName);
641:                    securityRoles.add(securityRole);
642:                }
643:                return securityRoles;
644:            }
645:
646:            private EnvEntryImpl[] getEnvEntries(Element e) {
647:                NodeList envEntryNL = e.getElementsByTagName("env-entry");
648:                EnvEntryImpl[] envEntries = new EnvEntryImpl[envEntryNL
649:                        .getLength()];
650:                for (int i = 0; i < envEntryNL.getLength(); i++) {
651:                    Element envEntryE = (Element) envEntryNL.item(i);
652:                    EnvEntryImpl envEntry = new EnvEntryImpl();
653:                    envEntry.setDescriptions(getDescriptions(envEntryE));
654:                    envEntry.setEnvEntryName(XML.getChildElementText(envEntryE,
655:                            "env-entry-name"));
656:                    envEntry.setEnvEntryValue(XML.getChildElementText(
657:                            envEntryE, "env-entry-value"));
658:                    envEntry.setEnvEntryType(XML.getChildElementText(envEntryE,
659:                            "env-entry-type"));
660:                    envEntries[i] = envEntry;
661:                }
662:                return envEntries;
663:            }
664:
665:            private EjbRefImpl[] getEjbRefs(Element e) {
666:                NodeList ejbRefNL = e.getElementsByTagName("ejb-ref");
667:                EjbRefImpl[] ejbRefs = new EjbRefImpl[ejbRefNL.getLength()];
668:                for (int i = 0; i < ejbRefNL.getLength(); i++) {
669:                    Element ejbRefE = (Element) ejbRefNL.item(i);
670:                    EjbRefImpl ejbRef = new EjbRefImpl();
671:                    ejbRef.setDescriptions(getDescriptions(ejbRefE));
672:                    ejbRef.setEjbRefName(XML.getChildElementText(ejbRefE,
673:                            "ejb-ref-name"));
674:                    ejbRef.setEjbRefType(XML.getChildElementText(ejbRefE,
675:                            "ejb-ref-type"));
676:                    ejbRef.setHome(XML.getChildElementText(ejbRefE, "home"));
677:                    ejbRef
678:                            .setRemote(XML.getChildElementText(ejbRefE,
679:                                    "remote"));
680:                    ejbRef.setEjbLink(XML.getChildElementText(ejbRefE,
681:                            "ejb-link"));
682:                    ejbRefs[i] = ejbRef;
683:                }
684:                return ejbRefs;
685:            }
686:
687:            private EjbLocalRefImpl[] getEjbLocalRefs(Element e) {
688:                NodeList ejbRefNL = e.getElementsByTagName("ejb-local-ref");
689:                EjbLocalRefImpl[] ejbLocalRefs = new EjbLocalRefImpl[ejbRefNL
690:                        .getLength()];
691:                for (int i = 0; i < ejbRefNL.getLength(); i++) {
692:                    Element ejbLocalRefE = (Element) ejbRefNL.item(i);
693:                    EjbLocalRefImpl ejbLocalRef = new EjbLocalRefImpl();
694:                    ejbLocalRef.setDescriptions(getDescriptions(ejbLocalRefE));
695:                    ejbLocalRef.setEjbRefName(XML.getChildElementText(
696:                            ejbLocalRefE, "ejb-ref-name"));
697:                    ejbLocalRef.setEjbRefType(XML.getChildElementText(
698:                            ejbLocalRefE, "ejb-ref-type"));
699:                    ejbLocalRef.setLocalHome(XML.getChildElementText(
700:                            ejbLocalRefE, "local-home"));
701:                    ejbLocalRef.setLocal(XML.getChildElementText(ejbLocalRefE,
702:                            "local"));
703:                    ejbLocalRef.setEjbLink(XML.getChildElementText(
704:                            ejbLocalRefE, "ejb-link"));
705:                    ejbLocalRefs[i] = ejbLocalRef;
706:                }
707:                return ejbLocalRefs;
708:            }
709:
710:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.