From: Vance K. <va...@us...> - 2006-01-25 03:02:19
|
User: vancek Date: 06/01/24 19:02:13 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3FinderMethodFacadeLogicImpl.java Log: moved QUERY_USE_NAMED_PARAMETERS from EJB3Globals to here Revision Changes Path 1.2 +7 -2 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java Index: EJB3FinderMethodFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- EJB3FinderMethodFacadeLogicImpl.java 28 Dec 2005 00:32:55 -0000 1.1 +++ EJB3FinderMethodFacadeLogicImpl.java 25 Jan 2006 03:02:13 -0000 1.2 @@ -21,6 +21,11 @@ extends EJB3FinderMethodFacadeLogic { + /** + * Stores whether or not named parameters should be used in EJB queries. + */ + public static final String QUERY_USE_NAMED_PARAMETERS = "queryUseNamedParameters"; + // ---------------- constructor ------------------------------- public EJB3FinderMethodFacadeLogicImpl (Object metaObject, String context) @@ -104,7 +109,7 @@ protected boolean handleIsUseNamedParameters() { return Boolean.valueOf(String.valueOf( - this.getConfiguredProperty(EJB3Globals.QUERY_USE_NAMED_PARAMETERS))).booleanValue(); + this.getConfiguredProperty(QUERY_USE_NAMED_PARAMETERS))).booleanValue(); } } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-01-26 04:38:53
|
User: vancek Date: 06/01/25 20:38:47 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3FinderMethodFacadeLogicImpl.java Log: moved WHERE statement in getQuery method to avoid being included if there is no where clause Revision Changes Path 1.3 +5 -3 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java Index: EJB3FinderMethodFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- EJB3FinderMethodFacadeLogicImpl.java 25 Jan 2006 03:02:13 -0000 1.2 +++ EJB3FinderMethodFacadeLogicImpl.java 26 Jan 2006 04:38:47 -0000 1.3 @@ -62,17 +62,19 @@ queryString = "FROM " + this.getOwner().getName() + " AS " + variableName; if (this.getArguments().size() > 0) { - queryString = queryString + " WHERE"; - Collection parameters = this.getArguments(); + final Collection parameters = this.getArguments(); if (parameters != null && !parameters.isEmpty()) { Iterator parameterIt = parameters.iterator(); for (int ctr = 0; parameterIt.hasNext(); ctr++) { EJB3FinderMethodArgumentFacade param = (EJB3FinderMethodArgumentFacade)parameterIt.next(); - if (!param.isFirstResult() && !param.isMaxResults()) { + if (ctr == 0) + { + queryString = queryString + " WHERE"; + } String parameter = "?"; if (this.isUseNamedParameters()) { |
From: Vance K. <va...@us...> - 2006-03-14 06:24:12
|
User: vancek Date: 06/03/13 22:24:10 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3FinderMethodFacadeLogicImpl.java Log: refactored isUseNamedParameter to use BooleanUtils. implemented isUseQueryCache. Revision Changes Path 1.4 +28 -3 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java Index: EJB3FinderMethodFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- EJB3FinderMethodFacadeLogicImpl.java 26 Jan 2006 04:38:47 -0000 1.3 +++ EJB3FinderMethodFacadeLogicImpl.java 14 Mar 2006 06:24:10 -0000 1.4 @@ -6,6 +6,7 @@ import org.andromda.cartridges.ejb3.EJB3Globals; import org.andromda.cartridges.ejb3.EJB3Profile; import org.andromda.metafacades.uml.ParameterFacade; +import org.apache.commons.lang.BooleanUtils; import org.apache.commons.lang.StringUtils; @@ -24,7 +25,12 @@ /** * Stores whether or not named parameters should be used in EJB queries. */ - public static final String QUERY_USE_NAMED_PARAMETERS = "queryUseNamedParameters"; + private static final String QUERY_USE_NAMED_PARAMETERS = "queryUseNamedParameters"; + + /** + * Stores whether query cache is enabled application wide + */ + private static final String USE_QUERY_CACHE = "hibernateEnableQueryCache"; // ---------------- constructor ------------------------------- @@ -110,8 +116,27 @@ */ protected boolean handleIsUseNamedParameters() { - return Boolean.valueOf(String.valueOf( - this.getConfiguredProperty(QUERY_USE_NAMED_PARAMETERS))).booleanValue(); + return BooleanUtils.toBoolean(String.valueOf( + this.getConfiguredProperty(QUERY_USE_NAMED_PARAMETERS))); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3FinderMethodFacadeLogic#handleIsUseQueryCache() + */ + protected boolean handleIsUseQueryCache() + { + boolean queryCacheEnabled = false; + String queryCacheEnabledStr = (String)findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_USE_QUERY_CACHE); + if (StringUtils.isBlank(queryCacheEnabledStr)) + { + queryCacheEnabled = BooleanUtils.toBoolean( + String.valueOf(this.getConfiguredProperty(USE_QUERY_CACHE))); + } + else + { + queryCacheEnabled = BooleanUtils.toBoolean(queryCacheEnabledStr); + } + return queryCacheEnabled; } } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-03-20 08:48:07
|
User: vancek Date: 06/03/20 00:48:06 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3FinderMethodFacadeLogicImpl.java Log: refactored handleIsUseQueryCache to not lookup the namepace default value. Revision Changes Path 1.5 +1 -11 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java Index: EJB3FinderMethodFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- EJB3FinderMethodFacadeLogicImpl.java 14 Mar 2006 06:24:10 -0000 1.4 +++ EJB3FinderMethodFacadeLogicImpl.java 20 Mar 2006 08:48:06 -0000 1.5 @@ -27,11 +27,6 @@ */ private static final String QUERY_USE_NAMED_PARAMETERS = "queryUseNamedParameters"; - /** - * Stores whether query cache is enabled application wide - */ - private static final String USE_QUERY_CACHE = "hibernateEnableQueryCache"; - // ---------------- constructor ------------------------------- public EJB3FinderMethodFacadeLogicImpl (Object metaObject, String context) @@ -127,12 +122,7 @@ { boolean queryCacheEnabled = false; String queryCacheEnabledStr = (String)findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_USE_QUERY_CACHE); - if (StringUtils.isBlank(queryCacheEnabledStr)) - { - queryCacheEnabled = BooleanUtils.toBoolean( - String.valueOf(this.getConfiguredProperty(USE_QUERY_CACHE))); - } - else + if (StringUtils.isNotBlank(queryCacheEnabledStr)) { queryCacheEnabled = BooleanUtils.toBoolean(queryCacheEnabledStr); } |
From: Vance K. <va...@us...> - 2006-04-11 16:16:11
|
User: vancek Date: 06/04/11 09:16:07 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3FinderMethodFacadeLogicImpl.java Log: use Hibernate-QL instead of EJB-QL until a new EJB3-QL is added - when setting query as a constraint Revision Changes Path 1.6 +1 -1 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java Index: EJB3FinderMethodFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- EJB3FinderMethodFacadeLogicImpl.java 20 Mar 2006 08:48:06 -0000 1.5 +++ EJB3FinderMethodFacadeLogicImpl.java 11 Apr 2006 16:16:07 -0000 1.6 @@ -42,7 +42,7 @@ protected java.lang.String handleGetQuery() { // first see if there is a query stored as a constraint - String queryString = super.getQuery("query.EJB-QL"); + String queryString = super.getQuery("query.Hibernate-QL"); // otherwise see if there is a query stored as a tagged value if (StringUtils.isEmpty(queryString)) |
From: Vance K. <va...@us...> - 2006-04-24 02:54:57
|
User: vancek Date: 06/04/23 19:54:56 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3FinderMethodFacadeLogicImpl.java Log: refactored handleGetQuery - extracted translation from OCL to method and incorporated hibernate query implementation Revision Changes Path 1.7 +81 -55 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java Index: EJB3FinderMethodFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- EJB3FinderMethodFacadeLogicImpl.java 11 Apr 2006 16:16:07 -0000 1.6 +++ EJB3FinderMethodFacadeLogicImpl.java 24 Apr 2006 02:54:56 -0000 1.7 @@ -5,6 +5,7 @@ import org.andromda.cartridges.ejb3.EJB3Globals; import org.andromda.cartridges.ejb3.EJB3Profile; +import org.andromda.metafacades.uml.ModelElementFacade; import org.andromda.metafacades.uml.ParameterFacade; import org.apache.commons.lang.BooleanUtils; import org.apache.commons.lang.StringUtils; @@ -37,65 +38,28 @@ // --------------- methods --------------------- /** - * @see org.andromda.cartridges.ejb3.metafacades.EJB3FinderMethodFacade#getQuery() + * Stores the translated query so that its only translated once. */ - protected java.lang.String handleGetQuery() - { - // first see if there is a query stored as a constraint - String queryString = super.getQuery("query.Hibernate-QL"); + private String translatedQuery = null; - // otherwise see if there is a query stored as a tagged value - if (StringUtils.isEmpty(queryString)) + /** + * Retrieves the translated query. + */ + private String getTranslatedQuery() { - Object value = this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_QUERY); - queryString = (String)value; - if (queryString != null) + if (this.translatedQuery == null) { - // remove any excess whitespace - queryString = queryString.replaceAll("[$\\s]+", " "); + this.translatedQuery = super.getQuery("query.Hibernate-QL"); } + return this.translatedQuery; } - // if there wasn't any stored query, create one by default. - if (StringUtils.isEmpty(queryString)) - { - String variableName = StringUtils.uncapitalize(this.getOwner().getName()); - queryString = "FROM " + this.getOwner().getName() + " AS " + variableName; - if (this.getArguments().size() > 0) - { - final Collection parameters = this.getArguments(); - if (parameters != null && !parameters.isEmpty()) - { - Iterator parameterIt = parameters.iterator(); - for (int ctr = 0; parameterIt.hasNext(); ctr++) - { - EJB3FinderMethodArgumentFacade param = (EJB3FinderMethodArgumentFacade)parameterIt.next(); - if (!param.isFirstResult() && !param.isMaxResults()) - { - if (ctr == 0) - { - queryString = queryString + " WHERE"; - } - String parameter = "?"; - if (this.isUseNamedParameters()) - { - parameter = ":" + param.getName(); - } - else - { - parameter = parameter + ctr; - } - queryString = queryString + " " + variableName + "." + param.getName() + " = " + parameter; - if (parameterIt.hasNext()) + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3FinderMethodFacade#getQuery() + */ + protected java.lang.String handleGetQuery() { - queryString = queryString + " AND"; - } - } - } - } - } - } - return queryString; + return this.getQuery((EJB3EntityFacade)null); } /** @@ -129,4 +93,66 @@ return queryCacheEnabled; } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3FinderMethodFacadeLogic#handleGetQuery(org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacade) + */ + protected String handleGetQuery(EJB3EntityFacade entity) + { + // first see if we can retrieve the query from the super class as an OCL + // translation + String queryString = this.getTranslatedQuery(); + + // otherwise see if there is a query stored as a tagged value + if (StringUtils.isEmpty(queryString)) + { + Object value = this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_QUERY); + queryString = (String)value; + if (queryString != null) + { + // remove any excess whitespace + queryString = queryString.replaceAll("[$\\s]+", " "); + } + } + + // if there wasn't any stored query, create one by default. + if (StringUtils.isEmpty(queryString)) + { + ModelElementFacade owner; + if (entity == null) + { + owner = this.getOwner(); + } + else + { + owner = entity; + } + String variableName = StringUtils.uncapitalize(owner.getName()); + queryString = "from " + owner.getName() + " as " + variableName; + if (this.getArguments().size() > 0) + { + queryString = queryString + " where"; + Collection arguments = this.getArguments(); + if (arguments != null && !arguments.isEmpty()) + { + Iterator argumentIt = arguments.iterator(); + for (int ctr = 0; argumentIt.hasNext(); ctr++) + { + ParameterFacade argument = (ParameterFacade)argumentIt.next(); + String parameter = "?"; + if (this.isUseNamedParameters()) + { + parameter = ":" + argument.getName(); + } + queryString = queryString + " " + variableName + "." + argument.getName() + " = " + parameter; + if (argumentIt.hasNext()) + { + queryString = queryString + " and"; + } + } + } + } + } + return queryString; + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-04-26 15:23:45
|
User: vancek Date: 06/04/26 08:23:44 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3FinderMethodFacadeLogicImpl.java Log: implemented handleIsNamedQuery - only check that the query tagged value isn't modelled. should prob define a new tagged value. Revision Changes Path 1.8 +14 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java Index: EJB3FinderMethodFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -w -r1.7 -r1.8 --- EJB3FinderMethodFacadeLogicImpl.java 24 Apr 2006 02:54:56 -0000 1.7 +++ EJB3FinderMethodFacadeLogicImpl.java 26 Apr 2006 15:23:44 -0000 1.8 @@ -155,4 +155,18 @@ return queryString; } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3FinderMethodFacadeLogic#handleIsNamedQuery() + */ + protected boolean handleIsNamedQuery() + { + boolean isNamedQuery = true; + final String query = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_QUERY); + if (StringUtils.isNotEmpty(query)) + { + isNamedQuery = false; + } + return isNamedQuery; + } + } \ No newline at end of file |