From: <jma...@rh...> - 2009-01-23 17:21:16
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><style type="text/css"><!-- #msg DL { border : 1px #006 solid; background-color : #369; padding : 6px; color : #fff; } #msg DT { float : left; width : 6em; font-weight : bold; } #msg DL, #msg DT, #msg UL, #msg LI { font-family : arial,helvetica,sans-serif; font-size : 10pt; } h3 { font-family : arial,helvetica,sans-serif; font-size : 10pt; font-weight : bold; } #msg PRE { overflow : auto; white-space : normal; background-color : #ffc; border : 1px #fc0 solid; padding : 6px; } #msg UL, PRE, .diff { overflow : auto; } #patch h4 { font-family : arial,helvetica,sans-serif; font-size : 10pt; } #patch h4 { padding: 8px; background : #369; color : #fff; margin : 0; } #patch .propset h4, #patch .binary h4 {margin: 0;} #patch pre {padding:0;line-height:1.2em;margin:0;} #patch .diff {background:#eeeeee;padding: 0 0 10px 0;} #patch .propset .diff, #patch .binary .diff {padding: 10px 0;} #patch span {display:block;padding:0 10px;} #patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch .add {background:#ddffdd;} #patch .rem {background:#ffdddd;} #patch .lines, .info {color:#888888;background:#ffffff;} .diff { width : 100%; } #msg DL { border : 1px #006 solid; background-color : #369; padding : 6px; color : #fff; } #msg DT { float : left; width : 6em; font-weight : bold; } #msg DL, #msg DT, #msg UL, #msg LI { font-family : arial,helvetica,sans-serif; font-size : 10pt; } h3 { font-family : arial,helvetica,sans-serif; font-size : 10pt; font-weight : bold; } #msg PRE { overflow : auto; white-space : normal; background-color : #ffc; border : 1px #fc0 solid; padding : 6px; } #msg UL, PRE, .diff { overflow : auto; } #patch h4 { font-family : arial,helvetica,sans-serif; font-size : 10pt; } #patch h4 { padding: 8px; background : #369; color : #fff; margin : 0; } #patch .propset h4, #patch .binary h4 {margin: 0;} #patch pre {padding:0;line-height:1.2em;margin:0;} #patch .diff {background:#eeeeee;padding: 0 0 10px 0;} #patch .propset .diff, #patch .binary .diff {padding: 10px 0;} #patch span {display:block;padding:0 10px;} #patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch .add {background:#ddffdd;} #patch .rem {background:#ffdddd;} #patch .lines, .info {color:#888888;background:#ffffff;} .diff { width : 100%; } --></style> <title>[rhq-project.org rhq] [2731] revert rev2728 in favor of proper ordering of pagination/sorting suffixes depending on database vendor; </title> </head> <body> <div id="msg"> <dl> <dt>Revision</dt> <dd>2731</dd> <dt>Author</dt> <dd>jmarques</dd> <dt>Date</dt> <dd>2009-01-23 11:21:13 -0600 (Fri, 23 Jan 2009)</dd> </dl> <h3>Log Message</h3> <pre>revert rev2728 in favor of proper ordering of pagination/sorting suffixes depending on database vendor; </pre> <h3>Modified Paths</h3> <ul> <li><a href="#rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseservereventEventManagerBeanjava">rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/event/EventManagerBean.java</a></li> <li><a href="#rhqtrunkmodulesenterpriseserverjarsrctestjavaorgrhqenterpriseservereventtestEventManagerTestjava">rhq/trunk/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/event/test/EventManagerTest.java</a></li> </ul> </div> <div id="patch"> <h3>Diff</h3> <a id="rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseservereventEventManagerBeanjava"></a> <div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/event/EventManagerBean.java (2730 => 2731)</h4> <pre class="diff"> <span class="info">--- rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/event/EventManagerBean.java 2009-01-23 16:46:49 UTC (rev 2730) +++ rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/event/EventManagerBean.java 2009-01-23 17:21:13 UTC (rev 2731) </span><span class="lines">@@ -116,7 +116,6 @@ </span><span class="cx"> } } </span><span class="rem">- @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) </span><span class="cx"> public void addEventData(Map<EventSource, Set<Event>> events) { if (events == null || events.size() == 0) </span><span class="lines">@@ -500,10 +499,13 @@ </span><span class="cx"> query += " AND upper(evs.location) LIKE ? "; if (!isCountQuery) { // add paging first as simple AND conditionals instead of using the nested query style </span><span class="rem">- query = addPagingToQuery(query, pc); - query = addSortingToQuery(query, pc); - // NOTE: Add paging to the query last, since for Oracle, the whole query will become an inner SELECT in the - // paging SELECTs. </span><span class="add">+ if (this.dbType instanceof PostgresqlDatabaseType) { + query = addSortingToQuery(query, pc); + query = addPagingToQuery(query, pc); + } else if (this.dbType instanceof OracleDatabaseType) { + query = addPagingToQuery(query, pc); + query = addSortingToQuery(query, pc); + } </span><span class="cx"> } return query; </span><span class="lines">@@ -549,21 +551,6 @@ </span><span class="cx"> return queryWithPaging.toString(); } </span><span class="rem">- private String addResultsLimitToQuery(String query, int maxResults) { - StringBuilder string = new StringBuilder(); - if (this.dbType instanceof PostgresqlDatabaseType) { - string.append(query); - string.append(" LIMIT ").append(maxResults); - } else if (this.dbType instanceof OracleDatabaseType) { - string.append("SELECT * FROM ("); - string.append(query); - string.append(") WHERE rownum <= ").append(maxResults); - } else { - throw new RuntimeException("Unknown database type : " + this.dbType); - } - return string.toString(); - } - </span><span class="cx"> @SuppressWarnings("unchecked") public EventComposite getEventDetailForEventId(Subject subject, int eventId) throws EventException { Query q = entityManager.createNamedQuery(Event.GET_DETAILS_FOR_EVENT_IDS); </span></pre></div> <a id="rhqtrunkmodulesenterpriseserverjarsrctestjavaorgrhqenterpriseservereventtestEventManagerTestjava"></a> <div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/event/test/EventManagerTest.java (2730 => 2731)</h4> <pre class="diff"> <span class="info">--- rhq/trunk/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/event/test/EventManagerTest.java 2009-01-23 16:46:49 UTC (rev 2730) +++ rhq/trunk/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/event/test/EventManagerTest.java 2009-01-23 17:21:13 UTC (rev 2731) </span><span class="lines">@@ -18,7 +18,11 @@ </span><span class="cx"> */ package org.rhq.enterprise.server.event.test; </span><span class="add">+import java.util.HashMap; +import java.util.HashSet; </span><span class="cx"> import java.util.List; </span><span class="add">+import java.util.Map; +import java.util.Set; </span><span class="cx"> import javax.persistence.EntityManager; import javax.persistence.Query; </span><span class="lines">@@ -122,23 +126,24 @@ </span><span class="cx"> EventDefinition eDef = new EventDefinition(resource.getResourceType(), "My definition is this .."); em.persist(eDef); </span><span class="add">+ em.flush(); </span><span class="cx"> long now = System.currentTimeMillis(); EventSource evSrc = new EventSource("ESource", eDef, resource); Event ev = new Event("EType", "ESource", now, EventSeverity.INFO, "This is a 2nd test", evSrc); </span><span class="rem">- //Set<Event> eventSet = new HashSet<Event>(); - //eventSet.add(ev); - //Map<EventSource, Set<Event>> events = new HashMap<EventSource, Set<Event>>(); - //events.put(evSrc, eventSet); - em.persist(evSrc); - em.persist(ev); - em.flush(); </span><span class="add">+ Set<Event> eventSet = new HashSet<Event>(); + eventSet.add(ev); + Map<EventSource, Set<Event>> events = new HashMap<EventSource, Set<Event>>(); + events.put(evSrc, eventSet); + //em.persist(evSrc); + //em.persist(ev); + //em.flush(); </span><span class="cx"> /* * do NOT use addEventData method until this test is refactored to support the fact that * insertions made via direct SQL won't be visible to the entity manager in this xaction */ </span><span class="rem">- //eventManager.addEventData(events); </span><span class="add">+ eventManager.addEventData(events); </span><span class="cx"> int resourceId = resource.getId(); long t1 = now - 1000L; long t2 = now + 1000L; </span> </pre> </div> </div> </body> </html> |