KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > deployment > JBossAppParsingDeployer


1 /*
2  * JBoss, Home of Professional Open Source
3  * Copyright 2006, Red Hat Middleware LLC, and individual contributors
4  * by the @authors tag. See the copyright.txt in the distribution for a
5  * full listing of individual contributors.
6  *
7  * This is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU Lesser General Public License as
9  * published by the Free Software Foundation; either version 2.1 of
10  * the License, or (at your option) any later version.
11  *
12  * This software is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this software; if not, write to the Free
19  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21  */

22 package org.jboss.deployment;
23
24 import org.jboss.deployers.plugins.deployers.helpers.ObjectModelFactoryDeployer;
25 import org.jboss.deployers.spi.DeploymentException;
26 import org.jboss.deployers.spi.deployer.DeploymentUnit;
27 import org.jboss.xb.binding.ObjectModelFactory;
28
29 /**
30  * An ObjectModelFactoryDeployer for translating jboss-app.xml descriptors into
31  * J2eeApplicationMetaData instances.
32  *
33  * @author Scott.Stark@jboss.org
34  * @version $Revision:$
35  */

36 public class JBossAppParsingDeployer extends ObjectModelFactoryDeployer<J2eeApplicationMetaData>
37 {
38    /** The name of the application descriptor in the deployment context metadata path */
39    private String JavaDoc appXmlPath = "jboss-app.xml";
40
41    /**
42     * Set the relative order to PARSER_DEPLOYER+1 by default
43     *
44     */

45    public JBossAppParsingDeployer()
46    {
47       super(J2eeApplicationMetaData.class);
48       setRelativeOrder(PARSER_DEPLOYER+1);
49    }
50
51    /**
52     * Get the virtual file path for the application descriptor in the
53     * DeploymentContext.getMetaDataPath.
54     *
55     * @return the current virtual file path for the application descriptor
56     */

57    public String JavaDoc getAppXmlPath()
58    {
59       return appXmlPath;
60    }
61    /**
62     * Set the virtual file path for the application descriptor in the
63     * DeploymentContext.getMetaDataLocation. The standard path is jboss-app.xml
64     * to be found in the META-INF metdata path.
65     *
66     * @param appXmlPath - new virtual file path for the application descriptor
67     */

68    public void setAppXmlPath(String JavaDoc appXmlPath)
69    {
70       this.appXmlPath = appXmlPath;
71    }
72
73    /**
74     * Overriden to indicate we expect to run the parse even if an existing
75     * J2eeApplicationMetaData attachment is found.
76     * @return true.
77     */

78    @Override JavaDoc
79    protected boolean allowsReparse()
80    {
81       return true;
82    }
83
84    /**
85     * Return J2eeApplicationObjectFactory as our ObjectModelFactory.
86     * @return a new J2eeApplicationObjectFactory instance
87     */

88    @Override JavaDoc
89    protected ObjectModelFactory getObjectModelFactory(J2eeApplicationMetaData root)
90    {
91       return new JBossApplicationObjectFactory();
92    }
93
94    /**
95     * Overriden to invoke createMetaData(unit, webXmlPath, null) to parse any
96     * webXmlPath descriptor into a WebMetaData instance.
97     */

98    @Override JavaDoc
99    public void deploy(DeploymentUnit unit) throws DeploymentException
100    {
101       createMetaData(unit, appXmlPath, null);
102    }
103
104 }
105
Popular Tags