2 commits - java/code java/spacewalk-java.spec rel-eng/packages
by Tomas Lestach
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_ko.xml | 2 +-
java/spacewalk-java.spec | 7 ++++++-
rel-eng/packages/spacewalk-java | 2 +-
3 files changed, 8 insertions(+), 3 deletions(-)
New commits:
commit fc0c6a1c4c1b3d11d8f19d7566f34f32d26a5eb6
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Aug 23 17:20:35 2013 +0200
Automatic commit of package [spacewalk-java] release [2.1.28-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 9d9d37b..cb0ca76 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -28,7 +28,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 2.1.27
+Version: 2.1.28
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -771,6 +771,11 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Fri Aug 23 2013 Tomas Lestach <tlestach(a)redhat.com> 2.1.28-1
+- 989275 - fix ISE when changing base channel with korean locale prefs
+- 993047 - adding missing space after dot in translation strings
+- 993047 - throw correct exception if activation key already exists
+
* Fri Aug 23 2013 Tomas Kasparek <tkasparek(a)redhat.com> 2.1.27-1
- Perl to JSP port: Single system Remote Command
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 6ed8a5d..573757f 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-2.1.27-1 java/
+2.1.28-1 java/
commit a5e2f272cf843212bc8f3def0aa66da343f2a4e8
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Aug 23 17:12:59 2013 +0200
989275 - fix ISE when changing base channel with korean locale prefs
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_ko.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_ko.xml
index d386ee8..f03e57c 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_ko.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_ko.xml
@@ -22635,7 +22635,7 @@ Alternatively, you will want to download <strong>Incremental Channel Conte
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/SystemChannels.do</context>
</context-group>
- <target>기본 소프트웨어 채널 수정 </target>
+ <target>기본 소프트웨어 채널 수정</target>
</trans-unit>
<trans-unit id="guestlimited.jsp.title">
<source>@@PRODUCT_NAME@@ - Virtualization Entitlements - Virtualization Hosts</source>
10 years, 8 months
3 commits - java/code utils/spacewalk-common-channels
by Tomas Lestach
java/code/src/com/redhat/rhn/FaultException.java | 27 ++++++++++
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_bn_IN.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_de.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_es.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_fr.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_gu.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_hi.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_it.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ja.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ko.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_pa.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_pt_BR.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ru.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ta.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_zh_CN.xml | 2
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_zh_TW.xml | 2
java/code/src/com/redhat/rhn/frontend/xmlrpc/activationkey/ActivationKeyHandler.java | 3 -
utils/spacewalk-common-channels | 3 -
19 files changed, 46 insertions(+), 19 deletions(-)
New commits:
commit 89de9eb0893917e669410d8fe4e31518d754b45d
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Aug 23 15:00:00 2013 +0200
993047 - ignore, if activation key already exists
diff --git a/utils/spacewalk-common-channels b/utils/spacewalk-common-channels
index 43edcd1..1063cb6 100755
--- a/utils/spacewalk-common-channels
+++ b/utils/spacewalk-common-channels
@@ -273,7 +273,8 @@ Create everything as well as unlimited activation key for every channel:
try:
client.activationkey.create(*ak_args)
except xmlrpclib.Fault, e:
- sys.stderr.write("ERROR: %s: %s\n" % (
+ if e.faultCode != 1091: # ignore if ak exists
+ sys.stderr.write("ERROR: %s: %s\n" % (
base_info['label'], e.faultString))
else:
# check whether channel exists
commit ffe5ae59460af783a8c93f4de831616ce8ff504c
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Aug 23 14:34:59 2013 +0200
993047 - adding missing space after dot in translation strings
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_bn_IN.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_bn_IN.xml
index 5353efa..a635bf1 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_bn_IN.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_bn_IN.xml
@@ -7694,7 +7694,7 @@ Follow this url to see the full list of inactive systems:
<target/>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_de.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_de.xml
index c414698..6e9fbdf 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_de.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_de.xml
@@ -8544,7 +8544,7 @@ Folgen Sie dieser URL für die vollständige Liste inaktiver Systeme:
<target>Eine Organisation muss angegeben werden</target>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
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 6925e87..6e777fe 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
@@ -6855,7 +6855,7 @@ Follow this url to see the full list of inactive systems:
</context-group>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_es.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_es.xml
index f483d05..92fefb1 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_es.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_es.xml
@@ -8544,7 +8544,7 @@ Vaya a esta dirección para ver la lista completa de sistemas inactivos:
<target>Debe especificar una organización</target>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_fr.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_fr.xml
index 9ef5dd5..e987e6a 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_fr.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_fr.xml
@@ -8545,7 +8545,7 @@ Suivez cet url pour obtenir la liste complète des systèmes inactifs :
<target>Une organisation doit être spécifiée</target>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_gu.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_gu.xml
index 1d935a5..0dfd6ce 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_gu.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_gu.xml
@@ -7688,7 +7688,7 @@ Follow this url to see the full list of inactive systems:
<target/>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_hi.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_hi.xml
index cd9b3b2..359a228 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_hi.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_hi.xml
@@ -7688,7 +7688,7 @@ Follow this url to see the full list of inactive systems:
<target/>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_it.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_it.xml
index fca69c9..2c8bfa6 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_it.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_it.xml
@@ -8543,7 +8543,7 @@ Seguite l'url sotto riportato per visualizzare l'elenco completo di sistemi inat
<target>È necessario specificare una organizzazione</target>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ja.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ja.xml
index 4718e0a..69816d0 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ja.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ja.xml
@@ -8542,7 +8542,7 @@ Follow this url to see the full list of inactive systems:
<target>組織を指定する必要があります。</target>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ko.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ko.xml
index be96c20..057bd1c 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ko.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ko.xml
@@ -8544,7 +8544,7 @@ Follow this url to see the full list of inactive systems:
<target>조직을 지정해야 합니다 </target>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_pa.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_pa.xml
index b1b6f7d..927bb1b 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_pa.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_pa.xml
@@ -7689,7 +7689,7 @@ Follow this url to see the full list of inactive systems:
<target/>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_pt_BR.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_pt_BR.xml
index 7bda05e..8eb8b80 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_pt_BR.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_pt_BR.xml
@@ -8530,7 +8530,7 @@ Follow this url to see the full list of inactive systems:
<target>Uma organização deve ser especificada</target>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ru.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ru.xml
index 9d3da60..7100503 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ru.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ru.xml
@@ -8540,7 +8540,7 @@ Follow this url to see the full list of inactive systems:
<target>Необходимо выбрать организацию</target>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ta.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ta.xml
index 23a3c91..05ac4a2 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ta.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_ta.xml
@@ -7687,7 +7687,7 @@ url பின்பற்றி செயலிழக்கப்பட்ட
<target/>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_zh_CN.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_zh_CN.xml
index dbcc1bd..6717e0b 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_zh_CN.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_zh_CN.xml
@@ -8544,7 +8544,7 @@ Follow this url to see the full list of inactive systems:
<target>必须指定一个组织。</target>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_zh_TW.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_zh_TW.xml
index 19122aa..9ed9bba 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_zh_TW.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_zh_TW.xml
@@ -8543,7 +8543,7 @@ Follow this url to see the full list of inactive systems:
<target>必須指定一個組織</target>
</trans-unit>
<trans-unit id="system.entitle.invalid_addon_entitlement">
- <source>Invalid add-on entitlement [{0}] provided.No such entitlement exists.</source>
+ <source>Invalid add-on entitlement [{0}] provided. No such entitlement exists.</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/systems/details/Overview.do</context>
</context-group>
commit 8fdd82d14192e2497c8a80d25e95fe40861ffd56
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Aug 23 12:29:51 2013 +0200
993047 - throw correct exception if activation key already exists
diff --git a/java/code/src/com/redhat/rhn/FaultException.java b/java/code/src/com/redhat/rhn/FaultException.java
index 03cd282..50998fc 100644
--- a/java/code/src/com/redhat/rhn/FaultException.java
+++ b/java/code/src/com/redhat/rhn/FaultException.java
@@ -16,6 +16,11 @@
package com.redhat.rhn;
import com.redhat.rhn.common.localization.LocalizationService;
+import com.redhat.rhn.common.validator.ValidatorError;
+import com.redhat.rhn.common.validator.ValidatorResult;
+import com.redhat.rhn.common.validator.ValidatorWarning;
+
+import java.util.Iterator;
/**
* Generic XML RPC fault
@@ -72,6 +77,28 @@ public class FaultException extends RuntimeException {
}
/**
+ * create an exception from a ValidatorResult
+ * @param errorIn error number
+ * @param labelIn label
+ * @param resultIn validator result
+ * @return new FaultException
+ */
+ public static FaultException create(int errorIn, String labelIn,
+ ValidatorResult resultIn) {
+ for (Iterator <ValidatorError> iter = resultIn.getErrors().iterator();
+ iter.hasNext();) {
+ ValidatorError ve = iter.next();
+ return new FaultException(errorIn, labelIn, ve.getKey(), ve.getValues());
+ }
+ for (Iterator <ValidatorWarning> iter = resultIn.getWarnings().iterator();
+ iter.hasNext();) {
+ ValidatorWarning vw = iter.next();
+ return new FaultException(errorIn, labelIn, vw.getKey(), vw.getValues());
+ }
+ return new FaultException(errorIn, labelIn, "");
+ }
+
+ /**
* Returns the value of errorCode
* @return int errorCode
*/
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/activationkey/ActivationKeyHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/activationkey/ActivationKeyHandler.java
index b950cf9..4085f11 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/activationkey/ActivationKeyHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/activationkey/ActivationKeyHandler.java
@@ -35,7 +35,6 @@ import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RhnValidationHelper;
import com.redhat.rhn.frontend.xmlrpc.BaseHandler;
import com.redhat.rhn.frontend.xmlrpc.InvalidChannelException;
-import com.redhat.rhn.frontend.xmlrpc.InvalidEntitlementException;
import com.redhat.rhn.frontend.xmlrpc.InvalidPackageException;
import com.redhat.rhn.frontend.xmlrpc.InvalidServerGroupException;
import com.redhat.rhn.frontend.xmlrpc.MissingEntitlementException;
@@ -186,7 +185,7 @@ public class ActivationKeyHandler extends BaseHandler {
return newKey.getKey();
}
catch (ValidatorException ve) {
- throw new InvalidEntitlementException(ve);
+ throw FaultException.create(1091, "activationkey", ve.getResult());
}
catch (NonUniqueObjectException e) {
throw new ActivationKeyAlreadyExistsException();
10 years, 9 months
Changes to 'refs/tags/spacewalk-java-2.1.27-1'
by Tomáš Kašpárek
Tag 'spacewalk-java-2.1.27-1' created by Tomas Kasparek <tkasparek(a)redhat.com> at 2013-08-23 12:41 +0000
Tagging package [spacewalk-java] version [2.1.27-1] in directory [java/].
Changes since spacewalk-java-2.1.26-1:
Bo Maryniuk (1):
Perl to JSP port: Single system Remote Command
Tomas Kasparek (1):
Automatic commit of package [spacewalk-java] release [2.1.27-1].
---
java/code/src/com/redhat/rhn/frontend/action/systems/SystemRemoteCommandAction.java | 326 ++++++++++
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 17
java/code/webapp/WEB-INF/nav/system_detail.xml | 6
java/code/webapp/WEB-INF/pages/systems/system-remote-command.jsp | 60 +
java/code/webapp/WEB-INF/struts-config.xml | 10
java/spacewalk-java.spec | 5
rel-eng/packages/spacewalk-java | 2
7 files changed, 420 insertions(+), 6 deletions(-)
---
10 years, 9 months
java/spacewalk-java.spec rel-eng/packages
by Tomáš Kašpárek
java/spacewalk-java.spec | 5 ++++-
rel-eng/packages/spacewalk-java | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
New commits:
commit 4858be53133beb36ba1088ea953ab1f0c2b4bfbc
Author: Tomas Kasparek <tkasparek(a)redhat.com>
Date: Fri Aug 23 14:41:17 2013 +0200
Automatic commit of package [spacewalk-java] release [2.1.27-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index c19d61f..9d9d37b 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -28,7 +28,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 2.1.26
+Version: 2.1.27
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -771,6 +771,9 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Fri Aug 23 2013 Tomas Kasparek <tkasparek(a)redhat.com> 2.1.27-1
+- Perl to JSP port: Single system Remote Command
+
* Fri Aug 23 2013 Tomas Kasparek <tkasparek(a)redhat.com> 2.1.26-1
- removing redundant call
- Perl to JSP port: SSM/Errata
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index b021a6c..6ed8a5d 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-2.1.26-1 java/
+2.1.27-1 java/
10 years, 9 months
java/code
by Tomáš Kašpárek
java/code/src/com/redhat/rhn/frontend/action/systems/SystemRemoteCommandAction.java | 326 ++++++++++
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 17
java/code/webapp/WEB-INF/nav/system_detail.xml | 6
java/code/webapp/WEB-INF/pages/systems/system-remote-command.jsp | 60 +
java/code/webapp/WEB-INF/struts-config.xml | 10
5 files changed, 415 insertions(+), 4 deletions(-)
New commits:
commit 0cea563c3fd5a0cf2c78a8798d615c5041b557b0
Author: Bo Maryniuk <bo(a)suse.de>
Date: Fri Aug 23 13:29:33 2013 +0200
Perl to JSP port: Single system Remote Command
diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/SystemRemoteCommandAction.java b/java/code/src/com/redhat/rhn/frontend/action/systems/SystemRemoteCommandAction.java
new file mode 100644
index 0000000..2f9915f
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/action/systems/SystemRemoteCommandAction.java
@@ -0,0 +1,326 @@
+/**
+ * Copyright (c) 2013 SUSE
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+
+package com.redhat.rhn.frontend.action.systems;
+
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+import org.apache.struts.action.DynaActionForm;
+
+import com.redhat.rhn.common.localization.LocalizationService;
+import com.redhat.rhn.common.util.DatePicker;
+import com.redhat.rhn.common.util.StringUtil;
+import com.redhat.rhn.common.util.StringUtil.ScriptCheckResult;
+import com.redhat.rhn.domain.action.script.ScriptRunAction;
+import com.redhat.rhn.domain.server.Server;
+import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.manager.action.ActionManager;
+import com.redhat.rhn.manager.system.SystemManager;
+
+/**
+ * Action for the single system remote command scheduling.
+ *
+ * @author Bo Maryniuk <bo(a)suse.de>
+ */
+public class SystemRemoteCommandAction extends RhnAction {
+ /**
+ * Class to retention form data.
+ */
+ public static final class FormData {
+ public static final String UID = "uid";
+ public static final String GID = "gid";
+ public static final String SCRIPT = "script_body";
+ public static final String LABEL = "lbl";
+ public static final String TIMEOUT = "timeout";
+ public static final Long DEFAULT_TIMEOUT = 600L;
+
+ public static final String[] MANDATORY_FIELDS = {
+ FormData.UID,
+ FormData.GID,
+ FormData.SCRIPT,
+ };
+
+ private String uid;
+ private String gid;
+ private String scriptBody;
+ private String label;
+ private Long timeout;
+
+ /**
+ * Default constructor.
+ */
+ public FormData() {
+ this.uid = "root";
+ this.gid = "root";
+ this.timeout = FormData.DEFAULT_TIMEOUT;
+ this.label = "";
+ this.scriptBody = "#!/bin/sh\n# Add your shell script below\n";
+ }
+
+ /**
+ * Get UID
+ * @return the uid
+ */
+ public String getUid() {
+ return uid;
+ }
+
+ /**
+ * Set UID
+ * @param userid the uid to set
+ * @return Form data object.
+ */
+ public FormData setUid(String userid) {
+ this.uid = userid;
+ return this;
+ }
+
+ /**
+ * Get GID
+ * @return the gid
+ */
+ public String getGid() {
+ return gid;
+ }
+
+ /**
+ * Set GID
+ * @param groupid the gid to set
+ * @return Form data object.
+ */
+ public FormData setGid(String groupid) {
+ this.gid = groupid;
+ return this;
+ }
+
+ /**
+ * Get script content.
+ * @return the scriptBody
+ */
+ public String getScriptBody() {
+ return scriptBody;
+ }
+
+ /**
+ * Set script content.
+ * @param script the content of the script to set
+ * @return Form data object.
+ */
+ public FormData setScriptBody(String script) {
+ this.scriptBody = script;
+ return this;
+ }
+
+ /**
+ * Get label
+ * @return the label
+ */
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * Set label
+ * @param commandLabel the label to set
+ * @return Form data object.
+ */
+ public FormData setLabel(String commandLabel) {
+ this.label = commandLabel;
+ return this;
+ }
+
+ /**
+ * Get timeout
+ * @return the timeout
+ */
+ public Long getTimeout() {
+ return timeout;
+ }
+
+ /**
+ * Set timeout
+ * @param commandTimeout the timeout to set
+ * @return Form data object.
+ */
+ public FormData setTimeout(Long commandTimeout) {
+ this.timeout = commandTimeout;
+ return this;
+ }
+ }
+
+
+ /**
+ * Validate form has required fields.
+ *
+ * @param form
+ * @param errorMessages
+ * @return
+ */
+ private boolean validate(DynaActionForm form,
+ ActionErrors errorMessages) {
+ boolean formValid = true;
+ for (String fid : SystemRemoteCommandAction.FormData.MANDATORY_FIELDS) {
+ if (StringUtil.nullOrValue(form.getString(fid)) == null) {
+ if (formValid) {
+ formValid = false;
+ }
+ errorMessages.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage(String.format(
+ "ssm.operations.provisioning." +
+ "remotecommand.form.%s.missing", fid)));
+ }
+ }
+
+ // Check if Script looks legit :-)
+ if (StringUtil.nullOrValue(form.getString(FormData.SCRIPT)) != null) {
+ ScriptCheckResult checkResult = StringUtil.scriptPrematureCheck(
+ form.getString(FormData.SCRIPT));
+ if (checkResult != null) {
+ formValid = false;
+ errorMessages.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage(checkResult.getMessageKey()));
+ }
+ }
+
+ return formValid;
+ }
+
+
+ /**
+ * Schedule remote action script.
+ *
+ * @param form
+ * @param user
+ * @param server
+ * @return Script action details.
+ */
+ private ScriptRunAction scheduleScript(DynaActionForm form,
+ User user,
+ Server server) {
+ Date scheduleDate = getStrutsDelegate().readDatePicker(
+ form, "date", DatePicker.YEAR_RANGE_POSITIVE);
+ List<Long> servers = new ArrayList<Long>();
+ servers.add(server.getId());
+ String label = StringUtil.nullIfEmpty(form.getString("lbl"));
+ String msg = LocalizationService
+ .getInstance()
+ .getMessage("ssm.overview.provisioning.remotecommand.staticname");
+
+ return ActionManager.scheduleScriptRun(
+ user,
+ servers,
+ (label != null ? label : MessageFormat.format(msg, server.getName())),
+ ActionManager.createScript(form.getString(FormData.UID),
+ form.getString(FormData.GID),
+ form.get(FormData.TIMEOUT) == null ?
+ FormData.DEFAULT_TIMEOUT :
+ (Long) form.get(FormData.TIMEOUT),
+ form.getString(FormData.SCRIPT)), scheduleDate);
+ }
+
+
+ /**
+ * Get form into the bean.
+ *
+ * @param form
+ * @return FormData object.
+ */
+ private FormData getFormData(DynaActionForm form) {
+ FormData data = new FormData();
+ data.setUid(form.getString(FormData.UID));
+ data.setGid(form.getString(FormData.GID));
+ data.setLabel(form.getString(FormData.LABEL));
+ data.setScriptBody(form.getString(FormData.SCRIPT));
+ data.setTimeout((Long) form.get(FormData.TIMEOUT));
+
+ return data;
+ }
+
+
+ @Override
+ public ActionForward execute(ActionMapping mapping,
+ ActionForm actionForm,
+ HttpServletRequest request,
+ HttpServletResponse response)
+ throws Exception {
+ // Prepare
+ DynaActionForm form = (DynaActionForm) actionForm;
+ RequestContext context = new RequestContext(request);
+ User user = context.getLoggedInUser();
+ Server server = SystemManager.lookupByIdAndUser(
+ context.getRequiredParam(RequestContext.SID), user);
+ ActionErrors errorMessages = new ActionErrors();
+ ActionMessages infoMessages = new ActionMessages();
+
+ // Default form values
+ request.setAttribute("formData", new SystemRemoteCommandAction.FormData());
+
+ // Process submit
+ if (form.get(RhnAction.SUBMITTED) != null) {
+ if (this.validate(form, errorMessages)) {
+ try {
+ ScriptRunAction action = this.scheduleScript(form, user, server);
+ infoMessages.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("ssm.overview.provisioning" +
+ ".remotecommand.succeed",
+ server.getId().toString(),
+ action.getId().toString(),
+ LocalizationService
+ .getInstance()
+ .formatDate(action.getEarliestAction())));
+ }
+ catch (Exception ex) {
+ errorMessages.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("ssm.operations.actionchaindetails." +
+ "scheduleerror.general.param",
+ ex.getLocalizedMessage()));
+ }
+ }
+ else {
+ request.setAttribute("formData", this.getFormData(form));
+ }
+ }
+
+ // End the page
+ request.setAttribute("date", this.getStrutsDelegate().prepopulateDatePicker(
+ request, form, "date", DatePicker.YEAR_RANGE_POSITIVE));
+ request.setAttribute("system", server);
+
+ this.getStrutsDelegate().saveMessages(request, errorMessages);
+ this.getStrutsDelegate().saveMessages(request, infoMessages);
+
+ form.getMap().clear();
+
+ return getStrutsDelegate().forwardParam(
+ mapping.findForward(RhnHelper.DEFAULT_FORWARD),
+ RequestContext.SID, server.getId().toString()
+ );
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index 62d01a2..f6dc757 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -14735,6 +14735,23 @@ any of these revisions. Are you sure you want to do this?</source>
<source>No script has been specified.</source>
</trans-unit>
+ <!-- Single System Remote Command Form Labels -->
+ <trans-unit id="ssm.overview.provisioning.remotecommand.staticname">
+ <source>Remote Command on {0}.</source>
+ </trans-unit>
+ <trans-unit id="ssm.overview.provisioning.remotecommand.succeed">
+ <source>Remote Command has been <a href="/network/systems/details/history/event.pxt?sid={0}&hid={1}">scheduled successfully</a> at <strong>{2}</strong>.</source>
+ </trans-unit>
+ <trans-unit id="ssm.overview.provisioning.remotecommand.header">
+ <source>Remote Command on {0}</source>
+ </trans-unit>
+ <trans-unit id="">
+ <source></source>
+ </trans-unit>
+ <trans-unit id="">
+ <source></source>
+ </trans-unit>
+
<!-- SSM Remote Command Form Labels -->
<trans-unit id="ssm.operations.provisioning.remotecommand.header">
<source>Schedule Remote Command</source>
diff --git a/java/code/webapp/WEB-INF/nav/system_detail.xml b/java/code/webapp/WEB-INF/nav/system_detail.xml
index 5d2cdf9..cfd8456 100644
--- a/java/code/webapp/WEB-INF/nav/system_detail.xml
+++ b/java/code/webapp/WEB-INF/nav/system_detail.xml
@@ -4,9 +4,7 @@
<rhn-tab name="Details" url="/rhn/systems/details/Overview.do">
<rhn-tab name="Overview" url="/rhn/systems/details/Overview.do" />
<rhn-tab name="Properties" url="/rhn/systems/details/Edit.do" />
- <rhn-tab name="Remote Command" acl="system_feature(ftr_remote_command)">
- <rhn-tab-url>/network/systems/details/remote_commands.pxt</rhn-tab-url>
- </rhn-tab>
+ <rhn-tab name="Remote Command" url="/rhn/systems/details/SystemRemoteCommand.do" />
<rhn-tab name="Connection" url="/network/systems/details/connection.pxt" acl="org_has_proxies()"/>
<rhn-tab name="Proxy" url="/network/systems/details/proxy.pxt" acl="user_role(org_admin); system_feature(ftr_proxy_capable) or system_is_proxy(); org_channel_family(rhn-proxy) or system_is_proxy(); child_channel_candidate(rhn-proxy) or system_is_proxy(); not system_is_satellite(); not is_solaris();system_feature(ftr_kickstart) or system_feature(ftr_snapshotting)">
<rhn-tab name="Activation" url="/network/systems/details/proxy.pxt" />
@@ -14,7 +12,7 @@
</rhn-tab>
<rhn-tab name="Reactivation" url="/network/systems/details/activation.pxt" acl="system_feature(ftr_agent_smith)"/>
<rhn-tab name="Hardware">
- <rhn-tab-url>/rhn/systems/details/SystemHardware.do</rhn-tab-url>
+ <rhn-tab-url>/rhn/systems/details/SystemHardware.do</rhn-tab-url>
</rhn-tab>
<rhn-tab name="Migrate" acl="user_role(org_admin)" url="/rhn/systems/details/SystemMigrate.do" />
<rhn-tab name="Notes">
diff --git a/java/code/webapp/WEB-INF/pages/systems/system-remote-command.jsp b/java/code/webapp/WEB-INF/pages/systems/system-remote-command.jsp
new file mode 100644
index 0000000..9d9dc22
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/systems/system-remote-command.jsp
@@ -0,0 +1,60 @@
+<%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %>
+<%@ page language="java" import="com.redhat.rhn.frontend.action.systems.SystemRemoteCommandAction.FormData"%>
+
+<html:xhtml/>
+
+<html>
+ <head><meta name="page-decorator" content="none" /></head>
+ <body>
+ <%@ include file="/WEB-INF/pages/common/fragments/systems/system-header.jspf" %>
+ <h2><bean:message key="ssm.overview.provisioning.remotecommand.header" arg0="${system.name}"/></h2>
+ <html:form action="/systems/details/SystemRemoteCommand" method="post">
+ <rhn:csrf />
+ <table class="details" align="center">
+ <tbody>
+ <tr>
+ <th><bean:message key="ssm.operations.provisioning.remotecommand.form.uid.label"/><span class="required-form-field">*</span>:</th>
+ <td><input type="text" name="uid" maxlength="32" value="${formData.uid}" size=""></td>
+ </tr>
+ <tr>
+ <th><bean:message key="ssm.operations.provisioning.remotecommand.form.gid.label"/><span class="required-form-field">*</span>:</th>
+ <td><input type="text" name="gid" maxlength="32" value="${formData.gid}" size=""></td>
+ </tr>
+ <tr>
+ <th><bean:message key="ssm.operations.provisioning.remotecommand.form.timeout.label"/>:</th>
+ <td><input type="text" name="timeout" maxlength="" value="${formData.timeout}" size="6"></td>
+ </tr>
+ <tr>
+ <th><bean:message key="ssm.operations.provisioning.remotecommand.form.lbl.label"/>:</th>
+ <td><input type="text" id="lbl" name="lbl" value="${formData.label}" style="width: 100%;"></td>
+ </tr>
+ <tr>
+ <th><bean:message key="ssm.operations.provisioning.remotecommand.form.script_body.label"/><span class="required-form-field">*</span>:</th>
+ <td><textarea name="script_body" rows="8" wrap="off" style="width: 100%;">${formData.scriptBody}</textarea></td>
+ </tr>
+ <tr>
+ <th><bean:message key="ssm.operations.provisioning.remotecommand.form.date.label"/>:</th>
+ <td>
+ <jsp:include page="/WEB-INF/pages/common/fragments/date-picker.jsp">
+ <jsp:param name="widget" value="date"/>
+ </jsp:include>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <input type="hidden" name="sid" value="${system.id}">
+ <div align="right">
+ <hr>
+ <input type="submit" name="schedule" value="<bean:message key="ssm.operations.provisioning.remotecommand.form.submit" />">
+ <input type="hidden" name="submitted" value="true">
+ <hidden name="use_date" value="true" />
+ </div>
+ </html:form>
+
+ </body>
+</html>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml
index 58c6247..9b36a6e 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -3805,6 +3805,16 @@
path="/systems/details/SoftwareCrashNotes.do" redirect="true"/>
</action>
+ <action path="/systems/details/SystemRemoteCommand"
+ scope="request"
+ name="remoteCommandForm"
+ type="com.redhat.rhn.frontend.action.systems.SystemRemoteCommandAction"
+ className="com.redhat.rhn.frontend.struts.RhnActionMapping">
+ <set-property property="acls"
+ value="system_feature(ftr_system_grouping)"/>
+ <forward name="default"
+ path="/WEB-INF/pages/systems/system-remote-command.jsp" />
+ </action>
<action path="/systems/details/groups/ListRemove"
scope="request"
10 years, 9 months
Changes to 'refs/tags/spacewalk-java-2.1.26-1'
by Tomáš Kašpárek
Tag 'spacewalk-java-2.1.26-1' created by Tomas Kasparek <tkasparek(a)redhat.com> at 2013-08-23 10:51 +0000
Tagging package [spacewalk-java] version [2.1.26-1] in directory [java/].
Changes since spacewalk-utils-2.1.10-1:
Bo Maryniuk (1):
Perl to JSP port: SSM/Errata
Tomas Kasparek (2):
removing redundant call
Automatic commit of package [spacewalk-java] release [2.1.26-1].
---
java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml | 52 ++
java/code/src/com/redhat/rhn/common/messaging/MessageQueue.java | 4
java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java | 200 ++++++++++
java/code/src/com/redhat/rhn/frontend/events/SsmErrataAction.java | 59 ++
java/code/src/com/redhat/rhn/frontend/events/SsmErrataEvent.java | 112 +++++
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 26 +
java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java | 35 +
java/code/webapp/WEB-INF/nav/ssm.xml | 20 -
java/code/webapp/WEB-INF/pages/common/fragments/systems/system_listdisplay.jspf | 28 -
java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp | 153 +++++++
java/code/webapp/WEB-INF/struts-config.xml | 43 +-
java/spacewalk-java.spec | 7
rel-eng/packages/spacewalk-java | 2
13 files changed, 699 insertions(+), 42 deletions(-)
---
10 years, 9 months
java/spacewalk-java.spec rel-eng/packages
by Tomáš Kašpárek
java/spacewalk-java.spec | 7 ++++++-
rel-eng/packages/spacewalk-java | 2 +-
2 files changed, 7 insertions(+), 2 deletions(-)
New commits:
commit 9062a08e64a5b4b129555b57799445b7d20dc581
Author: Tomas Kasparek <tkasparek(a)redhat.com>
Date: Fri Aug 23 12:51:41 2013 +0200
Automatic commit of package [spacewalk-java] release [2.1.26-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index df17bec..c19d61f 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -28,7 +28,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 2.1.25
+Version: 2.1.26
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -771,6 +771,11 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Fri Aug 23 2013 Tomas Kasparek <tkasparek(a)redhat.com> 2.1.26-1
+- removing redundant call
+- Perl to JSP port: SSM/Errata
+- 999948 - fix broken equals method
+
* Thu Aug 22 2013 Tomas Kasparek <tkasparek(a)redhat.com> 2.1.25-1
- removing @Override annotation from method that isn't overriden
- SSM/Misc/Reboot: Standard system list, optimized action
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 430b41d..b021a6c 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-2.1.25-1 java/
+2.1.26-1 java/
10 years, 9 months
2 commits - java/code
by Tomáš Kašpárek
java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml | 52 ++
java/code/src/com/redhat/rhn/common/messaging/MessageQueue.java | 4
java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java | 200 ++++++++++
java/code/src/com/redhat/rhn/frontend/events/SsmErrataAction.java | 59 ++
java/code/src/com/redhat/rhn/frontend/events/SsmErrataEvent.java | 112 +++++
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 26 +
java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java | 35 +
java/code/webapp/WEB-INF/nav/ssm.xml | 20 -
java/code/webapp/WEB-INF/pages/common/fragments/systems/system_listdisplay.jspf | 28 -
java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp | 153 +++++++
java/code/webapp/WEB-INF/struts-config.xml | 43 +-
11 files changed, 692 insertions(+), 40 deletions(-)
New commits:
commit 896f7420c7274f745af4047abf39e6c710386101
Author: Tomas Kasparek <tkasparek(a)redhat.com>
Date: Fri Aug 23 10:53:57 2013 +0200
removing redundant call
diff --git a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
index db2eaa5..eebc0dc 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
@@ -191,7 +191,6 @@ public class ErrataListAction extends RhnAction implements Listable {
}
systemOverview.setEntitlement(entitlement);
- systemOverview.getEntitlementLevel();
}
}
}
commit d2343168a2fa34346c3bfa7a2812cf407e39d8ec
Author: Bo Maryniuk <bo(a)suse.de>
Date: Thu Aug 22 18:36:07 2013 +0200
Perl to JSP port: SSM/Errata
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
index 69027df..a4a1a07 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
@@ -941,6 +941,58 @@ SELECT E.id, E.advisory, E.advisory_name, E.advisory_type, E.update_date, E.syn
ORDER BY E.update_date DESC
</query>
+<mode name="in_set_and_affected_by_errata" class="com.redhat.rhn.frontend.dto.SystemOverview">
+ <query params="eid, user_id">
+ SELECT S.ID, S.name,
+ (SELECT count(errata_id)
+ FROM rhnservererratatypeview
+ WHERE server_id = S.id AND errata_type = 'Security Advisory') AS security_errata,
+ (SELECT count(errata_id)
+ FROM rhnservererratatypeview
+ WHERE server_id = S.id AND errata_type = 'Product Enhancement Advisory') AS enhancement_errata,
+ (SELECT count(errata_id)
+ FROM rhnservererratatypeview
+ WHERE server_id = S.id AND errata_type = 'Bug Fix Advisory') AS bug_errata,
+ (SELECT COUNT(pn.id) AS COUNT
+ FROM rhnPackageName PN,
+ (SELECT SOP.package_name_id AS name_id, MAX(PE.evr) evr
+ FROM rhnPackageEVR PE, rhnServerOutdatedPackages SOP
+ WHERE SOP.server_id = S.id
+ AND SOP.package_evr_id = PE.id
+ GROUP BY SOP.package_name_id) full_list
+ WHERE full_list.name_id = PN.id) AS pending_updates
+ FROM rhnServer S, rhnSet ST
+ WHERE EXISTS (SELECT 1
+ FROM rhnServerNeededErrataCache SNEC, rhnUserServerPerms USP
+ WHERE SNEC.errata_id = :eid
+ AND USP.user_id = :user_id
+ AND SNEC.server_id = USP.server_id
+ AND USP.server_id = S.id)
+ AND ST.user_id = :user_id
+ AND ST.label = 'system_list'
+ AND ST.element = S.id
+ORDER BY UPPER(COALESCE(S.NAME, '(none)')), S.ID
+ </query>
+ <elaborator name="system_overview" />
+ <elaborator name="entitlements"/>
+</mode>
+
+
+<mode name="relevant_to_system_set" class="com.redhat.rhn.frontend.dto.ErrataOverview">
+ <query params="user_id">
+SELECT E.id, E.advisory, E.advisory_name, E.advisory_type, E.update_date, E.synopsis as advisory_synopsis
+ FROM rhnErrata E,
+ (SELECT SNEC.errata_id, COUNT(SNEC.server_id) C
+ FROM rhnServerNeededErrataCache SNEC
+ WHERE SNEC.server_id IN (SELECT element FROM rhnSet WHERE user_id = :user_id AND label = 'system_list')
+ AND errata_id IS NOT NULL
+ GROUP BY SNEC.errata_id) X
+ WHERE E.id = X.errata_id
+ORDER BY E.update_date DESC, E.id
+ </query>
+ <elaborator name="relevant_to_system_set_elab" />
+</mode>
+
<query name="relevant_to_system_set_elab" params="user_id">
SELECT E.id, E.advisory, E.advisory_name, E.advisory_type,
E.synopsis AS advisory_synopsis,
diff --git a/java/code/src/com/redhat/rhn/common/messaging/MessageQueue.java b/java/code/src/com/redhat/rhn/common/messaging/MessageQueue.java
index 056f947..19b6cca 100644
--- a/java/code/src/com/redhat/rhn/common/messaging/MessageQueue.java
+++ b/java/code/src/com/redhat/rhn/common/messaging/MessageQueue.java
@@ -35,6 +35,8 @@ import com.redhat.rhn.frontend.events.SsmChangeChannelSubscriptionsAction;
import com.redhat.rhn.frontend.events.SsmChangeChannelSubscriptionsEvent;
import com.redhat.rhn.frontend.events.SsmDeleteServersAction;
import com.redhat.rhn.frontend.events.SsmDeleteServersEvent;
+import com.redhat.rhn.frontend.events.SsmErrataAction;
+import com.redhat.rhn.frontend.events.SsmErrataEvent;
import com.redhat.rhn.frontend.events.TraceBackAction;
import com.redhat.rhn.frontend.events.TraceBackEvent;
import com.redhat.rhn.frontend.events.UpdateErrataCacheAction;
@@ -285,6 +287,8 @@ public class MessageQueue {
CloneErrataEvent.class);
MessageQueue.registerAction(new NewCloneErrataAction(),
NewCloneErrataEvent.class);
+ MessageQueue.registerAction(new SsmErrataAction(),
+ SsmErrataEvent.class);
// Misc
MessageQueue.registerAction(new SsmSystemRebootAction(),
diff --git a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
new file mode 100644
index 0000000..db2eaa5
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
@@ -0,0 +1,201 @@
+/**
+ * Copyright (c) 2013 SUSE
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+
+package com.redhat.rhn.frontend.action.ssm;
+
+import com.redhat.rhn.common.localization.LocalizationService;
+import com.redhat.rhn.common.messaging.MessageQueue;
+import com.redhat.rhn.common.util.DatePicker;
+import com.redhat.rhn.domain.entitlement.Entitlement;
+import com.redhat.rhn.domain.rhnset.RhnSet;
+import com.redhat.rhn.domain.server.Server;
+import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.frontend.action.SetLabels;
+import com.redhat.rhn.frontend.dto.SystemOverview;
+import com.redhat.rhn.frontend.events.SsmErrataEvent;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListSessionSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
+import com.redhat.rhn.manager.errata.ErrataManager;
+import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import com.redhat.rhn.manager.system.SystemManager;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+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 org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+import org.apache.struts.action.DynaActionForm;
+
+/**
+ *
+ * @author bo
+ */
+public class ErrataListAction extends RhnAction implements Listable {
+ //public static final String LIST_NAME = "errataList";
+ public static final String SELECTOR = "type";
+ public static final String RP_AFFECTED_SYSTEMS = "afs"; // Request param
+ private static final String MULTIBIND = "_bind_." +
+ ErrataListAction.class.getCanonicalName();
+ private static final String MULTIBIND_SUMMARY = "summaryList";
+ private static final String MULTIBIND_DETAILS = "detailsList";
+
+ /**
+ * Entry-point caller.
+ * <p/>
+ * @param mapping The ActionMapping used to select this instance.
+ * @param actionForm The optional ActionForm bean for this request.
+ * @param request The HTTP Request we are processing.
+ * @param response The HTTP Response we are processing.
+ * <p/>
+ * @return ActionForward returns an action forward
+ * @throws java.lang.Exception General exception.
+ */
+ @Override
+ public ActionForward execute(ActionMapping mapping,
+ ActionForm actionForm,
+ HttpServletRequest request,
+ HttpServletResponse response)
+ throws Exception {
+ RequestContext requestContext = new RequestContext(request);
+ User user = requestContext.getLoggedInUser();
+ DynaActionForm form = (DynaActionForm) actionForm;
+ ActionMessages actionMessages = new ActionMessages();
+
+ String forwardId = RhnHelper.DEFAULT_FORWARD;
+
+ ListRhnSetHelper setHelper = this.bindDatasets(request);
+
+ if (setHelper.isDispatched()) {
+ if (requestContext.wasDispatched("errata.jsp.apply")) {
+ List<SystemOverview> srv = SystemManager.inSet(user, SetLabels.SYSTEM_LIST);
+ List<Long> serverIds = new ArrayList<Long>();
+ for (int i = 0; i < srv.size(); i++) {
+ serverIds.add(srv.get(i).getId());
+ }
+
+ RhnSet packages = setHelper.getSet();
+ List<Long> errataIds = new ArrayList<Long>();
+ Iterator<Long> iter = packages.getElementValues().iterator();
+ while (iter.hasNext()) {
+ errataIds.add(iter.next());
+ }
+
+ Date scheduleDate = this.getStrutsDelegate().readDatePicker(
+ form, "date", DatePicker.YEAR_RANGE_POSITIVE);
+
+ MessageQueue.publish(new SsmErrataEvent(
+ user.getId(),
+ scheduleDate,
+ errataIds,
+ serverIds)
+ );
+ actionMessages.add(
+ ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("ssm.errata.message.scheduled",
+ LocalizationService.getInstance().formatDate(
+ scheduleDate, request.getLocale())));
+ forwardId = "confirm";
+ }
+ }
+
+ this.getStrutsDelegate().saveMessages(request, actionMessages);
+
+ request.setAttribute("date", this.getStrutsDelegate().prepopulateDatePicker(
+ request, (DynaActionForm) form, "date", DatePicker.YEAR_RANGE_POSITIVE));
+ request.setAttribute("parentUrl", request.getRequestURI());
+ request.setAttribute(SELECTOR, request.getParameter(SELECTOR));
+
+ return mapping.findForward(forwardId);
+ }
+
+
+ private ListRhnSetHelper bindDatasets(HttpServletRequest request) {
+ request.setAttribute(ErrataListAction.MULTIBIND,
+ ErrataListAction.MULTIBIND_SUMMARY);
+ ListRhnSetHelper shlp = new ListRhnSetHelper(this,
+ request, ErrataListAction.getSetDecl(0L));
+ shlp.setListName((String) request.getAttribute(ErrataListAction.MULTIBIND));
+ shlp.setParentUrl(request.getRequestURI());
+ shlp.execute();
+
+ if (request.getParameter(ErrataListAction.RP_AFFECTED_SYSTEMS) != null) {
+ request.setAttribute(ErrataListAction.MULTIBIND,
+ ErrataListAction.MULTIBIND_DETAILS);
+ ListSessionSetHelper h = new ListSessionSetHelper(this, request, new HashMap());
+ h.setDataSetName((String) request.getAttribute(ErrataListAction.MULTIBIND));
+ h.execute();
+ }
+
+ return shlp;
+ }
+
+
+ /**
+ * @return Returns RhnSetDecl.ERRATA
+ */
+ static RhnSetDecl getSetDecl(Long sid) {
+ return RhnSetDecl.ERRATA.createCustom(sid);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public List getResult(RequestContext context) {
+ List<SystemOverview> systems = null;
+ if (context.getRequest().getAttribute(ErrataListAction.MULTIBIND)
+ .equals(ErrataListAction.MULTIBIND_SUMMARY)) {
+ systems = ErrataManager.relevantErrataToSystemSet(context.getLoggedInUser());
+ }
+ else if (context.getRequest().getAttribute(ErrataListAction.MULTIBIND)
+ .equals(ErrataListAction.MULTIBIND_DETAILS)) {
+ systems = ErrataManager.systemsAffectedInSet(
+ context.getCurrentUser(),
+ Long.parseLong(
+ context.getRequest().getParameter(
+ ErrataListAction.RP_AFFECTED_SYSTEMS)
+ )
+ );
+ if (systems != null) {
+ for (int i = 0; i < systems.size(); i++) {
+ SystemOverview systemOverview = systems.get(i);
+ Server server = SystemManager.lookupByIdAndUser(systemOverview.getId(),
+ context.getLoggedInUser());
+ systemOverview.setChannelId(server.getBaseChannel().getId());
+ systemOverview.setChannelLabels(server.getBaseChannel().getName());
+
+ List entitlement = new ArrayList();
+ for (Iterator<Entitlement> itr = server.getEntitlements().iterator();
+ itr.hasNext();) {
+ entitlement.add(itr.next().getLabel());
+ }
+
+ systemOverview.setEntitlement(entitlement);
+ systemOverview.getEntitlementLevel();
+ }
+ }
+ }
+
+ return systems;
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/events/SsmErrataAction.java b/java/code/src/com/redhat/rhn/frontend/events/SsmErrataAction.java
new file mode 100644
index 0000000..95830e1
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/events/SsmErrataAction.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2013 SUSE
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.frontend.events;
+
+import com.redhat.rhn.common.messaging.EventMessage;
+import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.domain.user.UserFactory;
+import com.redhat.rhn.manager.errata.ErrataManager;
+import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import com.redhat.rhn.manager.ssm.SsmOperationManager;
+import org.apache.log4j.Logger;
+
+/**
+ * SSM Errata Action
+ *
+ * @author Bo Maryniuk
+ */
+public class SsmErrataAction extends AbstractDatabaseAction {
+ private static Logger log = Logger.getLogger(SsmRemovePackagesAction.class);
+
+ /** {@inheritDoc} */
+ @Override
+ protected void doExecute(EventMessage msg) {
+ SsmErrataAction.log.debug("Scheduling errata in SSM.");
+
+ SsmErrataEvent event = (SsmErrataEvent) msg;
+ User user = UserFactory.lookupById(event.getUserId());
+
+ try {
+ ErrataManager.applyErrata(user,
+ event.getErrataIds(),
+ event.getEarliest(),
+ event.getServerIds());
+ }
+ catch (Exception e) {
+ SsmErrataAction.log.error("Error scheduling SSM errata for event: " + event, e);
+ }
+ finally {
+ SsmOperationManager.completeOperation(
+ user,
+ SsmOperationManager.createOperation(user,
+ "ssm.package.remove.operationname",
+ RhnSetDecl.SYSTEMS.getLabel())
+ );
+ }
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/events/SsmErrataEvent.java b/java/code/src/com/redhat/rhn/frontend/events/SsmErrataEvent.java
new file mode 100644
index 0000000..a9b85de
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/events/SsmErrataEvent.java
@@ -0,0 +1,112 @@
+/**
+ * Copyright (c) 2013 SUSE
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.frontend.events;
+
+import com.redhat.rhn.common.messaging.EventMessage;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * SSM Errata Event object.
+ *
+ * @author Bo Maryniuk <bo(a)suse.de>
+ */
+public class SsmErrataEvent implements EventMessage {
+ private final Long userId;
+ private final Date earliest;
+ private final List<Long> errataIds;
+ private final List<Long> serverIds;
+
+ /**
+ * SSM Errata Event object constructor.
+ *
+ * @param uid User ID
+ * @param scheduleDate Earliest possible schedule.
+ * @param errataList List of erratas (ID)
+ * @param serverList List of relevant servers (ID)
+ */
+ public SsmErrataEvent(Long uid,
+ Date scheduleDate,
+ List<Long> errataList,
+ List<Long> serverList) {
+ if (uid == null) {
+ throw new IllegalArgumentException("User ID cannot be null.");
+ }
+ else if (errataList == null) {
+ throw new IllegalArgumentException("Errata IDs cannot be null");
+ }
+ else if (serverList == null) {
+ throw new IllegalArgumentException("Server IDs cannot be null");
+ }
+
+ this.userId = uid;
+ this.earliest = scheduleDate;
+ this.errataIds = errataList;
+ this.serverIds = serverList;
+ }
+
+
+ /**
+ * Get UID.
+ *
+ * @return will not be <code>null</code>
+ */
+ public Long getUserId() {
+ return userId;
+ }
+
+ /**
+ * Get earliest possible scheduling date.
+ *
+ * @return may be <code>null</code>
+ */
+ public Date getEarliest() {
+ return earliest;
+ }
+
+ /**
+ * Get errata IDs.
+ *
+ * @return List List of errata IDs
+ */
+ public List<Long> getErrataIds() {
+ return Collections.unmodifiableList(this.errataIds);
+ }
+
+ /**
+ * Get server IDs.
+ *
+ * @return List List of Server IDs
+ */
+ public List<Long> getServerIds() {
+ return Collections.unmodifiableList(this.serverIds);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String toString() {
+ return String.format("SsmErrataEvent[User: %s, Objects: %s, Systems: %s]",
+ this.getUserId(),
+ this.getErrataIds().size(),
+ this.getServerIds().size());
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String toText() {
+ return this.toString();
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index 54a8002..62d01a2 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -2769,6 +2769,12 @@ button below, and <b>will be unable to log back in</b>.</source>
<context context-type="sourcefile">/rhn/systems/details/ErrataList</context>
</context-group>
</trans-unit>
+ <trans-unit id="errata.jsp.affected">
+ <source>Affected</source>
+ <context-group name="ctx">
+ <context context-type="sourcefile">/rhn/systems/details/ErrataList</context>
+ </context-group>
+ </trans-unit>
<trans-unit id="errataconfirm.jsp.header">
<source>Confirm Errata Updates</source>
<context-group name="ctx">
@@ -3252,7 +3258,7 @@ button below, and <b>will be unable to log back in</b>.</source>
</context-group>
</trans-unit>
<trans-unit id="affectedsystems.jsp.none">
- <source>None</source>
+ <source>N/A</source>
<context-group name="ctx">
<context context-type="sourcefile">/rhn/errata/details/SystemsAffected</context>
</context-group>
@@ -4339,7 +4345,7 @@ value for this entitlement, excluding the default organization's consumption.</s
<source>Errata</source>
</trans-unit>
<trans-unit id="ssm.overview.errata.schedule">
- <source><a href="/network/systems/ssm/errata/index.pxt?pxt:trap=rhn:empty_set&set_label=errata_list">Schedule errata updates</a> relevant to selected systems</source>
+ <source><a href="/rhn/systems/ssm/ListPatches.do">Schedule errata updates</a> relevant to selected systems</source>
</trans-unit>
<trans-unit id="ssm.overview.packages">
<source>Packages</source>
@@ -4416,6 +4422,12 @@ value for this entitlement, excluding the default organization's consumption.</s
<trans-unit id="ssm.overview.misc.scap">
<source><a href="/rhn/systems/ssm/audit/ScheduleXccdf.do">Audit</a> systems with OpenSCAP</source>
</trans-unit>
+ <trans-unit id="ssm.errata.serverlist.return">
+ <source>Back to errata</source>
+ </trans-unit>
+ <trans-unit id="ssm.errata.message.scheduled">
+ <source>Errata updates <a href="/rhn/schedule/PendingActions.do">scheduled</a> at {0}.</source>
+ </trans-unit>
</group>
<!-- SSM System List -->
<group>
@@ -4619,7 +4631,7 @@ value for this entitlement, excluding the default organization's consumption.</s
<trans-unit id="ssm.misc.index.syspref.no">
<source>No</source>
</trans-unit>
-
+
<trans-unit id="ssm.misc.reboot.header">
<source>Reboot of the Systems</source>
</trans-unit>
@@ -14769,6 +14781,14 @@ any of these revisions. Are you sure you want to do this?</source>
<trans-unit id="stringutil.scriptcheck.error.noscript">
<source>Script is does not seems like doing anything.</source>
</trans-unit>
+
+ <!-- Errata -->
+ <trans-unit id="ssm.patches.list.header">
+ <source>Relevant Errata List</source>
+ </trans-unit>
+ <trans-unit id="ssm.patches.list.summary">
+ <source>The errata below apply to one or more of your selected systems.</source>
+ </trans-unit>
</group>
<!-- ssm/packages.jsp -->
diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
index a949fc0..d3b0d2c4 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
@@ -45,6 +45,7 @@ import com.redhat.rhn.frontend.dto.ChannelOverview;
import com.redhat.rhn.frontend.dto.ErrataOverview;
import com.redhat.rhn.frontend.dto.OwnedErrata;
import com.redhat.rhn.frontend.dto.PackageOverview;
+import com.redhat.rhn.frontend.dto.SystemOverview;
import com.redhat.rhn.frontend.events.CloneErrataEvent;
import com.redhat.rhn.frontend.events.NewCloneErrataEvent;
import com.redhat.rhn.frontend.listview.PageControl;
@@ -345,7 +346,24 @@ public class ErrataManager extends BaseManager {
* @return relevant errata.
*/
public static DataResult relevantErrata(User user) {
- SelectMode m = ModeFactory.getMode("Errata_queries", "relevant_errata");
+ return ErrataManager.getRelevantErrata(user, false);
+ }
+
+ /**
+ * Returns the relevant errata to the system set (used in SSM).
+ *
+ * @param user Currently logged in user.
+ * @return relevant errata.
+ */
+ public static DataResult relevantErrataToSystemSet(User user) {
+ return ErrataManager.getRelevantErrata(user, true);
+ }
+
+ private static DataResult getRelevantErrata(User user, boolean ssm) {
+ SelectMode m = ModeFactory.getMode("Errata_queries",
+ ssm ?
+ "relevant_to_system_set" :
+ "relevant_errata");
Map params = new HashMap();
params.put("user_id", user.getId());
Map elabParams = new HashMap();
@@ -728,6 +746,21 @@ public class ErrataManager extends BaseManager {
}
/**
+ * Returns the systems affected by a given errata
+ *
+ * @param user Logged-in user.
+ * @param eid Errata ID.
+ * @return systems Affected by current errata, that are in the set of SSM.
+ */
+ public static List<SystemOverview> systemsAffectedInSet(User user, Long eid) {
+ Map params = new HashMap();
+ params.put("eid", eid);
+ params.put("user_id", user.getId());
+ return ModeFactory.getMode("Errata_queries",
+ "in_set_and_affected_by_errata").execute(params);
+ }
+
+ /**
* Returns the system id and system names of the systems affected by a given errata
* @param user The logged in user
* @param eid The id of the errata in question
diff --git a/java/code/webapp/WEB-INF/nav/ssm.xml b/java/code/webapp/WEB-INF/nav/ssm.xml
index daf3db7..eca4194 100644
--- a/java/code/webapp/WEB-INF/nav/ssm.xml
+++ b/java/code/webapp/WEB-INF/nav/ssm.xml
@@ -1,18 +1,12 @@
<?xml version="1.0"?>
<rhn-navi-tree label="ssm" invisible="1" title-depth="1">
- <rhn-tab name="Overview" url="/rhn/ssm/index.do" />
- <rhn-tab name="Systems">
-<!-- <rhn-tab-url>/network/systems/ssm/system_list.pxt</rhn-tab-url> -->
- <rhn-tab-url>/rhn/systems/ssm/ListSystems.do</rhn-tab-url>
- </rhn-tab>
-
- <rhn-tab name="Errata"
- on-click="Sniglets::Lists->navi_empty_set"
- node-id="system_errata_list">
- <rhn-tab-url>/network/systems/ssm/errata/index.pxt</rhn-tab-url>
- <rhn-tab-url>/network/systems/ssm/errata/systems_affected.pxt</rhn-tab-url>
- <rhn-tab-url>/network/systems/ssm/errata/apply_errata_confirm.pxt</rhn-tab-url>
- </rhn-tab>
+ <rhn-tab name="Overview" url="/rhn/ssm/index.do" />
+ <rhn-tab name="Systems">
+ <rhn-tab-url>/rhn/systems/ssm/ListSystems.do</rhn-tab-url>
+ </rhn-tab>
+ <rhn-tab name="Errata">
+ <rhn-tab-url>/rhn/systems/ssm/ListPatches.do</rhn-tab-url>
+ </rhn-tab>
<rhn-tab name="Packages">
<rhn-tab-url>/rhn/ssm/Packages.do</rhn-tab-url>
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/systems/system_listdisplay.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/systems/system_listdisplay.jspf
index 0fad026..ec49ca8 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/systems/system_listdisplay.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/systems/system_listdisplay.jspf
@@ -11,19 +11,19 @@
<c:set var="namestyle" value = "first-column"/>
</c:otherwise>
</c:choose>
-
+
<rl:list
dataset="pageList"
name="systemList"
emptykey="nosystems.message"
- alphabarcolumn="name"
+ alphabarcolumn="name"
filter="com.redhat.rhn.frontend.taglibs.list.filters.SystemOverviewFilter"
>
-
+
<rl:decorator name="ElaborationDecorator"/>
<rl:decorator name="SystemIconDecorator"/>
<rl:decorator name="PageSizeDecorator"/>
-
+
<c:if test = "${empty notSelectable}">
<rl:decorator name="SelectableDecorator"/>
<rl:selectablecolumn value="${current.id}"
@@ -39,8 +39,8 @@
styleclass="${namestyle}">
<%@ include file="/WEB-INF/pages/common/fragments/systems/system_list_fragment.jspf" %>
</rl:column>
-
-
+
+
<c:if test = "${empty extraPackagesMode}">
<!--Updates Column -->
<rl:column sortable="false"
@@ -49,9 +49,9 @@
styleclass="center"
headerclass="thin-column">
<c:out value="${current.statusDisplay}" escapeXml="false"/>
- </rl:column>
- </c:if>
-
+ </rl:column>
+ </c:if>
+
<c:if test = "${empty noMonitoring and empty extraPackagesMode}">
<!-- Health Column -->
<%@ include file="monitoring_status_systems.jspf" %>
@@ -139,7 +139,7 @@
attr="lastCheckin"
bound="true"
headerkey="systemlist.jsp.last_checked_in"/>
-
+
</c:if>
<c:if test = "${not empty showLastCheckinSort}">
@@ -156,7 +156,7 @@
headerkey="systemlist.jsp.channel" >
<%@ include file="/WEB-INF/pages/common/fragments/channel/channel_list_fragment.jspf" %>
</rl:column>
-
+
<!-- Entitlement Column -->
<c:if test="${empty extraPackagesMode}">
<rl:column sortable="false"
@@ -165,9 +165,9 @@
<c:out value="${current.entitlementLevel}" escapeXml="false"/>
</rl:column>
</c:if>
-
-
-
+
+
+
</rl:list>
<c:if test = "${empty noCsv}">
<rl:csv dataset="pageList"
diff --git a/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
new file mode 100644
index 0000000..2a036a5
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
@@ -0,0 +1,153 @@
+<%--
+ Document : ssm-errata
+ Created on : Aug 22, 2013, 1:18:24 PM
+ Author : Bo Maryniuk
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+
+<%@taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %>
+<%@ page import="com.redhat.rhn.frontend.action.ssm.ErrataListAction" %>
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+
+<html:xhtml/>
+<html>
+ <body>
+ <%@ include file="/WEB-INF/pages/common/fragments/ssm/header.jspf" %>
+ <h2><bean:message key="ssm.patches.list.header" /></h2>
+ <p><bean:message key="ssm.patches.list.summary" /></p>
+
+ <c:choose>
+ <c:when test="${empty param.afs}">
+ <rl:listset name="errataListSet" legend="errata">
+ <rhn:csrf />
+ <rhn:submitted />
+ <rl:list width="100%" name="summaryList" styleclass="list"
+ emptykey="erratalist.jsp.norelevanterrata" alphabarcolumn="advisorySynopsis">
+ <rl:decorator name="ElaborationDecorator"/>
+ <rl:decorator name="PageSizeDecorator"/>
+ <rl:decorator name="SelectableDecorator"/>
+
+ <rl:selectablecolumn value="${current.id}" selected="${current.selected}"
+ disabled="${not current.selectable}" styleclass="first-column"/>
+
+ <rl:column headerkey="erratalist.jsp.type" styleclass="text-align: center;" bound="false">
+ <c:if test="${current.securityAdvisory}">
+ <img src="/img/wrh-security.gif" title="<bean:message key="erratalist.jsp.securityadvisory"/>" />
+ </c:if>
+ <c:if test="${current.bugFix}">
+ <img src="/img/wrh-bug.gif" title="<bean:message key="erratalist.jsp.bugadvisory"/>" />
+ </c:if>
+ <c:if test="${current.productEnhancement}">
+ <img src="/img/wrh-product.gif" title="<bean:message key="erratalist.jsp.productenhancementadvisory"/>" />
+ </c:if>
+ </rl:column>
+
+ <rl:column headerkey="erratalist.jsp.advisory" bound="false" sortattr="advisoryName" sortable="true">
+ <a href="/rhn/errata/details/Details.do?eid=${current.id}">${current.advisoryName}</a>
+ </rl:column>
+
+ <rl:column headerkey="erratalist.jsp.synopsis" bound="false" sortattr="advisorySynopsis"
+ sortable="true" filterattr="advisorySynopsis">
+ ${current.advisorySynopsis}
+ </rl:column>
+
+ <rl:column headerkey="errata.jsp.status" bound="false" sortattr="currentStatusAndActionId[0]" sortable="true">
+ <c:if test="${not empty current.status}">
+ <c:if test="${current.currentStatusAndActionId[0] == 'Queued'}">
+ <a href="/rhn/schedule/ActionDetails.do?aid=${current.currentStatusAndActionId[1]}">
+ <bean:message key="affectedsystems.jsp.pending"/>
+ </a>
+ </c:if>
+ <c:if test="${current.currentStatusAndActionId[0] == 'Failed'}">
+ <a href="/network/systems/details/history/event.pxt?sid=${param.sid}&hid=${current.currentStatusAndActionId[1]}">
+ <bean:message key="actions.jsp.failed"/>
+ </a>
+ </c:if>
+ <c:if test="${current.currentStatusAndActionId[0] == 'Picked Up'}">
+ <a href="/network/systems/details/history/event.pxt?sid=${param.sid}&hid=${current.currentStatusAndActionId[1]}">
+ <bean:message key="actions.jsp.pickedup"/>
+ </a>
+ </c:if>
+ </c:if>
+ <c:if test="${empty current.status}">
+ <bean:message key="affectedsystems.jsp.none"/>
+ </c:if>
+ </rl:column>
+
+ <rl:column headerkey="errata.jsp.affected" bound="false" sortattr="affectedSystemCount" sortable="true">
+ <a href="/rhn/systems/ssm/ListPatches.do?<%=ErrataListAction.RP_AFFECTED_SYSTEMS%>=${current.id}">${current.affectedSystemCount}</a>
+ </rl:column>
+
+ <rl:column headerkey="erratalist.jsp.updated" bound="false" sortattr="updateDateObj"
+ sortable="true" defaultsort="desc" styleclass="last-column">
+ ${current.updateDate}
+ </rl:column>
+
+ </rl:list>
+
+ <div align="left">
+ <!--
+ <p><bean:message key="installconfirm.jsp.widgetsummary"/></p>
+ -->
+ <table class="details" align="center">
+ <tr>
+ <th><label for="radio_use_date_now"><bean:message key="scheduleremote.jsp.nosoonerthan"/></label></th>
+ <td>
+ <jsp:include page="/WEB-INF/pages/common/fragments/date-picker.jsp">
+ <jsp:param name="widget" value="date"/>
+ </jsp:include><br/><p/>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <div align="right">
+ <hr />
+ <html:submit property="dispatch">
+ <bean:message key="errata.jsp.apply"/>
+ </html:submit>
+ </div>
+ <rhn:submitted/>
+ </rl:listset>
+ </c:when>
+ <c:otherwise>
+ <rl:listset name="groupSet" legend="system">
+ <rhn:csrf />
+ <rl:list dataset="detailsList" width="100%" name="detailsList"
+ styleclass="list" emptykey="ssm.operations.actionchaindetails.table.empty">
+ <rl:decorator name="PageSizeDecorator"/>
+ <rl:column headerkey="systemlist.jsp.system" bound="false" sortattr="advisoryName" sortable="true">
+ <a href="/rhn/systems/details/Overview.do?sid=${current.id}">${current.name}</a>
+ </rl:column>
+ <rl:column headerkey="ssm.overview.errata" bound="false" sortattr="advisoryName" sortable="true">
+ <a href="/rhn/systems/details/ErrataList.do?sid=${current.id}">${current.totalErrataCount}</a>
+ </rl:column>
+ <rl:column headerkey="ssm.overview.packages" bound="false" sortattr="advisoryName" sortable="true">
+ <a href="/rhn/systems/details/packages/UpgradableList.do?sid=${current.id}">${current.pendingUpdates}</a>
+ </rl:column>
+ <rl:column sortable="false" bound="false" headerkey="systemlist.jsp.channel" >
+ <%@ include file="/WEB-INF/pages/common/fragments/channel/channel_list_fragment.jspf" %>
+ </rl:column>
+ <rl:column sortable="false" bound="false" headerkey="systemlist.jsp.entitlement">
+ <c:out value="${current.entitlementLevel}" escapeXml="false"/>
+ </rl:column>
+ </rl:list>
+ </rl:listset>
+
+ <html:form action="/systems/ssm/ListPatches">
+ <rhn:csrf />
+ <div align="right">
+ <hr/>
+ <input type="submit" name="back" value="<bean:message key="ssm.errata.serverlist.return"/>" />
+ </div>
+ </html:form>
+ </c:otherwise>
+ </c:choose>
+ </body>
+</html>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml
index 240567e..58c6247 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -1268,15 +1268,27 @@
<form-property name="lbl" type="java.lang.String" />
<form-property name="timeout" type="java.lang.Long" />
<form-property name="submitted" type="java.lang.Boolean" />
- <form-property name="use_date" type="java.lang.Boolean"/>
- <form-property name="date_year" type="java.lang.Integer"/>
- <form-property name="date_month" type="java.lang.Integer"/>
- <form-property name="date_day" type="java.lang.Integer"/>
- <form-property name="date_hour" type="java.lang.Integer"/>
- <form-property name="date_minute" type="java.lang.Integer"/>
- <form-property name="date_am_pm" type="java.lang.Integer"/>
+ <form-property name="use_date" type="java.lang.Boolean"/>
+ <form-property name="date_year" type="java.lang.Integer"/>
+ <form-property name="date_month" type="java.lang.Integer"/>
+ <form-property name="date_day" type="java.lang.Integer"/>
+ <form-property name="date_hour" type="java.lang.Integer"/>
+ <form-property name="date_minute" type="java.lang.Integer"/>
+ <form-property name="date_am_pm" type="java.lang.Integer"/>
</form-bean>
+ <form-bean name="SSMPatchListForm" type="com.redhat.rhn.frontend.struts.ScrubbingDynaActionForm">
+ <form-property name="queue_id" type="java.lang.Long" />
+ <form-property name="queue_label" type="java.lang.String" />
+ <form-property name="submitted" type="java.lang.Boolean" />
+ <form-property name="use_date" type="java.lang.Boolean"/>
+ <form-property name="date_year" type="java.lang.Integer"/>
+ <form-property name="date_month" type="java.lang.Integer"/>
+ <form-property name="date_day" type="java.lang.Integer"/>
+ <form-property name="date_hour" type="java.lang.Integer"/>
+ <form-property name="date_minute" type="java.lang.Integer"/>
+ <form-property name="date_am_pm" type="java.lang.Integer"/>
+ </form-bean>
</form-beans>
@@ -3554,7 +3566,20 @@
path="/systems/ssm/ListSystems.do" redirect="true"/>
</action>
- <action path="/systems/ssm/MigrateSystems"
+ <action path="/systems/ssm/ListPatches"
+ scope="request"
+ name="SSMPatchListForm"
+ input="/WEB-INF/pages/ssm/systems/ssm-errata.jsp"
+ type="com.redhat.rhn.frontend.action.ssm.ErrataListAction"
+ className="com.redhat.rhn.frontend.struts.RhnActionMapping">
+ <set-property property="postRequiredIfSubmitted" value="true" />
+ <forward name="default"
+ path="/WEB-INF/pages/ssm/systems/ssm-errata.jsp" />
+ <forward name="confirm"
+ path="/WEB-INF/pages/ssm/ssmindex.jsp" />
+ </action>
+
+ <action path="/systems/ssm/MigrateSystems"
scope="request"
input="/WEB-INF/pages/ssm/systems/ssmdeleteconfirm.jsp"
type="com.redhat.rhn.frontend.action.ssm.MigrateSystemsAction"
@@ -5096,7 +5121,7 @@
<forward name="default"
path="/WEB-INF/pages/ssm/systems/misc/lock-unlock-system.jsp" />
</action>
-
+
<action path="/systems/ssm/misc/RebootSystem"
scope="request"
input="/WEB-INF/pages/ssm/systems/misc/reboot-system.jsp"
10 years, 9 months
Changes to 'refs/tags/spacewalk-utils-2.1.10-1'
by Grant Gainey
Tag 'spacewalk-utils-2.1.10-1' created by Grant Gainey <ggainey(a)redhat.com> at 2013-08-22 14:08 +0000
Tagging package [spacewalk-utils] version [2.1.10-1] in directory [utils/].
Changes since spacewalk-config-2.1.1-1:
Grant Gainey (2):
999583 - Fixes to allow scripts to work on older versions of Python and Postgres
Automatic commit of package [spacewalk-utils] release [2.1.10-1].
Milan Zazrivec (1):
Remove geronimo-specs* package before Satellite upgrade
Tomas Kasparek (2):
adding nightly repositories for fedora19
adding i386 nightly channels
---
rel-eng/packages/spacewalk-utils | 2 -
satellite/install/install.pl | 2 +
utils/spacewalk-archive-audits | 66 ++++++++++++++++++++----------------
utils/spacewalk-common-channels.ini | 20 ++++++++++
utils/spacewalk-sync-setup | 24 ++++++++-----
utils/spacewalk-utils.spec | 9 ++++
6 files changed, 83 insertions(+), 40 deletions(-)
---
10 years, 9 months
rel-eng/packages utils/spacewalk-utils.spec
by Grant Gainey
rel-eng/packages/spacewalk-utils | 2 +-
utils/spacewalk-utils.spec | 9 ++++++++-
2 files changed, 9 insertions(+), 2 deletions(-)
New commits:
commit dc3a2356fadb44c9637ee128d7370120cb0bba06
Author: Grant Gainey <ggainey(a)redhat.com>
Date: Thu Aug 22 10:08:28 2013 -0400
Automatic commit of package [spacewalk-utils] release [2.1.10-1].
diff --git a/rel-eng/packages/spacewalk-utils b/rel-eng/packages/spacewalk-utils
index c7adecf..648dd73 100644
--- a/rel-eng/packages/spacewalk-utils
+++ b/rel-eng/packages/spacewalk-utils
@@ -1 +1 @@
-2.1.9-1 utils/
+2.1.10-1 utils/
diff --git a/utils/spacewalk-utils.spec b/utils/spacewalk-utils.spec
index 3ea095b..158789c 100644
--- a/utils/spacewalk-utils.spec
+++ b/utils/spacewalk-utils.spec
@@ -1,7 +1,7 @@
%define rhnroot %{_prefix}/share/rhn
Name: spacewalk-utils
-Version: 2.1.9
+Version: 2.1.10
Release: 1%{?dist}
Summary: Utilities that may be run against a Spacewalk server.
@@ -88,6 +88,13 @@ spacewalk-pylint $RPM_BUILD_ROOT%{rhnroot}
%changelog
+* Thu Aug 22 2013 Grant Gainey <ggainey(a)redhat.com> 2.1.10-1
+- 999583 - Fixes to allow scripts to work on older versions of Python and
+ Postgres
+- adding i386 nightly channels
+- adding nightly repositories for fedora19
+- removing unused DEFAULT_USER and DEFAULT_PASSWORD
+
* Tue Aug 20 2013 Dimitar Yordanov <dyordano(a)redhat.com> 2.1.9-1
- sw abrt manage tool
10 years, 9 months