Update of 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/interfaces
In directory 
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6319/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/interfaces

Modified Files:
        RemoteInterfacePlugin.java LocalInterfacePlugin.java 
Added Files:
        LocalHomeInterfacePlugin.java LocalHomeInterfacePlugin.vm 
        LocalInterfaceBase.java RemoteHomeInterfacePlugin.java 
        RemoteHomeInterfacePlugin.vm RemoteInterfaceBase.java 
Log Message:
alpha commit

--- NEW FILE: RemoteInterfaceBase.java ---
/*
 * Copyright (c) 2005
 * XDoclet Team
 * All rights reserved.
 */
package org.xdoclet.plugin.ejb.interfaces;

import org.generama.QDoxCapableMetadataProvider;
import org.generama.TemplateEngine;
import org.generama.WriterMapper;

import org.generama.defaults.JavaGeneratingPlugin;

import org.xdoclet.plugin.ejb.EjbConfig;
import org.xdoclet.plugin.ejb.EjbRuntime;
import org.xdoclet.plugin.ejb.EjbUtils;
import org.xdoclet.plugin.ejb.qtags.TagLibrary;

import com.thoughtworks.qdox.model.JavaClass;

/**
 * DOCUMENT ME!
 *
 * @author Diogo Quintela
 *
 * TODO: Support @ejb.interface to help decide if we are going to generate or 
not
 */
public abstract class RemoteInterfaceBase extends JavaGeneratingPlugin {
    /** TODO: DOCUMENT ME!  */
    protected EjbUtils ejbUtils;
    protected EjbConfig config;

    /**
     * DOCUMENT ME!
     *
     * @param templateEngine
     * @param metadataProvider
     * @param writerMapper
     *
     * @throws ClassNotFoundException TODO: DOCUMENT ME!
     */
    public RemoteInterfaceBase(TemplateEngine templateEngine, 
QDoxCapableMetadataProvider metadataProvider,
        WriterMapper writerMapper, EjbConfig config) throws 
ClassNotFoundException {
        super(templateEngine, metadataProvider, writerMapper);

        EjbRuntime.init(config, metadataProvider);

        this.config = config;
        this.ejbUtils = new EjbUtils();

        new TagLibrary(metadataProvider);
    }

    public EjbUtils getEjbUtils() {
        return ejbUtils;
    }

    public boolean shouldGenerate(Object metadata) {
        JavaClass javaClass = (JavaClass) metadata;
        return ejbUtils.shouldGenerate(metadata) &&
        EjbUtils.hasFlag(ejbUtils.getViewType(javaClass), EjbUtils.REMOTE) &&
        !EjbUtils.hasFlag(ejbUtils.getBeanType(javaClass), 
EjbUtils.BEAN_MESSAGE_DRIVEN);
    }

    public EjbConfig getConfig() {
        return this.config;
    }
}
--- NEW FILE: RemoteHomeInterfacePlugin.vm ---
#set( $class = $metadata )

// ${dontedit}
// Generated by $plugin.class.name from $class.fullyQualifiedName
package ${plugin.getDestinationPackage($class)};

public interface ${plugin.getDestinationClassname($class)} extends 
javax.ejb.EJBHome {
#foreach( $method in $plugin.ejbUtils.getInterfaceMethods($class, "remote") )
    $method.getDeclarationSignature(false)
    #if( $plugin.isEmpty($method.exceptions) )
      throws java.rmi.RemoteException;
    #else
      , java.rmi.RemoteException;
    #end
#end
}

Index: RemoteInterfacePlugin.java
===================================================================
RCS file: 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/interfaces/RemoteInterfacePlugin.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** RemoteInterfacePlugin.java  28 Apr 2005 07:22:24 -0000      1.10
--- RemoteInterfacePlugin.java  26 Aug 2005 17:52:30 -0000      1.11
***************
*** 1,4 ****
  /*
!  * Copyright (c) 2003
   * XDoclet Team
   * All rights reserved.
--- 1,4 ----
  /*
!  * Copyright (c) 2005
   * XDoclet Team
   * All rights reserved.
***************
*** 9,44 ****
  import org.generama.VelocityTemplateEngine;
  import org.generama.WriterMapper;
! 
! import org.generama.defaults.JavaGeneratingPlugin;
! 
! import org.xdoclet.plugin.ejb.EjbUtils;
! import org.xdoclet.plugin.ejb.qtags.TagLibrary;
  
  /**
   * @author Aslak Hellesøy
   * @version $Revision$
   */
! public class RemoteInterfacePlugin extends JavaGeneratingPlugin {
!     private EjbUtils ejbUtils;
! 
      public RemoteInterfacePlugin(VelocityTemplateEngine 
velocityTemplateEngine,
!         QDoxCapableMetadataProvider metadataProvider, WriterMapper 
writerMapper)
          throws ClassNotFoundException {
!         super(velocityTemplateEngine, metadataProvider, writerMapper);
!         ejbUtils = new EjbUtils();
          setPackageregex("beans");
          setPackagereplace("interfaces");
!         setFileregex("Bean");
          setFilereplace("Remote");
          setMultioutput(true);
-         new TagLibrary(metadataProvider);
-     }
- 
-     public EjbUtils getEjbUtils() {
-         return ejbUtils;
-     }
- 
-     public boolean shouldGenerate(Object metadata) {
-         return ejbUtils.shouldGenerate(metadata);
      }
  }
\ No newline at end of file
--- 9,33 ----
  import org.generama.VelocityTemplateEngine;
  import org.generama.WriterMapper;
! import org.xdoclet.plugin.ejb.EjbConfig;
! import org.xdoclet.plugin.ejb.EjbRuntime;
  
  /**
   * @author Aslak Hellesøy
+  * @author Diogo Quintela
   * @version $Revision$
   */
! public class RemoteInterfacePlugin extends RemoteInterfaceBase {
      public RemoteInterfacePlugin(VelocityTemplateEngine 
velocityTemplateEngine,
!         QDoxCapableMetadataProvider metadataProvider, WriterMapper 
writerMapper, EjbConfig config)
          throws ClassNotFoundException {
!         super(velocityTemplateEngine, metadataProvider, writerMapper, config);
! 
!         EjbRuntime.setPlugin(this);
! 
          setPackageregex("beans");
          setPackagereplace("interfaces");
!         setFileregex(config.getEjbReplaceRegex());
          setFilereplace("Remote");
          setMultioutput(true);
      }
  }
\ No newline at end of file

--- NEW FILE: RemoteHomeInterfacePlugin.java ---
/*
 * Copyright (c) 2005
 * XDoclet Team
 * All rights reserved.
 */
package org.xdoclet.plugin.ejb.interfaces;

import org.generama.QDoxCapableMetadataProvider;
import org.generama.VelocityTemplateEngine;
import org.generama.WriterMapper;
import org.xdoclet.plugin.ejb.EjbConfig;
import org.xdoclet.plugin.ejb.EjbRuntime;


/**
 * DOCUMENT ME!
 *
 * @author Aslak Hellesøy
 * @author Diogo Quintela
 * @version $Revision: 1.1 $
 */
public class RemoteHomeInterfacePlugin extends RemoteInterfaceBase {
    /**
     * Creates a new RemoteHomeInterfacePlugin object.
     *
     * @param velocityTemplateEngine TODO: DOCUMENT ME!
     * @param metadataProvider TODO: DOCUMENT ME!
     * @param writerMapper TODO: DOCUMENT ME!
     *
     * @throws ClassNotFoundException TODO: DOCUMENT ME!
     */
    public RemoteHomeInterfacePlugin(VelocityTemplateEngine 
velocityTemplateEngine,
        QDoxCapableMetadataProvider metadataProvider, WriterMapper 
writerMapper, EjbConfig config)
    throws ClassNotFoundException {
        super(velocityTemplateEngine, metadataProvider, writerMapper, config);

        EjbRuntime.setPlugin(this);

        setPackageregex("beans");
        setPackagereplace("interfaces");
        setFileregex(config.getEjbReplaceRegex());
        setFilereplace("RemoteHome");
        setMultioutput(true);
    }
}

--- NEW FILE: LocalHomeInterfacePlugin.vm ---
#set( $class = $metadata )
// ${dontedit}
// Generated by $plugin.class.name from $class.fullyQualifiedName
package ${plugin.getDestinationPackage($class)};

public interface ${plugin.getDestinationClassname($class)} extends 
javax.ejb.EJBLocalHome {
#foreach( $method in $plugin.ejbUtils.getInterfaceMethods($class, "local") )
    $method.getDeclarationSignature(false);
#end
}

--- NEW FILE: LocalHomeInterfacePlugin.java ---
/*
 * Copyright (c) 2005
 * XDoclet Team
 * All rights reserved.
 */
package org.xdoclet.plugin.ejb.interfaces;

import org.generama.QDoxCapableMetadataProvider;
import org.generama.VelocityTemplateEngine;
import org.generama.WriterMapper;

import org.xdoclet.plugin.ejb.EjbConfig;
import org.xdoclet.plugin.ejb.EjbRuntime;

/**
 * DOCUMENT ME!
 *
 * @author Aslak Hellesøy
 * @author Diogo Quintela
 * @version $Revision: 1.1 $
 *
 */
public class LocalHomeInterfacePlugin extends LocalInterfaceBase {
    /**
     * Creates a new LocalHomeInterfacePlugin object.
     *
     * @param templateEngine TODO: DOCUMENT ME!
     * @param metadataProvider TODO: DOCUMENT ME!
     * @param writerMapper TODO: DOCUMENT ME!
     *
     * @throws ClassNotFoundException TODO: DOCUMENT ME!
     */
    public LocalHomeInterfacePlugin(VelocityTemplateEngine templateEngine,
        QDoxCapableMetadataProvider metadataProvider, WriterMapper 
writerMapper, EjbConfig config)
        throws ClassNotFoundException {
        super(templateEngine, metadataProvider, writerMapper, config);

        EjbRuntime.setPlugin(this);

        setPackageregex("beans");
        setPackagereplace("interfaces");
        setFileregex(config.getEjbReplaceRegex());
        setFilereplace("LocalHome");
        setMultioutput(true);
    }
}
--- NEW FILE: LocalInterfaceBase.java ---
/*
 * Copyright (c) 2005
 * XDoclet Team
 * All rights reserved.
 */
package org.xdoclet.plugin.ejb.interfaces;

import org.generama.QDoxCapableMetadataProvider;
import org.generama.TemplateEngine;
import org.generama.WriterMapper;

import org.generama.defaults.JavaGeneratingPlugin;

import org.xdoclet.plugin.ejb.EjbConfig;
import org.xdoclet.plugin.ejb.EjbRuntime;
import org.xdoclet.plugin.ejb.EjbUtils;
import org.xdoclet.plugin.ejb.qtags.TagLibrary;

import com.thoughtworks.qdox.model.JavaClass;

/**
 * DOCUMENT ME!
 *
 * @author Diogo Quintela
 *
 * TODO: Support @ejb.interface to help decide if we are going to generate or 
not
 */
public abstract class LocalInterfaceBase extends JavaGeneratingPlugin {
    /** TODO: DOCUMENT ME!  */
    protected EjbUtils ejbUtils;
    protected EjbConfig config;

    /**
     * DOCUMENT ME!
     *
     * @param templateEngine
     * @param metadataProvider
     * @param writerMapper
     *
     * @throws ClassNotFoundException
     */
    public LocalInterfaceBase(TemplateEngine templateEngine, 
QDoxCapableMetadataProvider metadataProvider,
        WriterMapper writerMapper, EjbConfig config) throws 
ClassNotFoundException {
        super(templateEngine, metadataProvider, writerMapper);

        EjbRuntime.init(config, metadataProvider);

        this.config = config;
        this.ejbUtils = new EjbUtils();

        new TagLibrary(metadataProvider);
    }

    /**
     * TODO: DOCUMENT ME!
     *
     * @return TODO: DOCUMENT ME!
     */
    public EjbUtils getEjbUtils() {
        return ejbUtils;
    }

    public EjbConfig getConfig() {
        return this.config;
    }

    /**
     * TODO: DOCUMENT ME!
     *
     * @param metadata TODO: DOCUMENT ME!
     *
     * @return TODO: DOCUMENT ME!
     */
    public boolean shouldGenerate(Object metadata) {
        JavaClass javaClass = (JavaClass) metadata;
        return ejbUtils.shouldGenerate(metadata) &&
        EjbUtils.hasFlag(ejbUtils.getViewType(javaClass), EjbUtils.LOCAL) &&
        !EjbUtils.hasFlag(ejbUtils.getBeanType(javaClass), 
EjbUtils.BEAN_MESSAGE_DRIVEN);
    }
}
Index: LocalInterfacePlugin.java
===================================================================
RCS file: 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/interfaces/LocalInterfacePlugin.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** LocalInterfacePlugin.java   28 Apr 2005 07:22:23 -0000      1.11
--- LocalInterfacePlugin.java   26 Aug 2005 17:52:30 -0000      1.12
***************
*** 1,4 ****
  /*
!  * Copyright (c) 2003
   * XDoclet Team
   * All rights reserved.
--- 1,4 ----
  /*
!  * Copyright (c) 2005
   * XDoclet Team
   * All rights reserved.
***************
*** 9,44 ****
  import org.generama.VelocityTemplateEngine;
  import org.generama.WriterMapper;
! 
! import org.generama.defaults.JavaGeneratingPlugin;
! 
! import org.xdoclet.plugin.ejb.EjbUtils;
! import org.xdoclet.plugin.ejb.qtags.TagLibrary;
  
  /**
   *
   * @author Aslak Hellesøy
   * @version $Revision$
   */
! public class LocalInterfacePlugin extends JavaGeneratingPlugin {
!     private EjbUtils ejbUtils;
! 
      public LocalInterfacePlugin(VelocityTemplateEngine templateEngine, 
QDoxCapableMetadataProvider metadataProvider,
!         WriterMapper writerMapper) throws ClassNotFoundException {
!         super(templateEngine, metadataProvider, writerMapper);
!         ejbUtils = new EjbUtils();
          setPackageregex("beans");
          setPackagereplace("interfaces");
!         setFileregex("Bean");
          setFilereplace("Local");
          setMultioutput(true);
-         new TagLibrary(metadataProvider);
-     }
- 
-     public EjbUtils getEjbUtils() {
-         return ejbUtils;
-     }
- 
-     public boolean shouldGenerate(Object metadata) {
-         return ejbUtils.shouldGenerate(metadata);
      }
  }
\ No newline at end of file
--- 9,43 ----
  import org.generama.VelocityTemplateEngine;
  import org.generama.WriterMapper;
! import org.xdoclet.plugin.ejb.EjbConfig;
! import org.xdoclet.plugin.ejb.EjbRuntime;
  
  /**
+  * DOCUMENT ME!
   *
   * @author Aslak Hellesøy
+  * @author Diogo Quintela
   * @version $Revision$
   */
! public class LocalInterfacePlugin extends LocalInterfaceBase {
!     /**
!      * Creates a new LocalInterfacePlugin object.
!      *
!      * @param templateEngine TODO: DOCUMENT ME!
!      * @param metadataProvider TODO: DOCUMENT ME!
!      * @param writerMapper TODO: DOCUMENT ME!
!      *
!      * @throws ClassNotFoundException TODO: DOCUMENT ME!
!      */
      public LocalInterfacePlugin(VelocityTemplateEngine templateEngine, 
QDoxCapableMetadataProvider metadataProvider,
!         WriterMapper writerMapper, EjbConfig config) throws 
ClassNotFoundException {
!         super(templateEngine, metadataProvider, writerMapper, config);
! 
!         EjbRuntime.setPlugin(this);
! 
          setPackageregex("beans");
          setPackagereplace("interfaces");
!         setFileregex(config.getEjbReplaceRegex());
          setFilereplace("Local");
          setMultioutput(true);
      }
  }
\ No newline at end of file



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
xdoclet-plugins-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xdoclet-plugins-commits

Reply via email to