From: taktos9 Date: Thu, 23 Oct 2008 09:52:49 +0000 (+0000) Subject: DBFluteのClassificationに対応 X-Git-Tag: ea2ddl-0.0.3~55 X-Git-Url: http://git.osdn.net/view?p=ea2ddl%2Fea2ddl.git;a=commitdiff_plain;h=7cd377f858c190d55b8912e2bf51bf4d99929d36 DBFluteのClassificationに対応 git-svn-id: http://svn.sourceforge.jp/svnroot/ea2ddl/trunk/ea2ddl@47 136db618-7844-41ca-8ac1-fb3fd040db1d --- diff --git a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/bsbhv/BsTObjectBhv.java b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/bsbhv/BsTObjectBhv.java index 07cfce4..ca1302f 100644 --- a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/bsbhv/BsTObjectBhv.java +++ b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/bsbhv/BsTObjectBhv.java @@ -60,7 +60,7 @@ public abstract class BsTObjectBhv extends jp.sourceforge.ea2ddl.dao.allcommon.b // Definition // ========== /*df:BehaviorQueryPathBegin*/ - public static final String PATH_selectListByStereotype = "selectListByStereotype"; + public static final String PATH_selectList = "selectList"; public static final String PATH_selectTableById = "selectTableById"; /*df:BehaviorQueryPathEnd*/ diff --git a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/bsdao/pmbean/BsSelectTablesInPackagePmb.java b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/bsdao/pmbean/BsSelectTablesInPackagePmb.java index a6b7699..5f95294 100644 --- a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/bsdao/pmbean/BsSelectTablesInPackagePmb.java +++ b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/bsdao/pmbean/BsSelectTablesInPackagePmb.java @@ -16,6 +16,9 @@ public class BsSelectTablesInPackagePmb { /** The value of stereotype. */ protected java.lang.String _stereotype; + /** The value of objectType. */ + protected java.lang.String _objectType; + // =================================================================================== // Constructor // =========== @@ -54,6 +57,7 @@ public class BsSelectTablesInPackagePmb { final StringBuffer sb = new StringBuffer(); sb.append(delimiter).append(_packageId); sb.append(delimiter).append(_stereotype); + sb.append(delimiter).append(_objectType); if (sb.length() > 0) { sb.delete(0, delimiter.length()); } sb.insert(0, "{").append("}"); return sb.toString(); @@ -94,4 +98,20 @@ public class BsSelectTablesInPackagePmb { _stereotype = stereotype; } + /** + * Get the value of objectType. (Converted empty to null) + * @return The value of objectType. (Nullable & NotEmptyString: if the value is empty string, returns null) + */ + public java.lang.String getObjectType() { + return (java.lang.String)convertEmptyToNullIfString(_objectType); + } + + /** + * Set the value of objectType. + * @param objectType The value of objectType. (Nullable) + */ + public void setObjectType(java.lang.String objectType) { + _objectType = objectType; + } + } diff --git a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TObjectBhv.java b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TObjectBhv.java index 1a9cfe8..07e5859 100644 --- a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TObjectBhv.java +++ b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TObjectBhv.java @@ -4,21 +4,26 @@ import java.util.List; import javax.persistence.EntityNotFoundException; -import jp.sourceforge.ea2ddl.dao.cbean.TObjectpropertiesCB; import jp.sourceforge.ea2ddl.dao.exdao.pmbean.SelectTablesInPackagePmb; import jp.sourceforge.ea2ddl.dao.exentity.TObject; -import jp.sourceforge.ea2ddl.dao.exentity.TObjectproperties; import jp.sourceforge.ea2ddl.dao.exentity.TPackage; /** * The behavior of t_object. *

- * You can implement your original methods here. - * This class is NOT overrided when re-generating. + * You can implement your original methods here. This class is NOT overrided + * when re-generating. *

+ * * @author DBFlute(AutoGenerator) */ public class TObjectBhv extends jp.sourceforge.ea2ddl.dao.bsbhv.BsTObjectBhv { + private TPackageBhv _tPackageBhv; + + public void setTPackageBhv(TPackageBhv packageBhv) { + _tPackageBhv = packageBhv; + } + public TObject selectEntity(Integer id) { final List list = outsideSql().selectList(PATH_selectTableById, id, TObject.class); if (list.size() == 0) { @@ -27,11 +32,25 @@ public class TObjectBhv extends jp.sourceforge.ea2ddl.dao.bsbhv.BsTObjectBhv { return list.get(0); } + public List selectList(String packageTree, String stereotype, String objectType) { + final TPackage pkg = _tPackageBhv.selectPackage(packageTree); + final SelectTablesInPackagePmb pmb = new SelectTablesInPackagePmb(); + pmb.setPackageId(pkg.getPackageId()); + pmb.setStereotype(stereotype); + pmb.setObjectType(objectType); + return outsideSql().selectList(PATH_selectList, pmb, TObject.class); + } + + public List selectListByStereotype(String packageTree, String stereotype) { + final TPackage pkg = _tPackageBhv.selectPackage(packageTree); + return selectListByStereotype(pkg, stereotype); + } + public List selectListByStereotype(TPackage pkg, String stereotype) { final SelectTablesInPackagePmb pmb = new SelectTablesInPackagePmb(); pmb.setPackageId(pkg.getPackageId()); pmb.setStereotype(stereotype); - return outsideSql().selectList(PATH_selectListByStereotype, pmb, TObject.class); + return outsideSql().selectList(PATH_selectList, pmb, TObject.class); } } diff --git a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TPackageBhv.java b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TPackageBhv.java index 62596b3..fe3cd8f 100644 --- a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TPackageBhv.java +++ b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TPackageBhv.java @@ -2,18 +2,19 @@ package jp.sourceforge.ea2ddl.dao.exbhv; import javax.persistence.EntityNotFoundException; -import org.seasar.framework.container.annotation.tiger.Binding; - import jp.sourceforge.ea2ddl.common.config.Config; import jp.sourceforge.ea2ddl.dao.cbean.TPackageCB; import jp.sourceforge.ea2ddl.dao.exentity.TPackage; +import org.seasar.framework.container.annotation.tiger.Binding; + /** * The behavior of t_package. *

- * You can implement your original methods here. - * This class is NOT overrided when re-generating. + * You can implement your original methods here. This class is NOT overrided + * when re-generating. *

+ * * @author DBFlute(AutoGenerator) */ public class TPackageBhv extends jp.sourceforge.ea2ddl.dao.bsbhv.BsTPackageBhv { @@ -26,28 +27,28 @@ public class TPackageBhv extends jp.sourceforge.ea2ddl.dao.bsbhv.BsTPackageBhv { /** * パッケージツリーから対象のパッケージオブジェクトを検索する。 - * @param packageTree 対象パッケージのルートからのパス + * + * @param packageTree + * 対象パッケージのルートからのパス * @return パッケージ */ public TPackage selectPackage(String packageTree) { final String[] packageNames = packageTree.split("[/.]"); - TPackage pkg = selectRoot(); + TPackage pkg = null; for (int i = 0; i < packageNames.length; i++) { final TPackageCB cb = new TPackageCB(); - cb.query().setParentId_Equal(pkg.getPackageId()); + if (pkg != null) { + cb.query().setParentId_Equal(pkg.getPackageId()); + } cb.query().setName_Equal(packageNames[i]); pkg = selectEntity(cb); if (pkg == null) { - throw new EntityNotFoundException("Package " + packageNames[i] + " in " + packageTree + " is not found."); + throw new EntityNotFoundException("Package " + packageNames[i] + " in " + packageTree + + " is not found."); } } return pkg; } - - public TPackage selectRoot() { - final TPackageCB cb = new TPackageCB(); - cb.query().setName_Equal(_config.getProperty("root.package.name")); - return selectEntity(cb); - } + } diff --git a/ea2ddl-dao/src/main/resources/jp/sourceforge/ea2ddl/dao/exbhv/TObjectBhv_selectListByStereotype.sql b/ea2ddl-dao/src/main/resources/jp/sourceforge/ea2ddl/dao/exbhv/TObjectBhv_selectList.sql similarity index 82% rename from ea2ddl-dao/src/main/resources/jp/sourceforge/ea2ddl/dao/exbhv/TObjectBhv_selectListByStereotype.sql rename to ea2ddl-dao/src/main/resources/jp/sourceforge/ea2ddl/dao/exbhv/TObjectBhv_selectList.sql index 8a72384..cbf539f 100644 --- a/ea2ddl-dao/src/main/resources/jp/sourceforge/ea2ddl/dao/exbhv/TObjectBhv_selectListByStereotype.sql +++ b/ea2ddl-dao/src/main/resources/jp/sourceforge/ea2ddl/dao/exbhv/TObjectBhv_selectList.sql @@ -1,6 +1,7 @@ -- !SelectTablesInPackagePmb! -- !!java.lang.Integer packageId!! -- !!java.lang.String stereotype!! +-- !!java.lang.String objectType!! select dflocal.Name as [Name], dflocal.Object_ID as Object_ID , dflocal.Scope as Scope, dflocal.Stereotype as Stereotype , dflocal.GenOption as GenOption, dflocal.Style as Style @@ -29,8 +30,10 @@ select dflocal.Name as [Name], dflocal.Object_ID as Object_ID , dflocal.GenLinks as GenLinks, dflocal.RunState as RunState , dflocal.Classifier_guid as Classifier_guid , dflocal.PackageFlags as PackageFlags, dflocal.Multiplicity as Multiplicity - from t_object dflocal - where - dflocal.Package_ID = /*pmb.packageId*/21 - and dflocal.Stereotype = /*pmb.stereotype*/'table' + from t_object dflocal +/*BEGIN*/where + /*IF pmb.packageId != null*/dflocal.Package_ID = /*pmb.packageId*/21/*END*/ + /*IF pmb.stereotype != null*/and dflocal.Stereotype = /*pmb.stereotype*/'table'/*END*/ + /*IF pmb.objectType != null*/and dflocal.Object_Type = /*pmb.objectType*/'Class'/*END*/ +/*END*/ order by dflocal.Name \ No newline at end of file diff --git a/ea2ddl-dao/src/test/java/jp/sourceforge/ea2ddl/dao/exbhv/TPackageBhvTest.java b/ea2ddl-dao/src/test/java/jp/sourceforge/ea2ddl/dao/exbhv/TPackageBhvTest.java index e71634c..6bfbaa5 100644 --- a/ea2ddl-dao/src/test/java/jp/sourceforge/ea2ddl/dao/exbhv/TPackageBhvTest.java +++ b/ea2ddl-dao/src/test/java/jp/sourceforge/ea2ddl/dao/exbhv/TPackageBhvTest.java @@ -16,16 +16,9 @@ public class TPackageBhvTest { @Test public void testSelectPackage() { - final TPackage pkg = _bhv.selectPackage("クラスビュー/ER図/SIMPLEDB"); + final TPackage pkg = _bhv.selectPackage("ビュー/クラスビュー/ER図/EXAMPLE"); assertNotNull(pkg); - assertEquals("SIMPLEDB", pkg.getName()); - } - - @Test - public void testSelectRoot() { - final TPackage root = _bhv.selectRoot(); - assertNotNull(root); - assertEquals("ビュー", root.getName()); + assertEquals("EXAMPLE", pkg.getName()); } }