Author: wrzep Date: 2006-05-25 09:54:15 -0400 (Thu, 25 May 2006) New Revision: 4425 Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/GetScoresResponseImpl.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/protocol/GetScoresResponse.java Removed: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/TimestampedScore.java Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresMDB.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/RecordManager.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java Log: JBLAB-599 Pawel Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2006-05-25 10:37:53 UTC (rev 4424) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2006-05-25 13:54:15 UTC (rev 4425) @@ -50,6 +50,8 @@ private Status status; + int updateCounter = 0; // temp update interval workaround + public StatusDescriptor(String portalName, ContentManager cm) { try { @@ -107,6 +109,12 @@ public void update() { + if (++updateCounter < 6) { // temp update interval workaround + return; + } else { + updateCounter = 0; + } + if (status.needsUpdate()) { fillContext(); } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresMDB.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresMDB.java 2006-05-25 10:37:53 UTC (rev 4424) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresMDB.java 2006-05-25 13:54:15 UTC (rev 4425) @@ -38,7 +38,9 @@ import org.jboss.forge.status.common.Constants; import org.jboss.forge.status.exceptions.GetScoresException; import org.jboss.forge.status.exceptions.ScoresSaveException; +import org.jboss.forge.status.service.impl.protocol.GetScoresResponseImpl; import org.jboss.forge.status.service.protocol.GetScoresRequest; +import org.jboss.forge.status.service.protocol.GetScoresResponse; import org.jboss.forge.status.service.protocol.PluginConf; import org.jboss.forge.status.service.protocol.PluginsValues; import org.jboss.forge.status.service.protocol.SaveRequest; @@ -115,10 +117,13 @@ pluginsValues = ScoresManagerSync.getScores(cal); } catch (GetScoresException e) { log.error(e); //TODO - return; //?? + // If something is wrong, response will contain null pluginsValues } - RecordManager.add(timestamp, pluginsValues); + GetScoresResponse response = + new GetScoresResponseImpl(pluginsValues, timestamp); + + RecordManager.add(timestamp, response); } Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/GetScoresResponseImpl.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/GetScoresResponseImpl.java 2006-05-25 10:37:53 UTC (rev 4424) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/protocol/GetScoresResponseImpl.java 2006-05-25 13:54:15 UTC (rev 4425) @@ -0,0 +1,56 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2005, JBoss Inc., and individual contributors as indicated + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ + +package org.jboss.forge.status.service.impl.protocol; + +import java.sql.Timestamp; +import org.jboss.forge.status.service.protocol.GetScoresResponse; +import org.jboss.forge.status.service.protocol.PluginsValues; + +/** +* @author Pawel Wrzeszcz +*/ +public class GetScoresResponseImpl implements GetScoresResponse { + + private static final long serialVersionUID = 7844595317056960170L; + + private PluginsValues pluginsValues; + private Timestamp timestamp; + + public GetScoresResponseImpl(PluginsValues pluginsValues, + Timestamp timestamp) { + + this.pluginsValues = pluginsValues; + this.timestamp = timestamp; + } + + public PluginsValues getPluginsValues() { + return pluginsValues; + } + + public Timestamp getTimestamp() { + return timestamp; + } + + + +} \ No newline at end of file Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/protocol/GetScoresResponse.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/protocol/GetScoresResponse.java 2006-05-25 10:37:53 UTC (rev 4424) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/protocol/GetScoresResponse.java 2006-05-25 13:54:15 UTC (rev 4425) @@ -0,0 +1,37 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2005, JBoss Inc., and individual contributors as indicated + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ + +package org.jboss.forge.status.service.protocol; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** +* @author Pawel Wrzeszcz +*/ +public interface GetScoresResponse extends Serializable { + + public Timestamp getTimestamp(); + + public PluginsValues getPluginsValues(); + +} \ No newline at end of file Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/RecordManager.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/RecordManager.java 2006-05-25 10:37:53 UTC (rev 4424) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/RecordManager.java 2006-05-25 13:54:15 UTC (rev 4425) @@ -3,38 +3,38 @@ import java.sql.Timestamp; import java.util.ArrayList; -import org.jboss.forge.status.service.protocol.PluginsValues; +import org.jboss.forge.status.service.protocol.GetScoresResponse; /** * @author Pawel Wrzeszcz */ public class RecordManager { - private static ArrayList<TimestampedScore> buff = - new ArrayList<TimestampedScore> (); + private static ArrayList<GetScoresResponse> buff = + new ArrayList<GetScoresResponse> (); private static int maxSize = 100; - public static void add (Timestamp sent, PluginsValues pluginsValues) { + public static void add (Timestamp sent, GetScoresResponse response) { // Remove the earliest item if the cache is full if (buff.size () > maxSize) { buff.remove (0); } - buff.add(new TimestampedScore(sent, pluginsValues)); + buff.add(response); } - public static PluginsValues get(Timestamp sent) { + public static GetScoresResponse get(Timestamp sent) { for (int i = 0; i < buff.size (); i++) { - TimestampedScore ts = buff.get(i); + GetScoresResponse resp = buff.get(i); - if (ts.getTimestamp().equals(sent)) { + if (resp.getTimestamp().equals(sent)) { buff.remove(i); - return ts.getPluginsValues(); + return resp; } } return null; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java 2006-05-25 10:37:53 UTC (rev 4424) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java 2006-05-25 13:54:15 UTC (rev 4425) @@ -45,6 +45,7 @@ import org.jboss.forge.status.service.impl.protocol.GetScoresRequestImpl; import org.jboss.forge.status.service.impl.protocol.SaveRequestImpl; import org.jboss.forge.status.service.protocol.GetScoresRequest; +import org.jboss.forge.status.service.protocol.GetScoresResponse; import org.jboss.forge.status.service.protocol.PluginConf; import org.jboss.forge.status.service.protocol.PluginsValues; import org.jboss.forge.status.service.protocol.SaveRequest; @@ -134,11 +135,15 @@ public static PluginsValues getScores(Timestamp timestamp) { - PluginsValues pluginsValues = RecordManager.get(timestamp); + GetScoresResponse response = RecordManager.get(timestamp); System.out.println("attempt"); - return pluginsValues; + if (response == null) { + return null; + } + + return response.getPluginsValues(); //TODO null here => retry } public static PluginsValues getLatestScores() Deleted: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/TimestampedScore.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/TimestampedScore.java 2006-05-25 10:37:53 UTC (rev 4424) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/TimestampedScore.java 2006-05-25 13:54:15 UTC (rev 4425) @@ -1,30 +0,0 @@ -package org.jboss.forge.status.tools; - -import java.sql.Timestamp; - -import org.jboss.forge.status.service.protocol.PluginsValues; - -/** - * @author Pawel Wrzeszcz - */ -public class TimestampedScore { - - private Timestamp timestamp; - private PluginsValues pluginsValues; - - public TimestampedScore(Timestamp timestamp, PluginsValues pluginsValues) { - - this.timestamp = timestamp; - this.pluginsValues = pluginsValues; - } - - public Timestamp getTimestamp() { - return timestamp; - } - - public PluginsValues getPluginsValues() { - return pluginsValues; - } - - -} |