/** * PUBLIC: * Remove the specific query with the given queryName and argumentTypes. */ public void removeQuery(String queryName, Vector argumentTypes) { Vector queries = (Vector)getQueries().get(queryName); if (queries == null) { return; } else { DatabaseQuery query = null; for (Enumeration enumtr = queries.elements(); enumtr.hasMoreElements();) { query = (DatabaseQuery)enumtr.nextElement(); if (Helper.areTypesAssignable(argumentTypes, query.getArgumentTypes())) { break; } } if (query != null) { queries.remove(query); } } }
/** * PUBLIC: * Remove the specific query with the given queryName and argumentTypes. * * @see #removeQuery(String) */ public void removeQuery(String queryName, Vector argumentTypes) { Vector queries = (Vector)getQueries().get(queryName); if (queries == null) { return; } else { DatabaseQuery query = null; for (Enumeration enumtr = queries.elements(); enumtr.hasMoreElements();) { query = (DatabaseQuery)enumtr.nextElement(); if (Helper.areTypesAssignable(argumentTypes, query.getArgumentTypes())) { break; } } if (query != null) { queries.remove(query); } } }
/** * PUBLIC: * Remove the specific query with the given queryName and argumentTypes. */ public void removeQuery(String queryName, Vector argumentTypes) { Vector queries = (Vector)getQueries().get(queryName); if (queries == null) { return; } else { DatabaseQuery query = null; for (Enumeration enumtr = queries.elements(); enumtr.hasMoreElements();) { query = (DatabaseQuery)enumtr.nextElement(); if (Helper.areTypesAssignable(argumentTypes, query.getArgumentTypes())) { break; } } if (query != null) { queries.remove(query); } } }
/** * PUBLIC: * Remove the specific query with the given queryName and argumentTypes. */ public void removeQuery(String queryName, Vector argumentTypes) { Vector queries = (Vector)getQueries().get(queryName); if (queries == null) { return; } else { DatabaseQuery query = null; for (Enumeration enumtr = queries.elements(); enumtr.hasMoreElements();) { query = (DatabaseQuery)enumtr.nextElement(); if (Helper.areTypesAssignable(argumentTypes, query.getArgumentTypes())) { break; } } if (query != null) { queries.remove(query); } } }
/** * INTERNAL: * Return the query from the set of pre-defined queries with the given name and argument types. * This allows for common queries to be pre-defined, reused and executed by name. * Only returns those queries locally defined, not superclass's queries * If only one query exists, it will be returned regardless of the arguments. * If multiple queries exist, the first query that has corresponding argument types will be returned * * @see #getQuery(String) */ public DatabaseQuery getLocalQueryByArgumentTypes(String name, List argumentTypes) { List queries = (List)getQueries().get(name); if (queries == null) { return null; } // Short circuit the simple, most common case of only one query. if (queries.size() == 1) { return (DatabaseQuery)queries.get(0); } for (Iterator queriesEnum = queries.iterator(); queriesEnum.hasNext();) { DatabaseQuery query = (DatabaseQuery)queriesEnum.next(); // BUG#2698755 // This check was backward, we default the type to Object // Was checking Object is descendant of String not other way. if (Helper.areTypesAssignable(query.getArgumentTypes(), argumentTypes)) { return query; } } return null; }
/** * PUBLIC: * Remove the specific query with the given queryName and argumentTypes. * * @see #removeQuery(String) */ public void removeQuery(String queryName, Vector argumentTypes) { Vector queries = (Vector)getQueries().get(queryName); if (queries == null) { return; } else { DatabaseQuery query = null; for (Enumeration enumtr = queries.elements(); enumtr.hasMoreElements();) { query = (DatabaseQuery)enumtr.nextElement(); if (Helper.areTypesAssignable(argumentTypes, query.getArgumentTypes())) { break; } } if (query != null) { queries.remove(query); } } }
/** * PUBLIC: * Remove the specific query with the given queryName and argumentTypes. * * @see #removeQuery(String) */ public void removeQuery(String queryName, Vector argumentTypes) { Vector queries = (Vector)getQueries().get(queryName); if (queries == null) { return; } else { DatabaseQuery query = null; for (Enumeration enumtr = queries.elements(); enumtr.hasMoreElements();) { query = (DatabaseQuery)enumtr.nextElement(); if (Helper.areTypesAssignable(argumentTypes, query.getArgumentTypes())) { break; } } if (query != null) { queries.remove(query); } } }
if (Helper.areTypesAssignable(argumentTypes, query.getArgumentTypes())) { return query;
/** * INTERNAL: * Return the query from the set of pre-defined queries with the given name and argument types. * This allows for common queries to be pre-defined, reused and executed by name. * Only returns those queries locally defined, not superclass's queries * If only one query exists, it will be returned regardless of the arguments. * If multiple queries exist, the first query that has corresponding argument types will be returned * * @see #getQuery(String) */ public DatabaseQuery getLocalQueryByArgumentTypes(String name, List argumentTypes) { List<DatabaseQuery> queries = getQueries().get(name); if (queries == null) { return null; } // Short circuit the simple, most common case of only one query. if (queries.size() == 1) { return queries.get(0); } for (DatabaseQuery query : queries) { // BUG#2698755 // This check was backward, we default the type to Object // Was checking Object is descendant of String not other way. if (Helper.areTypesAssignable(query.getArgumentTypes(), argumentTypes)) { return query; } } return null; }
/** * INTERNAL: * Return the query from the set of pre-defined queries with the given name and argument types. * This allows for common queries to be pre-defined, reused and executed by name. * Only returns those queries locally defined, not superclass's queries * If only one query exists, it will be returned regardless of the arguments. * If multiple queries exist, the first query that has corresponding argument types will be returned * * @see #getQuery(String) */ public DatabaseQuery getLocalQueryByArgumentTypes(String name, List argumentTypes) { List<DatabaseQuery> queries = getQueries().get(name); if (queries == null) { return null; } // Short circuit the simple, most common case of only one query. if (queries.size() == 1) { return queries.get(0); } for (DatabaseQuery query : queries) { // BUG#2698755 // This check was backward, we default the type to Object // Was checking Object is descendant of String not other way. if (Helper.areTypesAssignable(query.getArgumentTypes(), argumentTypes)) { return query; } } return null; }
if (Helper.areTypesAssignable(argumentTypes, query.getArgumentTypes())) { return query;
if (Helper.areTypesAssignable(argumentTypes, query.getArgumentTypes())) { return query;
/** * INTERNAL: * Add the query to the session queries. */ protected void addQuery(DatabaseQuery query) { Vector queriesByName = (Vector)getQueries().get(query.getName()); if (queriesByName == null) { // lazily create Vector in Hashtable. queriesByName = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); getQueries().put(query.getName(), queriesByName); } // Check that we do not already have a query that matched it for (Enumeration enumtr = queriesByName.elements(); enumtr.hasMoreElements();) { DatabaseQuery existingQuery = (DatabaseQuery)enumtr.nextElement(); if (Helper.areTypesAssignable(query.getArgumentTypes(), existingQuery.getArgumentTypes())) { throw ValidationException.existingQueryTypeConflict(query, existingQuery); } } queriesByName.add(query); }
/** * INTERNAL: * Add the query to the session queries. */ protected synchronized void addQuery(DatabaseQuery query, boolean nameMustBeUnique) { Vector queriesByName = (Vector)getQueries().get(query.getName()); if (queriesByName == null) { // lazily create Vector in Hashtable. queriesByName = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); getQueries().put(query.getName(), queriesByName); } if (nameMustBeUnique){ // JPA addNamedQuery if (queriesByName.size() <= 1){ queriesByName.clear(); }else{ throw new IllegalStateException(ExceptionLocalization.buildMessage("argument_keyed_named_query_with_JPA", new Object[]{query.getName()})); } }else{ // Check that we do not already have a query that matched it for (Iterator enumtr = queriesByName.iterator(); enumtr.hasNext();) { DatabaseQuery existingQuery = (DatabaseQuery)enumtr.next(); if (Helper.areTypesAssignable(query.getArgumentTypes(), existingQuery.getArgumentTypes())) { throw ValidationException.existingQueryTypeConflict(query, existingQuery); } } } queriesByName.add(query); }
/** * INTERNAL: * Add the query to the session queries. */ protected synchronized void addQuery(DatabaseQuery query, boolean nameMustBeUnique) { Vector queriesByName = (Vector)getQueries().get(query.getName()); if (queriesByName == null) { // lazily create Vector in Hashtable. queriesByName = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); getQueries().put(query.getName(), queriesByName); } if (nameMustBeUnique){ // JPA addNamedQuery if (queriesByName.size() <= 1){ queriesByName.clear(); }else{ throw new IllegalStateException(ExceptionLocalization.buildMessage("argument_keyed_named_query_with_JPA", new Object[]{query.getName()})); } }else{ // Check that we do not already have a query that matched it for (Iterator enumtr = queriesByName.iterator(); enumtr.hasNext();) { DatabaseQuery existingQuery = (DatabaseQuery)enumtr.next(); if (Helper.areTypesAssignable(query.getArgumentTypes(), existingQuery.getArgumentTypes())) { throw ValidationException.existingQueryTypeConflict(query, existingQuery); } } } queriesByName.add(query); }