Branch 'VADER' - java/code
by jdob
java/code/src/com/redhat/rhn/common/security/acl/PackageAclHandler.java | 19 ----------
1 file changed, 19 deletions(-)
New commits:
commit 28beabf992fd4f88f39fd9486c0032c5b10dafef
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Thu Jun 4 15:54:08 2009 -0400
502941 - Now that 495506 is verified, removing the log message spam.
diff --git a/java/code/src/com/redhat/rhn/common/security/acl/PackageAclHandler.java b/java/code/src/com/redhat/rhn/common/security/acl/PackageAclHandler.java
index f8d3a81..be32e45 100644
--- a/java/code/src/com/redhat/rhn/common/security/acl/PackageAclHandler.java
+++ b/java/code/src/com/redhat/rhn/common/security/acl/PackageAclHandler.java
@@ -69,14 +69,7 @@ public class PackageAclHandler extends BaseHandler implements AclHandler {
*/
public boolean aclPackageTypeCapable(Object ctx, String[] params) {
- /* 495506 - Increased the logging since I can't reliably reproduce the issue.
- I'll make this quiet again when we figure out why this incorrectly returns
- false on the Satellite 5.3 builds.
- jdobies, May 12, 2009
- */
-
if (params.length == 0) {
- log.warn("Incorrect number of parameters specified to ACL check");
return false;
}
@@ -88,7 +81,6 @@ public class PackageAclHandler extends BaseHandler implements AclHandler {
Package pack = PackageManager.lookupByIdAndUser(pid, user);
if (user == null || pid == null || pack == null) {
- log.warn("Check for capability [" + cap + "] is false. Package: " + pack);
return false;
}
@@ -96,21 +88,10 @@ public class PackageAclHandler extends BaseHandler implements AclHandler {
Map<ArchType, List<String>> capMap = PackageFactory.getPackageCapabilityMap();
if (capMap.get(type) == null) {
- log.warn("Check for capability [" + cap + "] on type [" + type +
- "] is false. Type not found in map. Map contents:");
- for (ArchType typeKey : capMap.keySet()) {
- log.warn("Type key: " + typeKey);
- }
return false;
}
boolean capFound = capMap.get(type).contains(cap);
-
- if (!capFound) {
- log.warn("Check for capability [" + cap + "] on type [" + type +
- "] is false. Capability not found in map.");
- }
-
return capFound;
}
14 years, 12 months
java/code
by jdob
java/code/src/com/redhat/rhn/common/security/acl/PackageAclHandler.java | 19 ----------
1 file changed, 19 deletions(-)
New commits:
commit 9615d5b149c356f1395556753cf69b2b1bf5559a
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Thu Jun 4 15:54:08 2009 -0400
502941 - Now that 495506 is verified, removing the log message spam.
diff --git a/java/code/src/com/redhat/rhn/common/security/acl/PackageAclHandler.java b/java/code/src/com/redhat/rhn/common/security/acl/PackageAclHandler.java
index f8d3a81..be32e45 100644
--- a/java/code/src/com/redhat/rhn/common/security/acl/PackageAclHandler.java
+++ b/java/code/src/com/redhat/rhn/common/security/acl/PackageAclHandler.java
@@ -69,14 +69,7 @@ public class PackageAclHandler extends BaseHandler implements AclHandler {
*/
public boolean aclPackageTypeCapable(Object ctx, String[] params) {
- /* 495506 - Increased the logging since I can't reliably reproduce the issue.
- I'll make this quiet again when we figure out why this incorrectly returns
- false on the Satellite 5.3 builds.
- jdobies, May 12, 2009
- */
-
if (params.length == 0) {
- log.warn("Incorrect number of parameters specified to ACL check");
return false;
}
@@ -88,7 +81,6 @@ public class PackageAclHandler extends BaseHandler implements AclHandler {
Package pack = PackageManager.lookupByIdAndUser(pid, user);
if (user == null || pid == null || pack == null) {
- log.warn("Check for capability [" + cap + "] is false. Package: " + pack);
return false;
}
@@ -96,21 +88,10 @@ public class PackageAclHandler extends BaseHandler implements AclHandler {
Map<ArchType, List<String>> capMap = PackageFactory.getPackageCapabilityMap();
if (capMap.get(type) == null) {
- log.warn("Check for capability [" + cap + "] on type [" + type +
- "] is false. Type not found in map. Map contents:");
- for (ArchType typeKey : capMap.keySet()) {
- log.warn("Type key: " + typeKey);
- }
return false;
}
boolean capFound = capMap.get(type).contains(cap);
-
- if (!capFound) {
- log.warn("Check for capability [" + cap + "] on type [" + type +
- "] is false. Capability not found in map.");
- }
-
return capFound;
}
14 years, 12 months
java/code
by Devan Goodwin
java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml | 15 ++++++
java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java | 23 ++++++++++
java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java | 2
3 files changed, 39 insertions(+), 1 deletion(-)
New commits:
commit 43be7a6e1c0efe2f777b1fd706a2748e710d0f54
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Thu Jun 4 16:04:31 2009 -0300
Restore ChannelManager.getLatestPackageEqualInTree.
Un-revert part of the revert from
06b89603b02bc4f2ce0b28f484eb02835dd84c43. Going to keep this method as
there was another spot still using it in master.
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
index 92fbc33..1596c68 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
@@ -1028,6 +1028,21 @@ SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id
</query>
</mode>
+<mode name="latest_package_equal_in_tree">
+ <query params="cid, name">
+SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id
+ FROM rhnPackageName PN inner join
+ rhnChannelNewestPackage CP on CP.name_id = PN.id inner join
+ rhnChannel C on C.id = Cp.channel_id inner join
+ rhnPackage P on P.id = CP.package_id inner join
+ rhnPackageEvr EVR on P.evr_id = EVR.id
+ WHERE ( C.id = :cid or C.parent_channel = :cid)
+ AND PN.name = :name
+ AND C.label not like '%beta%'
+ order by EVR.evr DESC
+ </query>
+</mode>
+
<mode name="latest_package_like">
<query params="cid, name">
SELECT CP.package_id, CP.name_id, CP.evr_id
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 2f05f7f..2c323d6 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -1387,6 +1387,29 @@ public class ChannelManager extends BaseManager {
}
/**
+ * Get the id of latest packages located in the channel tree where channelId
+ * is a parent
+ *
+ * @param channelId to lookup package against
+ * @param packageName to check
+ * @return List containing Maps of "CP.package_id, CP.name_id, CP.evr_id"
+ */
+ public static Long getLatestPackageEqualInTree(Long channelId,
+ String packageName) {
+ SelectMode m = ModeFactory.getMode("Channel_queries",
+ "latest_package_equal_in_tree");
+ Map params = new HashMap();
+ params.put("cid", channelId);
+ params.put("name", packageName);
+ List results = m.execute(params);
+ if (results != null && results.size() > 0) {
+ Map row = (Map) results.get(0);
+ return (Long) row.get("package_id");
+ }
+ return null;
+ }
+
+ /**
* List the latest packages equal in the passed in Channel and name
*
* @param channelId to lookup package against
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
index 6d54832..d93c3d5 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -816,7 +816,7 @@ public class KickstartFormatter {
}
HashSet retval = new HashSet();
for (int i = 0; i < pkglist.length; i++) {
- Long packageId = ChannelManager.getLatestPackageEqual(c.getId(),
+ Long packageId = ChannelManager.getLatestPackageEqualInTree(c.getId(),
pkglist[i]);
if (packageId != null) {
Package p = PackageFactory.lookupByIdAndUser(packageId, user);
14 years, 12 months
Branch 'VADER' - java/code
by Partha Aji
java/code/src/com/redhat/rhn/domain/channel/Channel.java | 7 ++++
java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java | 15 +++++++++
java/code/src/com/redhat/rhn/frontend/action/channel/manage/DeleteChannelAction.java | 16 +++++++++-
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml | 3 +
java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java | 6 +++
java/code/webapp/WEB-INF/pages/channel/manage/delete.jsp | 10 ++++++
6 files changed, 56 insertions(+), 1 deletion(-)
New commits:
commit 0c19db0aaf5e77d7958b970710a099095f58d10a
Author: Partha Aji <paji(a)redhat.com>
Date: Thu Jun 4 14:13:20 2009 -0400
484294 - Fix to complain a channel with distros cant be deleted.
diff --git a/java/code/src/com/redhat/rhn/domain/channel/Channel.java b/java/code/src/com/redhat/rhn/domain/channel/Channel.java
index 57ffc57..b45d739 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/Channel.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/Channel.java
@@ -784,4 +784,11 @@ public class Channel extends BaseDomainHelper implements Comparable {
return repodataRequired;
}
+ /**
+ * true if the channel contains any kickstartstartable distros
+ * @return true if the channel contains any distros.
+ */
+ public boolean containsDistributions() {
+ return ChannelFactory.containsDistributions(this);
+ }
}
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
index 8d9f3ec..de9462a 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
@@ -27,6 +27,7 @@ import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.CriteriaSpecification;
+import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import com.redhat.rhn.common.db.datasource.CallableMode;
@@ -36,6 +37,7 @@ import com.redhat.rhn.common.db.datasource.SelectMode;
import com.redhat.rhn.common.db.datasource.WriteMode;
import com.redhat.rhn.common.hibernate.HibernateFactory;
import com.redhat.rhn.common.hibernate.HibernateRuntimeException;
+import com.redhat.rhn.domain.kickstart.KickstartableTree;
import com.redhat.rhn.domain.org.Org;
import com.redhat.rhn.domain.rhnpackage.Package;
import com.redhat.rhn.domain.user.User;
@@ -800,4 +802,17 @@ public class ChannelFactory extends HibernateFactory {
return retval;
}
+
+ /**
+ * Method to check if the channel contains any kickstart distributions
+ * associated to it.
+ * @param ch the channel to check distros on
+ * @return true of the channels contains any distros
+ */
+ public static boolean containsDistributions(Channel ch) {
+ Criteria criteria = getSession().createCriteria(KickstartableTree.class);
+ criteria.setProjection(Projections.rowCount());
+ criteria.add(Restrictions.eq("channel", ch));
+ return (Integer)criteria.uniqueResult() > 0;
+ }
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/DeleteChannelAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/DeleteChannelAction.java
index 24df388..0332303 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/DeleteChannelAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/DeleteChannelAction.java
@@ -16,10 +16,13 @@ package com.redhat.rhn.frontend.action.channel.manage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
+
import com.redhat.rhn.common.security.PermissionException;
+import com.redhat.rhn.common.validator.ValidatorException;
import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
@@ -33,7 +36,8 @@ import com.redhat.rhn.manager.system.SystemManager;
* @version $Revision$
*/
public class DeleteChannelAction extends RhnAction {
-
+ private static final String DISABLE_DELETE = "disableDelete";
+
/** {@inheritDoc} */
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
@@ -77,6 +81,11 @@ public class DeleteChannelAction extends RhnAction {
addMessage(request, e.getMessage());
return actionMapping.findForward("default");
}
+ catch (ValidatorException ve) {
+ getStrutsDelegate().saveMessages(request, ve.getResult());
+ request.setAttribute(DISABLE_DELETE, Boolean.TRUE);
+ return actionMapping.findForward("default");
+ }
createSuccessMessage(request, "message.channeldeleted", channel.getName());
return actionMapping.findForward("success");
@@ -86,6 +95,11 @@ public class DeleteChannelAction extends RhnAction {
return actionMapping.findForward("default");
}
}
+ else if (channel.containsDistributions()) {
+ createErrorMessage(request,
+ "message.channel.cannot-be-deleted.has-distros", null);
+ request.setAttribute(DISABLE_DELETE, Boolean.TRUE);
+ }
return actionMapping.findForward("default");
}
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
index eefc958..d3ea29c 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
@@ -8195,6 +8195,9 @@ Follow this url to see the full list of inactive systems:
<trans-unit id="message.channel.delete.systemssubscribed">
<source>There are currently systems subscribed to this channel. Please confirm system channel removal by selecting the unsubscribe checkbox.</source>
</trans-unit>
+ <trans-unit id="message.channel.cannot-be-deleted.has-distros">
+ <source>There are currently kickstart distributions associated to this channel. Please disassociate or delete the kickstart distributions before proceeding to delete the channel.</source>
+ </trans-unit>
<trans-unit id="message.channelupdated">
<source>Channel <strong>{0}</strong> updated.</source>
</trans-unit>
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 6add7da..2f05f7f 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -26,6 +26,7 @@ import com.redhat.rhn.common.hibernate.LookupException;
import com.redhat.rhn.common.localization.LocalizationService;
import com.redhat.rhn.common.security.PermissionException;
import com.redhat.rhn.common.util.MethodUtil;
+import com.redhat.rhn.common.validator.ValidatorException;
import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.channel.ChannelArch;
import com.redhat.rhn.domain.channel.ChannelFactory;
@@ -906,6 +907,11 @@ public class ChannelManager extends BaseManager {
LocalizationService.getInstance().getMessage(
"api.channel.delete.haschild"));
}
+ if (toRemove.containsDistributions()) {
+ ValidatorException.raiseException(
+ "message.channel.cannot-be-deleted.has-distros");
+
+ }
ChannelManager.queueChannelChange(label,
user.getLogin(), "java::deleteChannel");
ChannelFactory.remove(toRemove);
diff --git a/java/code/webapp/WEB-INF/pages/channel/manage/delete.jsp b/java/code/webapp/WEB-INF/pages/channel/manage/delete.jsp
index d82d477..3219202 100644
--- a/java/code/webapp/WEB-INF/pages/channel/manage/delete.jsp
+++ b/java/code/webapp/WEB-INF/pages/channel/manage/delete.jsp
@@ -179,9 +179,19 @@
<div align="right">
<hr/>
+ <c:choose>
+ <c:when test="${empty requestScope.disableDelete}">
<html:submit property="delete_button">
<bean:message key="channel.delete.jsp.channelheader"/>
</html:submit>
+ </c:when>
+ <c:otherwise>
+ <html:submit property="delete_button" disabled="true">
+ <bean:message key="channel.delete.jsp.channelheader"/>
+ </html:submit>
+ </c:otherwise>
+ </c:choose>
+
</div>
<html:hidden property="submitted" value="true"/>
<c:if test='${not empty param.cid}'>
14 years, 12 months
java/code
by Partha Aji
java/code/src/com/redhat/rhn/domain/channel/Channel.java | 7 ++++
java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java | 15 +++++++++
java/code/src/com/redhat/rhn/frontend/action/channel/manage/DeleteChannelAction.java | 16 +++++++++-
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml | 3 +
java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java | 6 +++
java/code/webapp/WEB-INF/pages/channel/manage/delete.jsp | 10 ++++++
6 files changed, 56 insertions(+), 1 deletion(-)
New commits:
commit f500062e0b1e9f92670979740a0dc401ba57b106
Author: Partha Aji <paji(a)redhat.com>
Date: Thu Jun 4 14:13:20 2009 -0400
484294 - Fix to complain a channel with distros cant be deleted.
diff --git a/java/code/src/com/redhat/rhn/domain/channel/Channel.java b/java/code/src/com/redhat/rhn/domain/channel/Channel.java
index 57ffc57..b45d739 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/Channel.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/Channel.java
@@ -784,4 +784,11 @@ public class Channel extends BaseDomainHelper implements Comparable {
return repodataRequired;
}
+ /**
+ * true if the channel contains any kickstartstartable distros
+ * @return true if the channel contains any distros.
+ */
+ public boolean containsDistributions() {
+ return ChannelFactory.containsDistributions(this);
+ }
}
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
index 8d9f3ec..de9462a 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
@@ -27,6 +27,7 @@ import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.CriteriaSpecification;
+import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import com.redhat.rhn.common.db.datasource.CallableMode;
@@ -36,6 +37,7 @@ import com.redhat.rhn.common.db.datasource.SelectMode;
import com.redhat.rhn.common.db.datasource.WriteMode;
import com.redhat.rhn.common.hibernate.HibernateFactory;
import com.redhat.rhn.common.hibernate.HibernateRuntimeException;
+import com.redhat.rhn.domain.kickstart.KickstartableTree;
import com.redhat.rhn.domain.org.Org;
import com.redhat.rhn.domain.rhnpackage.Package;
import com.redhat.rhn.domain.user.User;
@@ -800,4 +802,17 @@ public class ChannelFactory extends HibernateFactory {
return retval;
}
+
+ /**
+ * Method to check if the channel contains any kickstart distributions
+ * associated to it.
+ * @param ch the channel to check distros on
+ * @return true of the channels contains any distros
+ */
+ public static boolean containsDistributions(Channel ch) {
+ Criteria criteria = getSession().createCriteria(KickstartableTree.class);
+ criteria.setProjection(Projections.rowCount());
+ criteria.add(Restrictions.eq("channel", ch));
+ return (Integer)criteria.uniqueResult() > 0;
+ }
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/DeleteChannelAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/DeleteChannelAction.java
index 24df388..0332303 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/DeleteChannelAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/DeleteChannelAction.java
@@ -16,10 +16,13 @@ package com.redhat.rhn.frontend.action.channel.manage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
+
import com.redhat.rhn.common.security.PermissionException;
+import com.redhat.rhn.common.validator.ValidatorException;
import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
@@ -33,7 +36,8 @@ import com.redhat.rhn.manager.system.SystemManager;
* @version $Revision$
*/
public class DeleteChannelAction extends RhnAction {
-
+ private static final String DISABLE_DELETE = "disableDelete";
+
/** {@inheritDoc} */
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
@@ -77,6 +81,11 @@ public class DeleteChannelAction extends RhnAction {
addMessage(request, e.getMessage());
return actionMapping.findForward("default");
}
+ catch (ValidatorException ve) {
+ getStrutsDelegate().saveMessages(request, ve.getResult());
+ request.setAttribute(DISABLE_DELETE, Boolean.TRUE);
+ return actionMapping.findForward("default");
+ }
createSuccessMessage(request, "message.channeldeleted", channel.getName());
return actionMapping.findForward("success");
@@ -86,6 +95,11 @@ public class DeleteChannelAction extends RhnAction {
return actionMapping.findForward("default");
}
}
+ else if (channel.containsDistributions()) {
+ createErrorMessage(request,
+ "message.channel.cannot-be-deleted.has-distros", null);
+ request.setAttribute(DISABLE_DELETE, Boolean.TRUE);
+ }
return actionMapping.findForward("default");
}
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
index eefc958..d3ea29c 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
@@ -8195,6 +8195,9 @@ Follow this url to see the full list of inactive systems:
<trans-unit id="message.channel.delete.systemssubscribed">
<source>There are currently systems subscribed to this channel. Please confirm system channel removal by selecting the unsubscribe checkbox.</source>
</trans-unit>
+ <trans-unit id="message.channel.cannot-be-deleted.has-distros">
+ <source>There are currently kickstart distributions associated to this channel. Please disassociate or delete the kickstart distributions before proceeding to delete the channel.</source>
+ </trans-unit>
<trans-unit id="message.channelupdated">
<source>Channel <strong>{0}</strong> updated.</source>
</trans-unit>
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 6add7da..2f05f7f 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -26,6 +26,7 @@ import com.redhat.rhn.common.hibernate.LookupException;
import com.redhat.rhn.common.localization.LocalizationService;
import com.redhat.rhn.common.security.PermissionException;
import com.redhat.rhn.common.util.MethodUtil;
+import com.redhat.rhn.common.validator.ValidatorException;
import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.channel.ChannelArch;
import com.redhat.rhn.domain.channel.ChannelFactory;
@@ -906,6 +907,11 @@ public class ChannelManager extends BaseManager {
LocalizationService.getInstance().getMessage(
"api.channel.delete.haschild"));
}
+ if (toRemove.containsDistributions()) {
+ ValidatorException.raiseException(
+ "message.channel.cannot-be-deleted.has-distros");
+
+ }
ChannelManager.queueChannelChange(label,
user.getLogin(), "java::deleteChannel");
ChannelFactory.remove(toRemove);
diff --git a/java/code/webapp/WEB-INF/pages/channel/manage/delete.jsp b/java/code/webapp/WEB-INF/pages/channel/manage/delete.jsp
index d82d477..3219202 100644
--- a/java/code/webapp/WEB-INF/pages/channel/manage/delete.jsp
+++ b/java/code/webapp/WEB-INF/pages/channel/manage/delete.jsp
@@ -179,9 +179,19 @@
<div align="right">
<hr/>
+ <c:choose>
+ <c:when test="${empty requestScope.disableDelete}">
<html:submit property="delete_button">
<bean:message key="channel.delete.jsp.channelheader"/>
</html:submit>
+ </c:when>
+ <c:otherwise>
+ <html:submit property="delete_button" disabled="true">
+ <bean:message key="channel.delete.jsp.channelheader"/>
+ </html:submit>
+ </c:otherwise>
+ </c:choose>
+
</div>
<html:hidden property="submitted" value="true"/>
<c:if test='${not empty param.cid}'>
14 years, 12 months
Branch 'VADER' - proxy/installer
by Miroslav Suchý
proxy/installer/configure-proxy.sh | 21 ++++++++-------------
proxy/installer/configure-proxy.sh.sgml | 12 ------------
2 files changed, 8 insertions(+), 25 deletions(-)
New commits:
commit 906cb7232b1eb6ce4e65bf2843a63ae4198f220b
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Jun 4 18:27:03 2009 +0200
499399 - read SCOUT_SHARED_KEY value from api call proxy.createMonitoringScout
(cherry picked from commit 613aa85cd7bbcb89f6df4e2f6ad5da4791204b1e)
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index 2e3ce5e..9819436 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -68,9 +68,6 @@ options:
RHN_PARENT.
--monitoring-parent-ip=MONITORING_PARENT_IP
IP address of MONITORING_PARENT
- --scout-shared-key=SCOUT_SHARED_KEY
- Your scout shared key (can be found on the parent in
- /etc/rhn/cluster.ini as key scoutsharedkey).
--populate-config-channel=Y
Y if config chanel should be created and configuration files in that channel
updated. Configuration channel will be named rhn_proxy_config_\${SYSTEM_ID}.
@@ -108,7 +105,6 @@ while [ $# -ge 1 ]; do
--enable-scout=*) ENABLE_SCOUT=$(echo $1 | cut -d= -f2-);;
--monitoring-parent=*) MONITORING_PARENT_IP=$(echo $1 | cut -d= -f2-);;
--monitoring-parent-ip=*) MONITORING_PARENT_IP=$(echo $1 | cut -d= -f2-);;
- --scout-shared-key=*) SCOUT_SHARED_KEY=$(echo $1 | cut -d= -f2-);;
--populate-config-channel=*) POPULATE_CONFIG_CHANNEL=$(echo $1 | cut -d= -f2-);;
*) echo Error: Invalid option $1
esac
@@ -311,9 +307,14 @@ if [ $MONITORING -eq 0 ]; then
default_or_input "Monitoring parent IP" MONITORING_PARENT_IP "$RESOLVED_IP"
default_or_input "Enable monitoring scout" ENABLE_SCOUT "Y/n"
ENABLE_SCOUT=$(yes_no $ENABLE_SCOUT)
- MSG=$(echo -n "Your scout shared key (can be found on parent
-in $RHNCONF_DIR/cluster.ini as key scoutsharedkey)")
- default_or_input "$MSG" SCOUT_SHARED_KEY ''
+ SCOUT_SHARED_KEY=`/usr/bin/rhn-proxy-activate --enable-monitoring \
+ --quiet \
+ --server="$RHN_PARENT" \
+ --http-proxy="$HTTP_PROXY" \
+ --http-proxy-username="$HTTP_USERNAME" \
+ --http-proxy-password="$HTTP_PASSWORD" \
+ --ca-cert="$CA_CHAIN" | \
+ awk '/\: [0-9a-f]+/ { print $4 }' `
else
ENABLE_SCOUT=0
fi
@@ -452,12 +453,6 @@ fi
echo "Enabling Spacewalk Proxy."
if [ $ENABLE_SCOUT -ne 0 ]; then
MonitoringScout="MonitoringScout"
- /usr/bin/rhn-proxy-activate --enable-monitoring \
- --server="$RHN_PARENT" \
- --http-proxy="$HTTP_PROXY" \
- --http-proxy-username="$HTTP_USERNAME" \
- --http-proxy-password="$HTTP_PASSWORD" \
- --ca-cert="$CA_CHAIN"
fi
for service in squid httpd jabberd $MonitoringScout; do
/sbin/chkconfig --add $service
diff --git a/proxy/installer/configure-proxy.sh.sgml b/proxy/installer/configure-proxy.sh.sgml
index 3d0e7fc..26b7b56 100644
--- a/proxy/installer/configure-proxy.sh.sgml
+++ b/proxy/installer/configure-proxy.sh.sgml
@@ -197,12 +197,6 @@ provide a required response, default answer is used.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--scout-shared-key=SCOUT_SHARED_KEY</term>
- <listitem>
- <para>Your scout shared key (can be found on the parent in /etc/rhn/cluster.ini as key scoutsharedkey).</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term>--populate-config-channel=Y</term>
<listitem>
<para>Y if config chanel should be created and configuration files in that channel updated. Configuration channel will be named rhn_proxy_config_${SYSTEM_ID}</para>
@@ -347,12 +341,6 @@ provide a required response, default answer is used.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>SCOUT_SHARED_KEY</term>
- <listitem>
- <para>Your scout shared key (can be found on the parent in /etc/rhn/cluster.ini as key scoutsharedkey).</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term>POPULATE_CONFIG_CHANNEL</term>
<listitem>
<para>Y if config chanel should be created and configuration files in that channel updated.
14 years, 12 months
proxy/installer
by Miroslav Suchý
proxy/installer/configure-proxy.sh | 21 ++++++++-------------
proxy/installer/configure-proxy.sh.sgml | 12 ------------
2 files changed, 8 insertions(+), 25 deletions(-)
New commits:
commit 613aa85cd7bbcb89f6df4e2f6ad5da4791204b1e
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Jun 4 18:27:03 2009 +0200
499399 - read SCOUT_SHARED_KEY value from api call proxy.createMonitoringScout
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index c96d841..f5efff2 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -68,9 +68,6 @@ options:
RHN_PARENT.
--monitoring-parent-ip=MONITORING_PARENT_IP
IP address of MONITORING_PARENT
- --scout-shared-key=SCOUT_SHARED_KEY
- Your scout shared key (can be found on the parent in
- /etc/rhn/cluster.ini as key scoutsharedkey).
--populate-config-channel=Y
Y if config chanel should be created and configuration files in that channel
updated. Configuration channel will be named rhn_proxy_config_\${SYSTEM_ID}.
@@ -108,7 +105,6 @@ while [ $# -ge 1 ]; do
--enable-scout=*) ENABLE_SCOUT=$(echo $1 | cut -d= -f2-);;
--monitoring-parent=*) MONITORING_PARENT_IP=$(echo $1 | cut -d= -f2-);;
--monitoring-parent-ip=*) MONITORING_PARENT_IP=$(echo $1 | cut -d= -f2-);;
- --scout-shared-key=*) SCOUT_SHARED_KEY=$(echo $1 | cut -d= -f2-);;
--populate-config-channel=*) POPULATE_CONFIG_CHANNEL=$(echo $1 | cut -d= -f2-);;
*) echo Error: Invalid option $1
esac
@@ -312,9 +308,14 @@ if [ $MONITORING -eq 0 ]; then
default_or_input "Monitoring parent IP" MONITORING_PARENT_IP "$RESOLVED_IP"
default_or_input "Enable monitoring scout" ENABLE_SCOUT "Y/n"
ENABLE_SCOUT=$(yes_no $ENABLE_SCOUT)
- MSG=$(echo -n "Your scout shared key (can be found on parent
-in $RHNCONF_DIR/cluster.ini as key scoutsharedkey)")
- default_or_input "$MSG" SCOUT_SHARED_KEY ''
+ SCOUT_SHARED_KEY=`/usr/bin/rhn-proxy-activate --enable-monitoring \
+ --quiet \
+ --server="$RHN_PARENT" \
+ --http-proxy="$HTTP_PROXY" \
+ --http-proxy-username="$HTTP_USERNAME" \
+ --http-proxy-password="$HTTP_PASSWORD" \
+ --ca-cert="$CA_CHAIN" | \
+ awk '/\: [0-9a-f]+/ { print $4 }' `
else
ENABLE_SCOUT=0
fi
@@ -455,12 +456,6 @@ fi
echo "Enabling Spacewalk Proxy."
if [ $ENABLE_SCOUT -ne 0 ]; then
MonitoringScout="MonitoringScout"
- /usr/bin/rhn-proxy-activate --enable-monitoring \
- --server="$RHN_PARENT" \
- --http-proxy="$HTTP_PROXY" \
- --http-proxy-username="$HTTP_USERNAME" \
- --http-proxy-password="$HTTP_PASSWORD" \
- --ca-cert="$CA_CHAIN"
fi
for service in squid httpd jabberd $MonitoringScout; do
/sbin/chkconfig --add $service
diff --git a/proxy/installer/configure-proxy.sh.sgml b/proxy/installer/configure-proxy.sh.sgml
index 3d0e7fc..26b7b56 100644
--- a/proxy/installer/configure-proxy.sh.sgml
+++ b/proxy/installer/configure-proxy.sh.sgml
@@ -197,12 +197,6 @@ provide a required response, default answer is used.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--scout-shared-key=SCOUT_SHARED_KEY</term>
- <listitem>
- <para>Your scout shared key (can be found on the parent in /etc/rhn/cluster.ini as key scoutsharedkey).</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term>--populate-config-channel=Y</term>
<listitem>
<para>Y if config chanel should be created and configuration files in that channel updated. Configuration channel will be named rhn_proxy_config_${SYSTEM_ID}</para>
@@ -347,12 +341,6 @@ provide a required response, default answer is used.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>SCOUT_SHARED_KEY</term>
- <listitem>
- <para>Your scout shared key (can be found on the parent in /etc/rhn/cluster.ini as key scoutsharedkey).</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term>POPULATE_CONFIG_CHANNEL</term>
<listitem>
<para>Y if config chanel should be created and configuration files in that channel updated.
14 years, 12 months
Branch 'VADER' - java/code
by Miroslav Suchý
java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/ProxyHandler.java | 11 +++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
New commits:
commit 9bd443586e56a63c61fa96739d2799e62cfd17af
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Jun 4 18:06:54 2009 +0200
499399 - api call proxy.createMonitoringScout now return scout shared key
(cherry picked from commit a30e8abde70f098f732ca8736cc51cd9171e5e65)
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/ProxyHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/ProxyHandler.java
index 57daf18..081b813 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/ProxyHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/ProxyHandler.java
@@ -57,15 +57,16 @@ public class ProxyHandler extends BaseHandler {
/**
* Create Monitoring Scout for proxy.
* @param clientcert client certificate of the system.
- * @return 1 on success, 0 if system is not proxy (scout is not created)
+ * @return string - scout shared key on success,
+ * empty string if system is not proxy (scout is not created)
* @throws MethodInvalidParamException thrown if certificate is invalid.
* @since 10.7
*
* @xmlrpc.doc Create Monitoring Scout for proxy.
* @xmlrpc.param #param_desc("string", "systemid", "systemid file")
- * @xmlrpc.returntype #return_int_success()
+ * @xmlrpc.returntype string
*/
- public int createMonitoringScout(String clientcert)
+ public String createMonitoringScout(String clientcert)
throws MethodInvalidParamException {
StringReader rdr = new StringReader(clientcert);
@@ -108,10 +109,10 @@ public class ProxyHandler extends BaseHandler {
SatClusterFactory.saveSatCluster(scout);
SatClusterFactory.saveSatNode(node);
- return 1;
+ return node.getScoutSharedKey();
}
else {
- return 0;
+ return "";
}
}
14 years, 12 months
java/code
by Miroslav Suchý
java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/ProxyHandler.java | 11 +++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
New commits:
commit a30e8abde70f098f732ca8736cc51cd9171e5e65
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Jun 4 18:06:54 2009 +0200
499399 - api call proxy.createMonitoringScout now return scout shared key
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/ProxyHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/ProxyHandler.java
index 57daf18..081b813 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/ProxyHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/ProxyHandler.java
@@ -57,15 +57,16 @@ public class ProxyHandler extends BaseHandler {
/**
* Create Monitoring Scout for proxy.
* @param clientcert client certificate of the system.
- * @return 1 on success, 0 if system is not proxy (scout is not created)
+ * @return string - scout shared key on success,
+ * empty string if system is not proxy (scout is not created)
* @throws MethodInvalidParamException thrown if certificate is invalid.
* @since 10.7
*
* @xmlrpc.doc Create Monitoring Scout for proxy.
* @xmlrpc.param #param_desc("string", "systemid", "systemid file")
- * @xmlrpc.returntype #return_int_success()
+ * @xmlrpc.returntype string
*/
- public int createMonitoringScout(String clientcert)
+ public String createMonitoringScout(String clientcert)
throws MethodInvalidParamException {
StringReader rdr = new StringReader(clientcert);
@@ -108,10 +109,10 @@ public class ProxyHandler extends BaseHandler {
SatClusterFactory.saveSatCluster(scout);
SatClusterFactory.saveSatNode(node);
- return 1;
+ return node.getScoutSharedKey();
}
else {
- return 0;
+ return "";
}
}
14 years, 12 months
Branch 'VADER' - java/code
by Devan Goodwin
java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml | 15 ------
java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java | 23 ----------
java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java | 9 ---
3 files changed, 2 insertions(+), 45 deletions(-)
New commits:
commit 7558a5fd901633f0457fbfb7644bbc86d5cdb9eb
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Thu Jun 4 13:04:58 2009 -0300
Revert "adding better support for kickstart cent, whereby we install/udpate the client packages on all distros and not just RHEL-2,3,4"
This reverts commit f5376cb97e47c0a917b2234636013a5d96f99cfb.
This change conflicts with the fix for bugzilla #448697, and we're not
entirely sure this is the correct way to proceed for CentOS in any case.
(it rapidly gets unmaintainable with different versions of
CentOS/Fedora/etc).
Conflicts:
java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
index 4d860a8..92fbc33 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
@@ -1028,21 +1028,6 @@ SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id
</query>
</mode>
-<mode name="latest_package_equal_in_tree">
- <query params="cid, name">
-SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id
- FROM rhnPackageName PN inner join
- rhnChannelNewestPackage CP on CP.name_id = PN.id inner join
- rhnChannel C on C.id = Cp.channel_id inner join
- rhnPackage P on P.id = CP.package_id inner join
- rhnPackageEvr EVR on P.evr_id = EVR.id
- WHERE ( C.id = :cid or C.parent_channel = :cid)
- AND PN.name = :name
- order by EVR.evr DESC
- </query>
-</mode>
-
-
<mode name="latest_package_like">
<query params="cid, name">
SELECT CP.package_id, CP.name_id, CP.evr_id
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 41433a2..6add7da 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -1381,29 +1381,6 @@ public class ChannelManager extends BaseManager {
}
/**
- * Get the id of latest packages located in the channel tree
- * where channelId is a parent
- *
- * @param channelId to lookup package against
- * @param packageName to check
- * @return List containing Maps of "CP.package_id, CP.name_id, CP.evr_id"
- */
- public static Long getLatestPackageEqualInTree(Long channelId, String packageName) {
- SelectMode m = ModeFactory.getMode("Channel_queries",
- "latest_package_equal_in_tree");
- Map params = new HashMap();
- params.put("cid", channelId);
- params.put("name", packageName);
- List results = m.execute(params);
- if (results != null && results.size() > 0) {
- Map row = (Map) results.get(0);
- return (Long) row.get("package_id");
- }
- return null;
- }
-
-
- /**
* List the latest packages equal in the passed in Channel and name
*
* @param channelId to lookup package against
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
index 1dcf2e5..d63af24 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -101,15 +101,13 @@ public class KickstartFormatter {
NEWLINE;
public static final String[] UPDATE_PKG_NAMES =
{"pyOpenSSL", "rhnlib", "libxml2-python"};
- public static final String[] FRESH_PKG_NAMES_RHEL5 =
- {"rhn-setup", "yum-rhn-plugin", "rhnsd", "rhn-client-tools", "rhnlib", "rhn-check"};
public static final String[] FRESH_PKG_NAMES_RHEL34 =
{"up2date", "up2date-gnome"};
public static final String[] FRESH_PKG_NAMES_RHEL2 =
{"rhn_register", "up2date", "rhn_register-gnome", "up2date-gnome"};
private static final String UPDATE_OPT_PATH = "/tmp/rhn_rpms/optional/";
private static final String UPDATE_CMD = "rpm -Uvh --replacepkgs --replacefiles ";
- private static final String FRESH_CMD = "rpm -Uvh /tmp/rhn_rpms/*rpm";
+ private static final String FRESH_CMD = "rpm -Fvh /tmp/rhn_rpms/*rpm";
private static final String IMPORT_RHN_KEY5 =
"rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release";
private static final String IMPORT_RHN_KEY34 =
@@ -816,12 +814,9 @@ public class KickstartFormatter {
else if (ksdata.isRhel3() || ksdata.isRhel4()) {
pkglist = FRESH_PKG_NAMES_RHEL34;
}
- else {
- pkglist = FRESH_PKG_NAMES_RHEL5;
- }
HashSet retval = new HashSet();
for (int i = 0; i < pkglist.length; i++) {
- Long packageId = ChannelManager.getLatestPackageEqualInTree(c.getId(),
+ Long packageId = ChannelManager.getLatestPackageEqual(c.getId(),
pkglist[i]);
if (packageId != null) {
Package p = PackageFactory.lookupByIdAndUser(packageId, user);
14 years, 12 months