You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ace.apache.org by ma...@apache.org on 2010/03/09 16:10:15 UTC
svn commit: r920917 - in /incubator/ace/trunk/legacy:
gateway/src/org/apache/ace/deployment/task/
gateway/src/org/apache/ace/scheduler/
server/src/org/apache/ace/client/repository/impl/
server/src/org/apache/ace/client/repository/stateful/impl/
Author: marrs
Date: Tue Mar 9 15:10:14 2010
New Revision: 920917
URL: http://svn.apache.org/viewvc?rev=920917&view=rev
Log:
Fixed the scheduler to really stop all tasks when the bundle is stopped.
Added some casts to remove errors after upgrading to the new event admin.
Modified:
incubator/ace/trunk/legacy/gateway/src/org/apache/ace/deployment/task/DeploymentCheckTask.java
incubator/ace/trunk/legacy/gateway/src/org/apache/ace/scheduler/Scheduler.java
incubator/ace/trunk/legacy/gateway/src/org/apache/ace/scheduler/SchedulerTask.java
incubator/ace/trunk/legacy/server/src/org/apache/ace/client/repository/impl/ChangeNotifierImpl.java
incubator/ace/trunk/legacy/server/src/org/apache/ace/client/repository/stateful/impl/StatefulGatewayRepositoryImpl.java
Modified: incubator/ace/trunk/legacy/gateway/src/org/apache/ace/deployment/task/DeploymentCheckTask.java
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/legacy/gateway/src/org/apache/ace/deployment/task/DeploymentCheckTask.java?rev=920917&r1=920916&r2=920917&view=diff
==============================================================================
--- incubator/ace/trunk/legacy/gateway/src/org/apache/ace/deployment/task/DeploymentCheckTask.java (original)
+++ incubator/ace/trunk/legacy/gateway/src/org/apache/ace/deployment/task/DeploymentCheckTask.java Tue Mar 9 15:10:14 2010
@@ -20,6 +20,7 @@ package org.apache.ace.deployment.task;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.Dictionary;
import java.util.Properties;
import org.osgi.framework.Version;
@@ -57,7 +58,7 @@ public class DeploymentCheckTask extends
Properties properties = new Properties();
properties.put("deploymentpackage.localversion", ((highestLocalVersion == null) ? Version.emptyVersion : highestLocalVersion));
properties.put("deploymentpackage.remoteversion", highestRemoteVersion);
- m_eventAdmin.postEvent(new Event(TOPIC_UPDATE_AVAILABLE, properties));
+ m_eventAdmin.postEvent(new Event(TOPIC_UPDATE_AVAILABLE, (Dictionary) properties));
}
}
catch (MalformedURLException e) {
Modified: incubator/ace/trunk/legacy/gateway/src/org/apache/ace/scheduler/Scheduler.java
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/legacy/gateway/src/org/apache/ace/scheduler/Scheduler.java?rev=920917&r1=920916&r2=920917&view=diff
==============================================================================
--- incubator/ace/trunk/legacy/gateway/src/org/apache/ace/scheduler/Scheduler.java (original)
+++ incubator/ace/trunk/legacy/gateway/src/org/apache/ace/scheduler/Scheduler.java Tue Mar 9 15:10:14 2010
@@ -40,6 +40,14 @@ import org.osgi.service.cm.ManagedServic
public class Scheduler implements ManagedService {
protected Map m_tasks = new HashMap/*<String, SchedulerTask>*/();
+ public void stop() {
+ for (Iterator i = m_tasks.keySet().iterator(); i.hasNext();) {
+ String name = (String) i.next();
+ SchedulerTask schedTask = (SchedulerTask) m_tasks.get(name);
+ schedTask.stop();
+ }
+ }
+
/**
* Adds a new runnable to this scheduler. The runnable will be created if necessary, registered, and processed.
* @param name A name for this task.
Modified: incubator/ace/trunk/legacy/gateway/src/org/apache/ace/scheduler/SchedulerTask.java
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/legacy/gateway/src/org/apache/ace/scheduler/SchedulerTask.java?rev=920917&r1=920916&r2=920917&view=diff
==============================================================================
--- incubator/ace/trunk/legacy/gateway/src/org/apache/ace/scheduler/SchedulerTask.java (original)
+++ incubator/ace/trunk/legacy/gateway/src/org/apache/ace/scheduler/SchedulerTask.java Tue Mar 9 15:10:14 2010
@@ -104,6 +104,13 @@ public class SchedulerTask {
m_configurationRecipe = recipe;
}
+ public void stop() {
+ if (m_executer != null) {
+ m_executer.stop();
+ m_executer = null;
+ }
+ }
+
public boolean process() {
Object recipe = findRecipe();
if ((recipe != null) && (m_task != null)) {
@@ -118,10 +125,7 @@ public class SchedulerTask {
}
else {
// there is nothing to do, since there is no recipe or task
- if (m_executer != null) {
- m_executer.stop();
- m_executer = null;
- }
+ stop();
}
m_currentRecipe = recipe;
return ((recipe != null) || (m_task != null));
Modified: incubator/ace/trunk/legacy/server/src/org/apache/ace/client/repository/impl/ChangeNotifierImpl.java
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/legacy/server/src/org/apache/ace/client/repository/impl/ChangeNotifierImpl.java?rev=920917&r1=920916&r2=920917&view=diff
==============================================================================
--- incubator/ace/trunk/legacy/server/src/org/apache/ace/client/repository/impl/ChangeNotifierImpl.java (original)
+++ incubator/ace/trunk/legacy/server/src/org/apache/ace/client/repository/impl/ChangeNotifierImpl.java Tue Mar 9 15:10:14 2010
@@ -18,6 +18,7 @@
*/
package org.apache.ace.client.repository.impl;
+import java.util.Dictionary;
import java.util.Properties;
import org.apache.ace.client.repository.SessionFactory;
@@ -70,9 +71,9 @@ public class ChangeNotifierImpl implemen
public void notifyChanged(String topic, Properties props, boolean internalOnly) {
props = addSession(props);
- m_eventAdmin.sendEvent(new Event(m_privateTopicRoot + m_entityRoot + topic, props));
+ m_eventAdmin.sendEvent(new Event(m_privateTopicRoot + m_entityRoot + topic, (Dictionary) props));
if (!internalOnly) {
- m_eventAdmin.postEvent(new Event(m_publicTopicRoot + m_entityRoot + topic, props));
+ m_eventAdmin.postEvent(new Event(m_publicTopicRoot + m_entityRoot + topic, (Dictionary) props));
}
}
Modified: incubator/ace/trunk/legacy/server/src/org/apache/ace/client/repository/stateful/impl/StatefulGatewayRepositoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/legacy/server/src/org/apache/ace/client/repository/stateful/impl/StatefulGatewayRepositoryImpl.java?rev=920917&r1=920916&r2=920917&view=diff
==============================================================================
--- incubator/ace/trunk/legacy/server/src/org/apache/ace/client/repository/stateful/impl/StatefulGatewayRepositoryImpl.java (original)
+++ incubator/ace/trunk/legacy/server/src/org/apache/ace/client/repository/stateful/impl/StatefulGatewayRepositoryImpl.java Tue Mar 9 15:10:14 2010
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
+import java.util.Dictionary;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -323,7 +324,7 @@ public class StatefulGatewayRepositoryIm
*/
void notifyChanged(StatefulGatewayObject sgoi, String topic, Properties additionalProperties) {
additionalProperties.put(RepositoryObject.EVENT_ENTITY, sgoi);
- m_eventAdmin.postEvent(new Event(topic, additionalProperties));
+ m_eventAdmin.postEvent(new Event(topic, (Dictionary) additionalProperties));
}
/**