java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml | 2
java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java | 43
+++++-----
2 files changed, 23 insertions(+), 22 deletions(-)
New commits:
commit 389ee5d29b993be189921407a6c422a5a64af6d9
Author: Michael Calmer <mc(a)suse.de>
Date: Thu Apr 19 11:47:24 2012 +0200
fix has_errata_with_keyword_applied_since_last_reboot query
Fixes:
com.redhat.rhn.common.db.WrappedSQLException: ORA-00936: missing expression
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
index 64560e0..d365719 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
@@ -790,7 +790,6 @@ SELECT DISTINCT S.id, S.NAME,
<mode name="has_errata_with_keyword_applied_since_last_reboot">
<query params="org_id, user_id, keyword, sid">
- SELECT EXISTS (
SELECT 1
FROM rhnServer S,
rhnErrata E,
@@ -808,7 +807,6 @@ SELECT DISTINCT S.id, S.NAME,
AND EP.errata_id = E.id AND EP.package_id = P.id
AND (to_date('1970-01-01', 'YYYY-MM-DD') +
numtodsinterval(S.last_boot, 'second')) < SP.installtime
AND E.id IN (SELECT EK.errata_id FROM rhnErrataKeyword EK WHERE EK.keyword =
:keyword)
- )
</query>
</mode>
commit 052a263c96767927020b75a3fda8b483319b2af3
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Thu Apr 19 12:00:02 2012 +0200
fix PackageEvr handling III
this fixes an issue introduced in 02a668
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java
b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java
index e02c158..7fe23e5 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java
@@ -17,8 +17,6 @@ package com.redhat.rhn.taskomatic.task.repomd;
import com.redhat.rhn.common.conf.ConfigDefaults;
import com.redhat.rhn.domain.channel.Channel;
-import com.redhat.rhn.domain.rhnpackage.PackageEvr;
-import com.redhat.rhn.domain.rhnpackage.PackageEvrFactory;
import com.redhat.rhn.frontend.dto.PackageDto;
import com.redhat.rhn.manager.rhnpackage.PackageManager;
import com.redhat.rhn.manager.task.TaskManager;
@@ -29,6 +27,8 @@ import org.xml.sax.SAXException;
import java.io.ByteArrayOutputStream;
import java.io.Writer;
+import java.util.HashMap;
+import java.util.Map;
/**
* Primary.xml writer class
@@ -288,27 +288,28 @@ public class PrimaryXmlWriter extends RepomdWriter {
SimpleAttributesImpl attr = new SimpleAttributesImpl();
attr.addAttribute("name", sanitize(pkgId, pkgCapIter
.getString("name")));
- PackageEvr evrObj = parseEvr(sanitize(pkgId, pkgCapIter
+ Map<String, String> evrMap = parseEvr(sanitize(pkgId,
+ pkgCapIter
.getString("version")));
- if (evrObj.getEpoch() != null || evrObj.getVersion() != null ||
- evrObj.getRelease() != null) {
+ if (evrMap.get("epoch") != null || evrMap.get("version")
!= null ||
+ evrMap.get("release") != null) {
attr.addAttribute("flags", getSenseAsString(pkgCapIter
.getNumber("sense").longValue()));
}
- if (evrObj.getEpoch() != null) {
- attr.addAttribute("epoch", evrObj.getEpoch());
+ if (evrMap.get("epoch") != null) {
+ attr.addAttribute("epoch", evrMap.get("epoch"));
}
- else if (evrObj.getVersion() != null) {
+ else if (evrMap.get("version") != null) {
attr.addAttribute("epoch", "0");
}
- if (evrObj.getVersion() != null) {
- attr.addAttribute("ver", evrObj.getVersion());
+ if (evrMap.get("version") != null) {
+ attr.addAttribute("ver", evrMap.get("version"));
}
- if (evrObj.getRelease() != null) {
- attr.addAttribute("rel", evrObj.getRelease());
+ if (evrMap.get("release") != null) {
+ attr.addAttribute("rel", evrMap.get("release"));
}
localHandler.startElement("rpm:entry", attr);
@@ -322,14 +323,17 @@ public class PrimaryXmlWriter extends RepomdWriter {
* @param evr package evr info
* @return package evr object
*/
- private static PackageEvr parseEvr(String evr) {
- String epoch = null, version = null, release = null;
+ private static Map<String, String> parseEvr(String evr) {
+ Map map = new HashMap<String, String>();
+ map.put("epoch", null);
+ map.put("version", null);
+ map.put("release", null);
if (evr != null) {
String[] parts = evr.split(":");
String vr;
if (parts.length != 1) {
- epoch = parts[0];
+ map.put("epoch", parts[0]);
vr = parts[1];
}
else {
@@ -339,16 +343,15 @@ public class PrimaryXmlWriter extends RepomdWriter {
int dash = vr.lastIndexOf("-");
if (dash == -1) {
- version = vr;
+ map.put("version", vr);
}
else {
- version = vr.substring(0, dash);
- release = vr.substring(dash + 1);
+ map.put("version", vr.substring(0, dash));
+ map.put("release", vr.substring(dash + 1));
}
}
- return PackageEvrFactory.lookupOrCreatePackageEvr(epoch, version,
- release);
+ return map;
}
/**