ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Butler <jeffgbut...@gmail.com>
Subject Re: contextGenerateAdditionalXmlFiles to create single file
Date Tue, 18 May 2010 14:10:10 GMT
Take a look at the source for SqlMapConfigPlugin - it does something
very similar to what you are trying to accomplish.

Jeff Butler


On Mon, May 17, 2010 at 4:08 AM, Amar X Hussain
<amar.hussain@jpmorgan.com> wrote:
> Hi guys,
>
>
>
> I have an Ibator plugin that creates a spring config file per table, it
> works fine but I wanted to know if there was a way a could modify it to
> create a single file for all tables instead.
>
>
>
> Thanks,
>
> Amar!
>
>
>
> import java.util.ArrayList;
>
> import java.util.List;
>
>
>
> import org.apache.ibatis.ibator.api.GeneratedXmlFile;
>
> import org.apache.ibatis.ibator.api.IbatorPluginAdapter;
>
> import org.apache.ibatis.ibator.api.IntrospectedTable;
>
> import org.apache.ibatis.ibator.api.dom.java.TopLevelClass;
>
> import org.apache.ibatis.ibator.api.dom.xml.Attribute;
>
> import org.apache.ibatis.ibator.api.dom.xml.Document;
>
> import org.apache.ibatis.ibator.api.dom.xml.XmlElement;
>
>
>
> public class SpringTableConfigPlugin extends IbatorPluginAdapter {
>
>
>
>                 TopLevelClass topLevelClass;
>
>                 String fileName;
>
>                 String targetPackage = "config.spring";
>
>                 String targetProject = "C:/workspace/ibatisproj";
>
>                 boolean isMergeable = false;
>
>
>
>                 public boolean validate(List<String> arg0) {
>
>                                 return true;
>
>                 }
>
>
>
>                 public List<GeneratedXmlFile>
> contextGenerateAdditionalXmlFiles(IntrospectedTable introspectedTable) {
>
>
>
>                                 String domainObjectName
=
> introspectedTable.getFullyQualifiedTable().getDomainObjectName();
>
>
>
>                                 fileName =
> "Spring"+domainObjectName+"Config.xml";
>
>
>
>                                 Document document = new
Document();
>
>
>
>                                 XmlElement rootElement
= new
> XmlElement("beans");
>
>
>
>                                 rootElement.addAttribute(new
> Attribute("xmlns", "http://www.springframework.org/schema/beans"));
>
>                                 rootElement.addAttribute(new
> Attribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"));
>
>                                 rootElement.addAttribute(new
> Attribute("xmlns:aop", "http://www.springframework.org/schema/aop"));
>
>                                 rootElement.addAttribute(new
> Attribute("xmlns:tx", "http://www.springframework.org/schema/tx"));
>
>                                 rootElement.addAttribute(new
> Attribute("xmlns:context",
> "http://www.springframework.org/schema/context"));
>
>                                 rootElement.addAttribute(new
> Attribute("xsi:schemaLocation", "http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd\nhttp://www.springframework.org/schema/tx
> http://www.springframework.org/schema/tx/spring-tx-2.0.xsd\nhttp://www.springframework.org/schema/aop
> http://www.springframework.org/schema/aop/spring-aop-2.0.xsd\nhttp://www.springframework.org/schema/context
> http://www.springframework.org/schema/context/spring-context-2.5.xsd"));
>
>
>
>                                 document.setRootElement(rootElement);
>
>
>
>                                 XmlElement beanElement
= new
> XmlElement("bean");
>
>                                 beanElement.addAttribute(new
Attribute("id",
> domainObjectName));
>
>                                 beanElement.addAttribute(new
> Attribute("class",
> "com.test.ibatisproj.daoImpl."+domainObjectName+"DAOImpl"));
>
>
>
>                                 XmlElement propertyElement
= new
> XmlElement("property");
>
>                                 propertyElement.addAttribute(new
> Attribute("name", "sqlMapClient"));
>
>                                 propertyElement.addAttribute(new
> Attribute("ref", "sqlMapClient"));
>
>
>
>                                 beanElement.addElement(propertyElement);
>
>
>
>                                 rootElement.addElement(beanElement);
>
>
>
>                                 List<GeneratedXmlFile>
generatedXmlFileList
> = new ArrayList<GeneratedXmlFile>();
>
>
>
>                                 GeneratedXmlFile springTableConfigXml
= new
> GeneratedXmlFile(document, fileName, targetPackage, targetProject,
> isMergeable );
>
>
>
>
> generatedXmlFileList.add(springTableConfigXml);
>
>
>
>                                 return generatedXmlFileList;
>
>
>
>                 }
>
>
>
> }
>
> This email is confidential and subject to important disclaimers and
> conditions including on offers for the purchase or sale of securities,
> accuracy and completeness of information, viruses, confidentiality, legal
> privilege, and legal entity disclaimers, available at
> http://www.jpmorgan.com/pages/disclosures/email.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Mime
View raw message