java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.hbm.xml | 7
+++++
java/code/src/com/redhat/rhn/domain/kickstart/KickstartFactory.java | 13
++++++++++
java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/keys/CryptoKeysHandler.java | 7
+++++
3 files changed, 27 insertions(+)
New commits:
commit c2454a83ef94bf4d3552c13ba210bd61507dbb68
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Wed Nov 9 11:11:18 2011 +0100
699489 - regenerate affected kickstart profiles, when updating crypto key
diff --git a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.hbm.xml
b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.hbm.xml
index 7eb69f2..173897f 100644
--- a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.hbm.xml
+++ b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.hbm.xml
@@ -112,6 +112,13 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
<query name="KickstartData.cobblerIds">
<![CDATA[select t.cobblerId from com.redhat.rhn.domain.kickstart.KickstartData
as t]]>
</query>
+ <query name="KickstartData.findByCKeyDescription">
+ <![CDATA[
+ select kd from com.redhat.rhn.domain.kickstart.KickstartData kd,
+ com.redhat.rhn.domain.kickstart.crypto.CryptoKey ck
+ where ck.description = :ck_description
+ and ck in elements(kd.cryptoKeys)]]>
+ </query>
<sql-query name="commandSort">
<load-collection alias="sortcol"
role="com.redhat.rhn.domain.kickstart.KickstartData.commands"/>
diff --git a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartFactory.java
b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartFactory.java
index 6e26939..4ce2872 100644
--- a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartFactory.java
@@ -608,6 +608,19 @@ public class KickstartFactory extends HibernateFactory {
}
/**
+ * List kickstart data by crypto key
+ * @param ckDescription crypto key description
+ * @return List of kickstart data with associated crypto key
+ */
+ public static List<KickstartData> listKickstartDataByCKeyDescription(
+ String ckDescription) {
+ Map<String, Object> params = new HashMap<String, Object>();
+ params.put("ck_description", ckDescription);
+ return singleton.listObjectsByNamedQuery(
+ "KickstartData.findByCKeyDescription", params, true);
+ }
+
+ /**
* list all kickstart trees stored in the satellite
* @return list of kickstart trees
*/
diff --git
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/keys/CryptoKeysHandler.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/keys/CryptoKeysHandler.java
index 32ce62c..8975746 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/keys/CryptoKeysHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/keys/CryptoKeysHandler.java
@@ -16,6 +16,8 @@ package com.redhat.rhn.frontend.xmlrpc.kickstart.keys;
import com.redhat.rhn.common.db.datasource.DataResult;
import com.redhat.rhn.common.validator.ValidatorError;
+import com.redhat.rhn.domain.kickstart.KickstartData;
+import com.redhat.rhn.domain.kickstart.KickstartFactory;
import com.redhat.rhn.domain.kickstart.crypto.CryptoKey;
import
com.redhat.rhn.domain.org.Org;
import com.redhat.rhn.domain.user.User;
@@ -167,6 +169,11 @@ public class CryptoKeysHandler extends BaseHandler {
cmd.setContents(content);
cmd.store(); // in this case we do not expect any error
// because we do not touch description
+
+ for (KickstartData kData :
+ KickstartFactory.listKickstartDataByCKeyDescription(description)) {
+ KickstartFactory.saveKickstartData(kData);
+ }
return 1;
}