java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java |
1
java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java |
22 ++++++++++
java/spacewalk-java.spec |
8 +++
rel-eng/packages/spacewalk-java |
2
4 files changed, 31 insertions(+), 2 deletions(-)
New commits:
commit 2f30e5e42f33db80a9928ff33cb4969ae6b4b77c
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Jan 21 17:47:02 2011 +0100
Automatic commit of package [spacewalk-java] release [1.3.48-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index d3fc5b3..2820c9d 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -17,7 +17,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 1.3.47
+Version: 1.3.48
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -535,6 +535,12 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Fri Jan 21 2011 Tomas Lestach <tlestach(a)redhat.com> 1.3.48-1
+- fixing ISE when deleting software channel from the
+ rhn/channels/manage/Repositories.do page (tlestach(a)redhat.com)
+- unschedule eventual repo sync schedules, when deleting channel
+ (tlestach(a)redhat.com)
+
* Wed Jan 12 2011 Tomas Lestach <tlestach(a)redhat.com> 1.3.47-1
- asm requires different handling on fedoras and rhels (tlestach(a)redhat.com)
- replace jakarta-commons-logging with apache-commons-logging on F14
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index fab3e38..63549e3 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-1.3.47-1 java/
+1.3.48-1 java/
commit 0c0698dad3217f3ab4969ff9d65d3765cbfca9fa
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Jan 21 17:25:42 2011 +0100
fixing ISE when deleting software channel from the rhn/channels/manage/Repositories.do
page
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
index 53d0707..a797a79 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java
@@ -59,6 +59,7 @@ public class RepositoriesAction extends RhnAction implements Listable {
long cid = context.getRequiredParam("cid");
Channel chan = ChannelFactory.lookupByIdAndUser(cid, user);
request.setAttribute("channel_name", chan.getName());
+ request.setAttribute("cid", chan.getId());
Map params = new HashMap();
params.put(RequestContext.CID, chan.getId().toString());
commit 47043db7583f648f279929285f8a6ee8f85c470f
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Jan 21 16:41:51 2011 +0100
unschedule eventual repo sync schedules, when deleting channel
diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
index 6009aab..d62ce44 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -72,6 +72,7 @@ import com.redhat.rhn.manager.rhnpackage.PackageManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
import com.redhat.rhn.manager.system.SystemManager;
import com.redhat.rhn.manager.user.UserManager;
+import com.redhat.rhn.taskomatic.TaskomaticApi;
import com.redhat.rhn.taskomatic.task.TaskConstants;
import org.apache.commons.lang.BooleanUtils;
@@ -878,6 +879,7 @@ public class ChannelManager extends BaseManager {
"message.channel.cannot-be-deleted.has-distros");
}
+ ChannelManager.unscheduleEventualRepoSync(toRemove, user);
ChannelManager.queueChannelChange(label,
user.getLogin(), "java::deleteChannel");
ChannelFactory.remove(toRemove);
@@ -885,6 +887,26 @@ public class ChannelManager extends BaseManager {
}
/**
+ * Unschedule eventual repo sync schedule
+ * @param channel relevant channel
+ * @param user executive
+ */
+ public static void unscheduleEventualRepoSync(Channel channel, User user) {
+ TaskomaticApi tapi = new TaskomaticApi();
+ try {
+ String cronExpr = tapi.getRepoSyncSchedule(channel, user);
+ if (!StringUtils.isEmpty(cronExpr)) {
+ log.info("Unscheduling repo sync schedule with " + cronExpr +
+ " for channel " + channel.getLabel());
+ tapi.unscheduleRepoSync(channel, user);
+ }
+ }
+ catch (Exception e) {
+ log.warn("Failed to unschedule repo sync for channel " +
channel.getLabel());
+ }
+ }
+
+ /**
* Verify that a user is a channel admin
* @param user the user to verify
* @param cid the channel id to verify