/* * generate Java Service EJB Impl TAFJ */ public void genServiceEJBTAFJImpl(ServiceDescriptor service, Writer writer) throws LoadTemplateException { template = m_loader.loadTemplate(JAVA_EJB_IMPL_TEMPLATE); VelocityContext ctx = new VelocityContext(); try { ctx.put("service", service); ctx.put("codeGeneratingFor", "TAFJ"); ctx.put("serviceClassName", service.getServiceEJBImplName("TAFJ")); ctx.put( "serviceImplements", service.getServiceEJBAPIName("Local") + ", " + service.getServiceEJBAPIName("Remote")); ctx.put("importedServiceAPI", service.getName() + "API"); ctx.put("importedServiceImpl", service.getName() + "Impl"); // runtimeProps is instantiated in velocity Template ctx.put( "importedServiceImplInstantiation", "new " + service.getName() + "Impl(runtimeProps)"); ctx.put("ejbCreateLogMessage", " with session properties : \" + runtimeProps"); ctx.put("ejbCleanCode", "serviceAPI.cleanup();\n serviceAPI = null;"); // Common import List<String> commonImports = new ArrayList<String>(); String commonPackage = "com.temenos.soa.services."; commonImports.add(commonPackage + "RuntimeProperties"); commonImports.add(commonPackage + "UserContextCallBack"); commonImports.add(commonPackage + "T24UserContextCallBackImpl"); commonImports.add(commonPackage + "data.ResponseDetails"); commonImports.add(commonPackage + "data.UserDetails"); commonImports.add(commonPackage + "data.T24UserDetails"); commonImports.add(commonPackage + "data.SSOUserDetails"); ctx.put("commonImports", commonImports); System.out.println( "Merging Template - " + service.getServiceEJBImplName("TAFJ") + ": " + JAVA_EJB_IMPL_TEMPLATE); template.merge(ctx, writer); System.out.println("Done"); writer.close(); } catch (IOException e) { e.printStackTrace(); } }
/* * generate JBC subroutine to query the meta data of this service component */ public void genSubroutine(ServiceDescriptor serviceDescriptor, Writer writer) throws LoadTemplateException { template = m_loader.loadTemplate(API_TEMPLATE); VelocityContext ctx = new VelocityContext(); try { ctx.put("service", serviceDescriptor); System.out.println( "Merging Template - " + serviceDescriptor.getName() + ".getCustomizedTypeStructure" + ": " + API_TEMPLATE); template.merge(ctx, writer); System.out.println("Done"); writer.close(); } catch (IOException e) { e.printStackTrace(); } }
/* * generate Java Service EJB Local API */ public void genServiceEJBLocalAPI(ServiceDescriptor service, Writer writer) throws LoadTemplateException { template = m_loader.loadTemplate(JAVA_EJB_API_TEMPLATE); VelocityContext ctx = new VelocityContext(); try { ctx.put("service", service); ctx.put("interfaceName", "Local"); ctx.put("interfaceClassName", service.getServiceEJBAPIName("Local")); ctx.put("soaPackageName", "com.temenos.soa.services"); System.out.println( "Merging Template - " + service.getServiceEJBAPIName("Local") + ": " + JAVA_EJB_API_TEMPLATE); template.merge(ctx, writer); System.out.println("Done"); writer.close(); } catch (IOException e) { e.printStackTrace(); } }
public JavaProviderServiceGenerator(VelocityTemplateLoader loader) throws LoadTemplateException { template = loader.loadTemplate(TEMPLATE); }
/* * This method will generate the ejb resources */ public void genServiceEJBResourcesForTAFJ(ServiceDescriptor service, Writer writer, String path) throws LoadTemplateException { template = m_loader.loadTemplate(JAVA_EJB_RESOURCES_TEMPLATE); String GENERATED_JAVA_EJB_RSR_DIR = path + File.separator + "META-INF"; String dirName = GENERATED_JAVA_EJB_RSR_DIR + File.separator + "tafj"; // a. ejb-jar.xml try { Document xmlDoc = getServiceEJBJARXML(service, "TAFJ"); Document updatedDoc = null; String descFileName = "ejb-jar.xml"; boolean fileExists = checkIfFileAlreadyExists(dirName, descFileName); if (fileExists) { // This means we have to append above document to the existing file contents updatedDoc = appendXMLDoc(xmlDoc, dirName, descFileName); } else { updatedDoc = xmlDoc; } VelocityContext ctx = new VelocityContext(); ctx.put("resourceXML", StringUtils.transformXMLToString(updatedDoc)); System.out.println( "Merging Template - " + dirName + File.separator + descFileName + ": " + JAVA_EJB_RESOURCES_TEMPLATE); Writer localWriter; if (writer == null) localWriter = createWriter(dirName, descFileName); else localWriter = writer; template.merge(ctx, localWriter); System.out.println("Done"); localWriter.close(); } catch (IOException e) { e.printStackTrace(); } // b. jboss.xml try { Document xmlDoc = getServiceJbossXML(service, "TAFJ"); Document updatedDoc = null; String descFileName = "jboss.xml"; boolean fileExists = checkIfFileAlreadyExists(dirName, descFileName); if (fileExists) { // This means we have to append above document to the existing file contents updatedDoc = appendXMLDoc(xmlDoc, dirName, descFileName); } else { updatedDoc = xmlDoc; } VelocityContext ctx = new VelocityContext(); ctx.put("resourceXML", StringUtils.transformXMLToString(updatedDoc)); System.out.println( "Merging Template - " + dirName + File.separator + descFileName + ": " + JAVA_EJB_RESOURCES_TEMPLATE); Writer localWriter; if (writer == null) localWriter = createWriter(dirName, descFileName); else localWriter = writer; template.merge(ctx, localWriter); System.out.println("Done"); localWriter.close(); } catch (IOException e) { e.printStackTrace(); } // c. ibm-ejb-jar-bnd try { Document xmlDoc = getServiceIBMXML(service, "TAFJ"); Document updatedDoc = null; String descFileName = "ibm-ejb-jar-bnd.xml"; boolean fileExists = checkIfFileAlreadyExists(dirName, descFileName); if (fileExists) { // This means we have to append above document to the existing file contents updatedDoc = appendXMLDoc(xmlDoc, dirName, descFileName); } else { updatedDoc = xmlDoc; } VelocityContext ctx = new VelocityContext(); ctx.put("resourceXML", StringUtils.transformXMLToString(updatedDoc)); System.out.println( "Merging Template - " + dirName + File.separator + descFileName + ": " + JAVA_EJB_RESOURCES_TEMPLATE); Writer localWriter; if (writer == null) localWriter = createWriter(dirName, descFileName); else localWriter = writer; template.merge(ctx, localWriter); System.out.println("Done"); localWriter.close(); } catch (IOException e) { e.printStackTrace(); } // d. weblogic-ejb-jar try { Document xmlDoc = getServiceWebLogicXML(service, "TAFJ"); Document updatedDoc = null; String descFileName = "weblogic-ejb-jar.xml"; boolean fileExists = checkIfFileAlreadyExists(dirName, descFileName); if (fileExists) { // This means we have to append above document to the existing file contents updatedDoc = appendXMLDoc(xmlDoc, dirName, descFileName); } else { updatedDoc = xmlDoc; } VelocityContext ctx = new VelocityContext(); ctx.put("resourceXML", StringUtils.transformXMLToString(updatedDoc)); System.out.println( "Merging Template - " + dirName + File.separator + descFileName + ": " + JAVA_EJB_RESOURCES_TEMPLATE); Writer localWriter; if (writer == null) localWriter = createWriter(dirName, descFileName); else localWriter = writer; template.merge(ctx, localWriter); System.out.println("Done"); localWriter.close(); } catch (IOException e) { e.printStackTrace(); } // e. jboss-ejb3.xml [jBoss 7+] try { Document xmlDoc = getServiceJbossEJB3XML(service, "TAFJ"); Document updatedDoc = null; String descFileName = "jboss-ejb3.xml"; boolean fileExists = checkIfFileAlreadyExists(dirName, descFileName); if (fileExists) { // This means we have to append above document to the existing file contents updatedDoc = appendXMLDoc(xmlDoc, dirName, descFileName); } else { updatedDoc = xmlDoc; } VelocityContext ctx = new VelocityContext(); ctx.put("resourceXML", StringUtils.transformXMLToString(updatedDoc)); System.out.println( "Merging Template - " + dirName + File.separator + descFileName + ": " + JAVA_EJB_RESOURCES_TEMPLATE); Writer localWriter; if (writer == null) localWriter = createWriter(dirName, descFileName); else localWriter = writer; template.merge(ctx, localWriter); System.out.println("Done"); localWriter.close(); } catch (IOException e) { e.printStackTrace(); } }