String jbossVersion = getVersion();
URL url = getJbossTemplateURL();
if (url == null) {
throw new XDocletException("can't find template for " + JBOSS_XML_FILE_NAME);
}
setTemplateURL(url);
setDestinationFile(JBOSS_XML_FILE_NAME);
if (jbossVersion.equals(JBossVersionTypes.VERSION_4_0)) {
setPublicId(JBOSS_DD_PUBLICID_40);
setSystemId(JBOSS_DD_SYSTEMID_40);
setDtdURL(getClass().getResource(JBOSS_DTD_FILE_NAME_40));
}
else if (jbossVersion.equals(JBossVersionTypes.VERSION_3_2)) {
setPublicId(JBOSS_DD_PUBLICID_32);
setSystemId(JBOSS_DD_SYSTEMID_32);
setDtdURL(getClass().getResource(JBOSS_DTD_FILE_NAME_32));
}
else if (jbossVersion.equals(JBossVersionTypes.VERSION_3_0) ||
jbossVersion.equals(JBossVersionTypes.VERSION_3_0_1) ||
jbossVersion.equals(JBossVersionTypes.VERSION_3_0_2) ||
jbossVersion.equals(JBossVersionTypes.VERSION_3_0_3)) {
setPublicId(JBOSS_DD_PUBLICID_30);
setSystemId(JBOSS_DD_SYSTEMID_30);
setDtdURL(getClass().getResource(JBOSS_DTD_FILE_NAME_30));
}
else {
setPublicId(JBOSS_DD_PUBLICID_24);
setSystemId(JBOSS_DD_SYSTEMID_24);
setDtdURL(getClass().getResource(JBOSS_DTD_FILE_NAME_24));
}
startProcess();
String ejbSpec = (String) getContext().getConfigParam("EjbSpec");
// if there is one CMP 1.x bean or we are using JBoss 2.4, JBoss needs a jaws.xml
//
if (atLeastOneCmp1EntityBeanExists() || jbossVersion.equals(JBossVersionTypes.VERSION_2_4)) {
url = getJawsTemplateURL();
if (url == null) {
throw new XDocletException("can't find template for " + JAWS_XML_FILE_NAME);
}
setTemplateURL(url);
setDestinationFile(JAWS_XML_FILE_NAME);
if (jbossVersion.equals(JBossVersionTypes.VERSION_3_0) ||
jbossVersion.equals(JBossVersionTypes.VERSION_3_0_1) ||
jbossVersion.equals(JBossVersionTypes.VERSION_3_0_2) ||
jbossVersion.equals(JBossVersionTypes.VERSION_3_0_3) ||
jbossVersion.equals(JBossVersionTypes.VERSION_3_2) ||
jbossVersion.equals(JBossVersionTypes.VERSION_4_0)) {
setPublicId(JAWS_DD_PUBLICID_30);
setSystemId(JAWS_DD_SYSTEMID_30);
setDtdURL(getClass().getResource(JAWS_DTD_FILE_NAME_30));
}
else if (ejbSpec.equals(EjbDocletTask.EjbSpecVersion.EJB_1_1)) {
setPublicId(JAWS_DD_PUBLICID_24);
setSystemId(JAWS_DD_SYSTEMID_24);
setDtdURL(getClass().getResource(JAWS_DTD_FILE_NAME_24));
}
startProcess();
}
// if we are doing ejb spec 2.0, JBoss 3.0, and one CMP 2.x bean exists, JBoss needs
// the jbosscmp-jdbc.xml file
//
if ((ejbSpec.equals(EjbDocletTask.EjbSpecVersion.EJB_2_0) || ejbSpec.equals(EjbDocletTask.EjbSpecVersion.EJB_2_1))
&& atLeastOneCmp2EntityBeanExists()) {
url = getJbosscmpTemplateURL();
if (url == null) {
throw new XDocletException("can't find template for " + JBOSSCMP_DD_FILE_NAME);
}
setTemplateURL(url);
setDestinationFile(JBOSSCMP_DD_FILE_NAME);
if (jbossVersion.equals(JBossVersionTypes.VERSION_3_0) ||
jbossVersion.equals(JBossVersionTypes.VERSION_3_0_1) ||
jbossVersion.equals(JBossVersionTypes.VERSION_3_0_2) ||
jbossVersion.equals(JBossVersionTypes.VERSION_3_0_3)) {
setPublicId(JBOSSCMP_DD_PUBLICID_30);
setSystemId(JBOSSCMP_DD_SYSTEMID_30);
setDtdURL(getClass().getResource(JBOSSCMP_DTD_FILE_NAME_30));
}
else if (jbossVersion.equals(JBossVersionTypes.VERSION_3_2)) {
setPublicId(JBOSSCMP_DD_PUBLICID_32);
setSystemId(JBOSSCMP_DD_SYSTEMID_32);
setDtdURL(getClass().getResource(JBOSSCMP_DTD_FILE_NAME_32));
}
else if (jbossVersion.equals(JBossVersionTypes.VERSION_4_0)) {
setPublicId(JBOSSCMP_DD_PUBLICID_40);
setSystemId(JBOSSCMP_DD_SYSTEMID_40);
setDtdURL(getClass().getResource(JBOSSCMP_DTD_FILE_NAME_40));
}
// end of else
else {
throw new XDocletException("Unknown jboss version number for cmp2 " + jbossVersion);
}
// end of else
startProcess();
}