/**
* This class was generated from a set of XML constraints
* by the Enhydra Zeus XML Data Binding Framework. All
* source code in this file is constructed specifically
* to work with other Zeus-generated classes. If you
* modify this file by hand, you run the risk of breaking
* this interoperation, as well as introducing errors in
* source code compilation.
*
* * * * * MODIFY THIS FILE AT YOUR OWN RISK * * * * *
*
* To find out more about the Enhydra Zeus framework, you
* can point your browser at <http://zeus.enhydra.org>
* where you can download releases, join and discuss Zeus
* on user and developer mailing lists, and access source
* code. Please report any bugs through that website.
*/
package javajaxb.generated.web;
// Global Implementation Import Statements
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.xml.sax.EntityResolver;
import org.xml.sax.ErrorHandler;
import org.xml.sax.InputSource;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.XMLReader;
import org.xml.sax.ext.LexicalHandler;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.XMLReaderFactory;
// Local Implementation Import Statements
import java.util.Iterator;
import java.util.List;
import java.util.LinkedList;
public class WebAppImpl extends DefaultHandler implements Unmarshallable, LexicalHandler, WebApp {
private Icon icon;
private String displayName;
private boolean zeus_DisplayNameSet;
private String description;
private boolean zeus_DescriptionSet;
private Distributable distributable;
private List contextParamList;
private List servletList;
private List servletMappingList;
private SessionConfig sessionConfig;
private List mimeMappingList;
private WelcomeFileList welcomeFileList;
private List errorPageList;
private List taglibList;
private List resourceRefList;
private List securityConstraintList;
private LoginConfig loginConfig;
private List securityRoleList;
private List envEntryList;
private List ejbRefList;
private String id;
private boolean zeus_IdSet;
/** Any DOCTYPE reference/statements. */
private String docTypeString;
/** The encoding for the output document */
private String outputEncoding;
/** The current node in unmarshalling */
private Unmarshallable zeus_currentUNode;
/** The parent node in unmarshalling */
private Unmarshallable zeus_parentUNode;
/** Whether this node has been handled */
private boolean zeus_thisNodeHandled = false;
/** Whether a DTD exists for an unmarshal call */
private boolean hasDTD;
/** Whether validation is occurring */
private boolean validate;
/** The namespace mappings on this element */
private Map namespaceMappings;
/** The EntityResolver for SAX parsing to use */
private static EntityResolver entityResolver;
/** The ErrorHandler for SAX parsing to use */
private static ErrorHandler errorHandler;
public WebAppImpl() {
zeus_DisplayNameSet = false;
zeus_DescriptionSet = false;
contextParamList = new LinkedList();
servletList = new LinkedList();
servletMappingList = new LinkedList();
mimeMappingList = new LinkedList();
errorPageList = new LinkedList();
taglibList = new LinkedList();
resourceRefList = new LinkedList();
securityConstraintList = new LinkedList();
securityRoleList = new LinkedList();
envEntryList = new LinkedList();
ejbRefList = new LinkedList();
zeus_IdSet = false;
docTypeString = "";
hasDTD = false;
validate = false;
namespaceMappings = new HashMap();
}
public Icon getIcon() {
return icon;
}
public void setIcon(Icon icon) {
this.icon = icon;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
zeus_DisplayNameSet = true;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
zeus_DescriptionSet = true;
}
public Distributable getDistributable() {
return distributable;
}
public void setDistributable(Distributable distributable) {
this.distributable = distributable;
}
public List getContextParamList() {
return contextParamList;
}
public void setContextParamList(List contextParamList) {
this.contextParamList = contextParamList;
}
public void addContextParam(ContextParam contextParam) {
contextParamList.add(contextParam);
}
public void removeContextParam(ContextParam contextParam) {
contextParamList.remove(contextParam);
}
public List getServletList() {
return servletList;
}
public void setServletList(List servletList) {
this.servletList = servletList;
}
public void addServlet(Servlet servlet) {
servletList.add(servlet);
}
public void removeServlet(Servlet servlet) {
servletList.remove(servlet);
}
public List getServletMappingList() {
return servletMappingList;
}
public void setServletMappingList(List servletMappingList) {
this.servletMappingList = servletMappingList;
}
public void addServletMapping(ServletMapping servletMapping) {
servletMappingList.add(servletMapping);
}
public void removeServletMapping(ServletMapping servletMapping) {
servletMappingList.remove(servletMapping);
}
public SessionConfig getSessionConfig() {
return sessionConfig;
}
public void setSessionConfig(SessionConfig sessionConfig) {
this.sessionConfig = sessionConfig;
}
public List getMimeMappingList() {
return mimeMappingList;
}
public void setMimeMappingList(List mimeMappingList) {
this.mimeMappingList = mimeMappingList;
}
public void addMimeMapping(MimeMapping mimeMapping) {
mimeMappingList.add(mimeMapping);
}
public void removeMimeMapping(MimeMapping mimeMapping) {
mimeMappingList.remove(mimeMapping);
}
public WelcomeFileList getWelcomeFileList() {
return welcomeFileList;
}
public void setWelcomeFileList(WelcomeFileList welcomeFileList) {
this.welcomeFileList = welcomeFileList;
}
public List getErrorPageList() {
return errorPageList;
}
public void setErrorPageList(List errorPageList) {
this.errorPageList = errorPageList;
}
public void addErrorPage(ErrorPage errorPage) {
errorPageList.add(errorPage);
}
public void removeErrorPage(ErrorPage errorPage) {
errorPageList.remove(errorPage);
}
public List getTaglibList() {
return taglibList;
}
public void setTaglibList(List taglibList) {
this.taglibList = taglibList;
}
public void addTaglib(Taglib taglib) {
taglibList.add(taglib);
}
public void removeTaglib(Taglib taglib) {
taglibList.remove(taglib);
}
public List getResourceRefList() {
return resourceRefList;
}
public void setResourceRefList(List resourceRefList) {
this.resourceRefList = resourceRefList;
}
public void addResourceRef(ResourceRef resourceRef) {
resourceRefList.add(resourceRef);
}
public void removeResourceRef(ResourceRef resourceRef) {
resourceRefList.remove(resourceRef);
}
public List getSecurityConstraintList() {
return securityConstraintList;
}
public void setSecurityConstraintList(List securityConstraintList) {
this.securityConstraintList = securityConstraintList;
}
public void addSecurityConstraint(SecurityConstraint securityConstraint) {
securityConstraintList.add(securityConstraint);
}
public void removeSecurityConstraint(SecurityConstraint securityConstraint) {
securityConstraintList.remove(securityConstraint);
}
public LoginConfig getLoginConfig() {
return loginConfig;
}
public void setLoginConfig(LoginConfig loginConfig) {
this.loginConfig = loginConfig;
}
public List getSecurityRoleList() {
return securityRoleList;
}
public void setSecurityRoleList(List securityRoleList) {
this.securityRoleList = securityRoleList;
}
public void addSecurityRole(SecurityRole securityRole) {
securityRoleList.add(securityRole);
}
public void removeSecurityRole(SecurityRole securityRole) {
securityRoleList.remove(securityRole);
}
public List getEnvEntryList() {
return envEntryList;
}
public void setEnvEntryList(List envEntryList) {
this.envEntryList = envEntryList;
}
public void addEnvEntry(EnvEntry envEntry) {
envEntryList.add(envEntry);
}
public void removeEnvEntry(EnvEntry envEntry) {
envEntryList.remove(envEntry);
}
public List getEjbRefList() {
return ejbRefList;
}
public void setEjbRefList(List ejbRefList) {
this.ejbRefList = ejbRefList;
}
public void addEjbRef(EjbRef ejbRef) {
ejbRefList.add(ejbRef);
}
public void removeEjbRef(EjbRef ejbRef) {
ejbRefList.remove(ejbRef);
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
zeus_IdSet = true;
}
public void setDocType(String name, String publicID, String systemID) {
try {
startDTD(name, publicID, systemID);
} catch (SAXException neverHappens) { }
}
public void setOutputEncoding(String outputEncoding) {
this.outputEncoding = outputEncoding;
}
public void marshal(File file) throws IOException {
// Delegate to the marshal(Writer) method
marshal(new FileWriter(file));
}
public void marshal(OutputStream outputStream) throws IOException {
// Delegate to the marshal(Writer) method
marshal(new OutputStreamWriter(outputStream));
}
public void marshal(Writer writer) throws IOException {
// Write out the XML declaration
writer.write("<?xml version=\"1.0\" ");
if (outputEncoding != null) {
writer.write("encoding=\"");
writer.write(outputEncoding);
writer.write("\"?>\n\n");
} else {
writer.write("encoding=\"UTF-8\"?>\n\n");
}
// Handle DOCTYPE declaration
writer.write(docTypeString);
writer.write("\n");
// Now start the recursive writing
writeXMLRepresentation(writer, "");
// Close up
writer.flush();
writer.close();
}
protected void writeXMLRepresentation(Writer writer,
String indent)
throws IOException {
writer.write(indent);
writer.write("<web-app");
// Handle namespace mappings (if needed)
for (Iterator i = namespaceMappings.keySet().iterator(); i.hasNext(); ) {
String prefix = (String)i.next();
String uri = (String)namespaceMappings.get(prefix);
writer.write(" xmlns");
if (!prefix.trim().equals("")) {
writer.write(":");
writer.write(prefix);
}
writer.write("=\"");
writer.write(uri);
writer.write("\"\n ");
}
// Handle attributes (if needed)
if (zeus_IdSet) {
writer.write(" id=\"");
writer.write(escapeAttributeValue(id));
writer.write("\"");
}
writer.write(">");
writer.write("\n");
// Handle child elements
if (icon != null) {
((IconImpl)icon).writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
if (displayName != null) {
writer.write(new StringBuffer(indent).append(" ").toString());
writer.write("<display-name>");
writer.write(this.displayName);
writer.write("</display-name>\n");
}
if (description != null) {
writer.write(new StringBuffer(indent).append(" ").toString());
writer.write("<description>");
writer.write(this.description);
writer.write("</description>\n");
}
if (distributable != null) {
((DistributableImpl)distributable).writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
for (Iterator i=contextParamList.iterator(); i.hasNext(); ) {
ContextParamImpl contextParam = (ContextParamImpl)i.next();
contextParam.writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
for (Iterator i=servletList.iterator(); i.hasNext(); ) {
ServletImpl servlet = (ServletImpl)i.next();
servlet.writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
for (Iterator i=servletMappingList.iterator(); i.hasNext(); ) {
ServletMappingImpl servletMapping = (ServletMappingImpl)i.next();
servletMapping.writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
if (sessionConfig != null) {
((SessionConfigImpl)sessionConfig).writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
for (Iterator i=mimeMappingList.iterator(); i.hasNext(); ) {
MimeMappingImpl mimeMapping = (MimeMappingImpl)i.next();
mimeMapping.writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
if (welcomeFileList != null) {
((WelcomeFileListImpl)welcomeFileList).writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
for (Iterator i=errorPageList.iterator(); i.hasNext(); ) {
ErrorPageImpl errorPage = (ErrorPageImpl)i.next();
errorPage.writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
for (Iterator i=taglibList.iterator(); i.hasNext(); ) {
TaglibImpl taglib = (TaglibImpl)i.next();
taglib.writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
for (Iterator i=resourceRefList.iterator(); i.hasNext(); ) {
ResourceRefImpl resourceRef = (ResourceRefImpl)i.next();
resourceRef.writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
for (Iterator i=securityConstraintList.iterator(); i.hasNext(); ) {
SecurityConstraintImpl securityConstraint = (SecurityConstraintImpl)i.next();
securityConstraint.writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
if (loginConfig != null) {
((LoginConfigImpl)loginConfig).writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
for (Iterator i=securityRoleList.iterator(); i.hasNext(); ) {
SecurityRoleImpl securityRole = (SecurityRoleImpl)i.next();
securityRole.writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
for (Iterator i=envEntryList.iterator(); i.hasNext(); ) {
EnvEntryImpl envEntry = (EnvEntryImpl)i.next();
envEntry.writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
for (Iterator i=ejbRefList.iterator(); i.hasNext(); ) {
EjbRefImpl ejbRef = (EjbRefImpl)i.next();
ejbRef.writeXMLRepresentation(writer,
new StringBuffer(indent).append(" ").toString());
}
writer.write(indent);
writer.write("</web-app>\n");
}
/** Indicates if we are in the displayName element */
private boolean zeus_inDisplayName = false;
/** Indicates if we are in the description element */
private boolean zeus_inDescription = false;
private String escapeAttributeValue(String attributeValue) {
String returnValue = attributeValue;
for (int i = 0; i < returnValue.length(); i++) {
char ch = returnValue.charAt(i);
if (ch == '"') {
returnValue = new StringBuffer()
.append(returnValue.substring(0, i))
.append(""")
.append(returnValue.substring(i+1))
.toString();
}
}
return returnValue;
}
private String escapeTextValue(String textValue) {
String returnValue = textValue;
for (int i = 0; i < returnValue.length(); i++) {
char ch = returnValue.charAt(i);
if (ch == '<') {
returnValue = new StringBuffer()
.append(returnValue.substring(0, i))
.append("<")
.append(returnValue.substring(i+1))
.toString();
} else if (ch == '>') {
returnValue = new StringBuffer()
.append(returnValue.substring(0, i))
.append(">")
.append(returnValue.substring(i+1))
.toString();
}
}
return returnValue;
}
/**
* <p>
* This sets a SAX <code>EntityResolver</code> for this unmarshalling process.
* </p>
*
* @param resolver the entity resolver to use.
*/
public static void setEntityResolver(EntityResolver resolver) {
entityResolver = resolver;
}
/**
* <p>
* This sets a SAX <code>ErrorHandler</code> for this unmarshalling process.
* </p>
*
* @param handler the entity resolver to use.
*/
public static void setErrorHandler(ErrorHandler handler) {
errorHandler = handler;
}
public static WebApp unmarshal(File file) throws IOException {
// Delegate to the unmarshal(Reader) method
return unmarshal(new FileReader(file));
}
public static WebApp unmarshal(File file, boolean validate) throws IOException {
// Delegate to the unmarshal(Reader) method
return unmarshal(new FileReader(file), validate);
}
public static WebApp unmarshal(InputStream inputStream) throws IOException {
// Delegate to the unmarshal(Reader) method
return unmarshal(new InputStreamReader(inputStream));
}
public static WebApp unmarshal(InputStream inputStream, boolean validate) throws IOException {
// Delegate to the unmarshal(Reader) method
return unmarshal(new InputStreamReader(inputStream), validate);
}
public static WebApp unmarshal(Reader reader) throws IOException {
// Delegate with default validation value
return unmarshal(reader, false);
}
public static WebApp unmarshal(Reader reader, boolean validate) throws IOException {
WebAppImpl webApp = new WebAppImpl();
webApp.setValidating(validate);
webApp.setCurrentUNode(webApp);
webApp.setParentUNode(null);
// Load the XML parser
XMLReader parser = null;
String parserClass = System.getProperty("org.xml.sax.driver",
"org.apache.xerces.parsers.SAXParser");
try {
parser = XMLReaderFactory.createXMLReader(parserClass);
// Set entity resolver, if needed
if (entityResolver != null) {
parser.setEntityResolver(entityResolver);
}
// Set error handler
parser.setErrorHandler(webApp);
// Register lexical handler
parser.setProperty("http://xml.org/sax/properties/lexical-handler", webApp);
// Register content handler
parser.setContentHandler(webApp);
} catch (SAXException e) {
throw new IOException("Could not load XML parser: " +
e.getMessage());
}
InputSource inputSource = new InputSource(reader);
try {
parser.setFeature("http://xml.org/sax/features/validation", new Boolean(validate).booleanValue());
parser.setFeature("http://xml.org/sax/features/namespaces", true);
parser.setFeature("http://xml.org/sax/features/namespace-prefixes", false);
parser.parse(inputSource);
} catch (SAXException e) {
throw new IOException("Error parsing XML document: " +
e.getMessage());
}
// Return the resultant object
return webApp;
}
public Unmarshallable getParentUNode() {
return zeus_parentUNode;
}
public void setParentUNode(Unmarshallable parentUNode) {
this.zeus_parentUNode = parentUNode;
}
public Unmarshallable getCurrentUNode() {
return zeus_currentUNode;
}
public void setCurrentUNode(Unmarshallable currentUNode) {
this.zeus_currentUNode = currentUNode;
}
public void setValidating(boolean validate) {
this.validate = validate;
}
public void startDocument() throws SAXException {
// no-op
}
public void setDocumentLocator(Locator locator) {
// no-op
}
public void startPrefixMapping(String prefix, String uri)
throws SAXException {
namespaceMappings.put(prefix, uri);
}
public void startElement(String namespaceURI, String localName,
String qName, org.xml.sax.Attributes atts)
throws SAXException {
// Feed this to the correct ContentHandler
Unmarshallable current = getCurrentUNode();
if (current != this) {
current.startElement(namespaceURI, localName, qName, atts);
return;
}
// See if we handle, or we delegate
if ((localName.equals("web-app")) && (!zeus_thisNodeHandled)) {
// Handle ourselves
for (int i=0, len=atts.getLength(); i<len; i++) {
String attName= atts.getLocalName(i);
String attValue = atts.getValue(i);
if (attName.equals("id")) {
setId(attValue);
}
}
zeus_thisNodeHandled = true;
return;
} else {
// Delegate handling
if (localName.equals("icon")) {
IconImpl icon = new IconImpl();
current = getCurrentUNode();
icon.setParentUNode(current);
icon.setCurrentUNode(icon);
this.setCurrentUNode(icon);
icon.startElement(namespaceURI, localName, qName, atts);
// Add this value in
this.icon = icon;
return;
}
if (localName.equals("display-name")) {
this.zeus_inDisplayName = true;
return;
}
if (localName.equals("description")) {
this.zeus_inDescription = true;
return;
}
if (localName.equals("distributable")) {
DistributableImpl distributable = new DistributableImpl();
current = getCurrentUNode();
distributable.setParentUNode(current);
distributable.setCurrentUNode(distributable);
this.setCurrentUNode(distributable);
distributable.startElement(namespaceURI, localName, qName, atts);
// Add this value in
this.distributable = distributable;
return;
}
if (localName.equals("context-param")) {
ContextParamImpl contextParam = new ContextParamImpl();
current = getCurrentUNode();
contextParam.setParentUNode(current);
contextParam.setCurrentUNode(contextParam);
this.setCurrentUNode(contextParam);
contextParam.startElement(namespaceURI, localName, qName, atts);
// Add this value in
contextParamList.add(contextParam);
return;
}
if (localName.equals("servlet")) {
ServletImpl servlet = new ServletImpl();
current = getCurrentUNode();
servlet.setParentUNode(current);
servlet.setCurrentUNode(servlet);
this.setCurrentUNode(servlet);
servlet.startElement(namespaceURI, localName, qName, atts);
// Add this value in
servletList.add(servlet);
return;
}
if (localName.equals("servlet-mapping")) {
ServletMappingImpl servletMapping = new ServletMappingImpl();
current = getCurrentUNode();
servletMapping.setParentUNode(current);
servletMapping.setCurrentUNode(servletMapping);
this.setCurrentUNode(servletMapping);
servletMapping.startElement(namespaceURI, localName, qName, atts);
// Add this value in
servletMappingList.add(servletMapping);
return;
}
if (localName.equals("session-config")) {
SessionConfigImpl sessionConfig = new SessionConfigImpl();
current = getCurrentUNode();
sessionConfig.setParentUNode(current);
sessionConfig.setCurrentUNode(sessionConfig);
this.setCurrentUNode(sessionConfig);
sessionConfig.startElement(namespaceURI, localName, qName, atts);
// Add this value in
this.sessionConfig = sessionConfig;
return;
}
if (localName.equals("mime-mapping")) {
MimeMappingImpl mimeMapping = new MimeMappingImpl();
current = getCurrentUNode();
mimeMapping.setParentUNode(current);
mimeMapping.setCurrentUNode(mimeMapping);
this.setCurrentUNode(mimeMapping);
mimeMapping.startElement(namespaceURI, localName, qName, atts);
// Add this value in
mimeMappingList.add(mimeMapping);
return;
}
if (localName.equals("welcome-file-list")) {
WelcomeFileListImpl welcomeFileList = new WelcomeFileListImpl();
current = getCurrentUNode();
welcomeFileList.setParentUNode(current);
welcomeFileList.setCurrentUNode(welcomeFileList);
this.setCurrentUNode(welcomeFileList);
welcomeFileList.startElement(namespaceURI, localName, qName, atts);
// Add this value in
this.welcomeFileList = welcomeFileList;
return;
}
if (localName.equals("error-page")) {
ErrorPageImpl errorPage = new ErrorPageImpl();
current = getCurrentUNode();
errorPage.setParentUNode(current);
errorPage.setCurrentUNode(errorPage);
this.setCurrentUNode(errorPage);
errorPage.startElement(namespaceURI, localName, qName, atts);
// Add this value in
errorPageList.add(errorPage);
return;
}
if (localName.equals("taglib")) {
TaglibImpl taglib = new TaglibImpl();
current = getCurrentUNode();
taglib.setParentUNode(current);
taglib.setCurrentUNode(taglib);
this.setCurrentUNode(taglib);
taglib.startElement(namespaceURI, localName, qName, atts);
// Add this value in
taglibList.add(taglib);
return;
}
if (localName.equals("resource-ref")) {
ResourceRefImpl resourceRef = new ResourceRefImpl();
current = getCurrentUNode();
resourceRef.setParentUNode(current);
resourceRef.setCurrentUNode(resourceRef);
this.setCurrentUNode(resourceRef);
resourceRef.startElement(namespaceURI, localName, qName, atts);
// Add this value in
resourceRefList.add(resourceRef);
return;
}
if (localName.equals("security-constraint")) {
SecurityConstraintImpl securityConstraint = new SecurityConstraintImpl();
current = getCurrentUNode();
securityConstraint.setParentUNode(current);
securityConstraint.setCurrentUNode(securityConstraint);
this.setCurrentUNode(securityConstraint);
securityConstraint.startElement(namespaceURI, localName, qName, atts);
// Add this value in
securityConstraintList.add(securityConstraint);
return;
}
if (localName.equals("login-config")) {
LoginConfigImpl loginConfig = new LoginConfigImpl();
current = getCurrentUNode();
loginConfig.setParentUNode(current);
loginConfig.setCurrentUNode(loginConfig);
this.setCurrentUNode(loginConfig);
loginConfig.startElement(namespaceURI, localName, qName, atts);
// Add this value in
this.loginConfig = loginConfig;
return;
}
if (localName.equals("security-role")) {
SecurityRoleImpl securityRole = new SecurityRoleImpl();
current = getCurrentUNode();
securityRole.setParentUNode(current);
securityRole.setCurrentUNode(securityRole);
this.setCurrentUNode(securityRole);
securityRole.startElement(namespaceURI, localName, qName, atts);
// Add this value in
securityRoleList.add(securityRole);
return;
}
if (localName.equals("env-entry")) {
EnvEntryImpl envEntry = new EnvEntryImpl();
current = getCurrentUNode();
envEntry.setParentUNode(current);
envEntry.setCurrentUNode(envEntry);
this.setCurrentUNode(envEntry);
envEntry.startElement(namespaceURI, localName, qName, atts);
// Add this value in
envEntryList.add(envEntry);
return;
}
if (localName.equals("ejb-ref")) {
EjbRefImpl ejbRef = new EjbRefImpl();
current = getCurrentUNode();
ejbRef.setParentUNode(current);
ejbRef.setCurrentUNode(ejbRef);
this.setCurrentUNode(ejbRef);
ejbRef.startElement(namespaceURI, localName, qName, atts);
// Add this value in
ejbRefList.add(ejbRef);
return;
}
}
}
public void endElement(String namespaceURI, String localName,
String qName)
throws SAXException {
Unmarshallable current = getCurrentUNode();
if (current != this) {
current.endElement(namespaceURI, localName, qName);
return;
}
if (localName.equals("display-name")) {
this.zeus_inDisplayName = false;
return;
}
if (localName.equals("description")) {
this.zeus_inDescription = false;
return;
}
Unmarshallable parent = getCurrentUNode().getParentUNode();
if (parent != null) {
parent.setCurrentUNode(parent);
}
}
public void characters(char[] ch, int start, int len)
throws SAXException {
// Feed this to the correct ContentHandler
Unmarshallable current = getCurrentUNode();
if (current != this) {
current.characters(ch, start, len);
return;
}
String text = new String(ch, start, len);
text = text.trim();
if (zeus_inDisplayName) {
if (this.displayName == null) {
this.displayName = text;
} else {
this.displayName = new StringBuffer(this.displayName).append(text).toString();
}
return;
}
if (zeus_inDescription) {
if (this.description == null) {
this.description = text;
} else {
this.description = new StringBuffer(this.description).append(text).toString();
}
return;
}
}
public void comment(char ch[], int start, int len) throws SAXException {
// Currently no-op
}
public void warning(SAXParseException e) throws SAXException {
if (errorHandler != null) {
errorHandler.warning(e);
}
}
public void error(SAXParseException e) throws SAXException {
if ((validate) && (!hasDTD)) {
throw new SAXException("Validation is turned on, but no DTD has been specified in the input XML document. Please supply a DTD through a DOCTYPE reference.");
}
if (errorHandler != null) {
errorHandler.error(e);
}
}
public void fatalError(SAXParseException e) throws SAXException {
if ((validate) && (!hasDTD)) {
throw new SAXException("Validation is turned on, but no DTD has been specified in the input XML document. Please supply a DTD through a DOCTYPE reference.");
}
if (errorHandler != null) {
errorHandler.fatalError(e);
}
}
public void startDTD(String name, String publicID, String systemID)
throws SAXException {
if ((name == null) || (name.equals(""))) {
docTypeString = "";
return;
}
hasDTD = true;
StringBuffer docTypeSB = new StringBuffer();
boolean hasPublic = false;
docTypeSB.append("<!DOCTYPE ")
.append(name);
if ((publicID != null) && (!publicID.equals(""))) {
docTypeSB.append(" PUBLIC \"")
.append(publicID)
.append("\"");
hasPublic = true;
}
if ((systemID != null) && (!systemID.equals(""))) {
if (!hasPublic) {
docTypeSB.append(" SYSTEM");
}
docTypeSB.append(" \"")
.append(systemID)
.append("\"");
}
docTypeSB.append(">");
docTypeString = docTypeSB.toString();
}
public void endDTD() throws SAXException {
// Currently no-op
}
public void startEntity(String name) throws SAXException {
// Currently no-op
}
public void endEntity(String name) throws SAXException {
// Currently no-op
}
public void startCDATA() throws SAXException {
// Currently no-op
}
public void endCDATA() throws SAXException {
// Currently no-op
}
}
|