|
From: <hr...@rh...> - 2009-01-30 10:05:38
|
<!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] [2843] RHQ-1437 When manually setting the baseline data, remove the now outdated OOB data.</title> </head> <body> <div id="msg"> <dl> <dt>Revision</dt> <dd>2843</dd> <dt>Author</dt> <dd>hrupp</dd> <dt>Date</dt> <dd>2009-01-30 04:05:29 -0600 (Fri, 30 Jan 2009)</dd> </dl> <h3>Log Message</h3> <pre>RHQ-1437 When manually setting the baseline data, remove the now outdated OOB data.</pre> <h3>Modified Paths</h3> <ul> <li><a href="#rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseservermeasurementMeasurementBaselineManagerBeanjava">rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementBaselineManagerBean.java</a></li> <li><a href="#rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseservermeasurementMeasurementOOBManagerBeanjava">rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementOOBManagerBean.java</a></li> <li><a href="#rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseservermeasurementMeasurementOOBManagerLocaljava">rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementOOBManagerLocal.java</a></li> </ul> </div> <div id="patch"> <h3>Diff</h3> <a id="rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseservermeasurementMeasurementBaselineManagerBeanjava"></a> <div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementBaselineManagerBean.java (2842 => 2843)</h4> <pre class="diff"> <span class="info">--- rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementBaselineManagerBean.java 2009-01-30 09:32:13 UTC (rev 2842) +++ rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementBaselineManagerBean.java 2009-01-30 10:05:29 UTC (rev 2843) </span><span class="lines">@@ -80,6 +80,8 @@ </span><span class="cx"> @EJB private MeasurementBaselineManagerLocal measurementBaselineManager; // self @EJB </span><span class="add">+ private MeasurementOOBManagerLocal oobManager; + @EJB </span><span class="cx"> private SystemManagerLocal systemManager; @EJB private SubjectManagerLocal subjectManager; </span><span class="lines">@@ -316,6 +318,8 @@ </span><span class="cx"> try { baseline = calculateBaseline(sched, true, startDate, endDate, save); </span><span class="add">+ // We have changed the baseline information for the schedule, so remove the now outdated OOB info. + oobManager.removeOOBsForSchedule(subject,sched); </span><span class="cx"> } catch (DataNotAvailableException e) { throw new BaselineCreationException("Error fetching data for baseline calculation: " + measurementScheduleId); </span></pre></div> <a id="rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseservermeasurementMeasurementOOBManagerBeanjava"></a> <div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementOOBManagerBean.java (2842 => 2843)</h4> <pre class="diff"> <span class="info">--- rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementOOBManagerBean.java 2009-01-30 09:32:13 UTC (rev 2842) +++ rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementOOBManagerBean.java 2009-01-30 10:05:29 UTC (rev 2843) </span><span class="lines">@@ -45,6 +45,7 @@ </span><span class="cx"> import org.rhq.core.domain.auth.Subject; import org.rhq.core.domain.measurement.MeasurementDataNumeric1H; import org.rhq.core.domain.measurement.MeasurementOOB; </span><span class="add">+import org.rhq.core.domain.measurement.MeasurementSchedule; </span><span class="cx"> import org.rhq.core.domain.measurement.composite.MeasurementOOBComposite; import org.rhq.core.domain.util.PageControl; import org.rhq.core.domain.util.PageList; </span><span class="lines">@@ -119,7 +120,7 @@ </span><span class="cx"> * Computes the OOBs for the last hour. * This is done by getting the latest timestamp of the 1h table and invoking * #computeOOBsFromHourBeginingAt </span><span class="rem">- * @param subject </span><span class="add">+ * @param subject Caller </span><span class="cx"> */ @TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW) public void computeOOBsFromLastHour(Subject subject) { </span><span class="lines">@@ -171,10 +172,21 @@ </span><span class="cx"> } /** </span><span class="add">+ * Remove all OOB data for the passed schedule + * @param subject Caller + * @param sched the schedule for which we want to clean out the data + */ + public void removeOOBsForSchedule(Subject subject, MeasurementSchedule sched) { + Query q = entityManager.createQuery("DELETE FROM MeasurementOOB o WHERE o.id.scheduleId = :id"); + q.setParameter("id", sched.getId()); + q.executeUpdate(); + } + + /** </span><span class="cx"> * Return OOB Composites that contain all information about the OOBs in a given time as aggregates. * @param subject The caller * @param end end time we are interested in </span><span class="rem">- * @param pc </span><span class="add">+ * @param pc PageControl to do pagination </span><span class="cx"> * @return List of schedules with the corresponing oob aggregates */ public PageList<MeasurementOOBComposite> getSchedulesWithOOBs(Subject subject, long end, PageControl pc) { </span><span class="lines">@@ -195,7 +207,7 @@ </span><span class="cx"> List<MeasurementOOBComposite> results = query.getResultList(); long totalCount = queryCount.getResultList().size(); </span><span class="rem">- if (results.size() >0 ) { </span><span class="add">+ if (!results.isEmpty()) { </span><span class="cx"> // add 24h and 48h factors Map<Integer,MeasurementOOBComposite> map = new HashMap<Integer,MeasurementOOBComposite>(results.size()); List<Integer> scheduleIds = new ArrayList<Integer>(results.size()); </span></pre></div> <a id="rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseservermeasurementMeasurementOOBManagerLocaljava"></a> <div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementOOBManagerLocal.java (2842 => 2843)</h4> <pre class="diff"> <span class="info">--- rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementOOBManagerLocal.java 2009-01-30 09:32:13 UTC (rev 2842) +++ rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementOOBManagerLocal.java 2009-01-30 10:05:29 UTC (rev 2843) </span><span class="lines">@@ -27,6 +27,7 @@ </span><span class="cx"> import org.rhq.core.domain.auth.Subject; import org.rhq.core.domain.measurement.composite.MeasurementOOBComposite; import org.rhq.core.domain.measurement.MeasurementOOB; </span><span class="add">+import org.rhq.core.domain.measurement.MeasurementSchedule; </span><span class="cx"> import org.rhq.core.domain.util.PageList; import org.rhq.core.domain.util.PageControl; </span><span class="lines">@@ -87,4 +88,11 @@ </span><span class="cx"> */ @TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW) void removeOutdatedOObs(Subject subject, long cutoffTime); </span><span class="add">+ + /** + * Remove all OOB data for the passed schedule + * @param subject Caller + * @param sched the schedule for which we want to clean out the data + */ + void removeOOBsForSchedule(Subject subject, MeasurementSchedule sched); </span><span class="cx"> } </span> </pre> </div> </div> </body> </html> |