java/spacewalk-java.spec rel-eng/packages
by Justin Sherrill
java/spacewalk-java.spec | 16 +++++++++++++++-
rel-eng/packages/spacewalk-java | 2 +-
2 files changed, 16 insertions(+), 2 deletions(-)
New commits:
commit 26a3d23c924e78879e27a8a28cd9029b384f5f6e
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 26 14:44:49 2010 -0400
Automatic commit of package [spacewalk-java] release [0.9.13-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index d0ba882..7cc0a09 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -19,7 +19,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.9.12
+Version: 0.9.13
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -310,6 +310,20 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Fri Mar 26 2010 Justin Sherrill <jsherril(a)redhat.com> 0.9.13-1
+- 576301, 576314 - fixing issues where auto-apply of errata was applying even
+ for systems that did not need the errata and was being scheduled multiple
+ times for systems (once for every channel that contained that errata)
+ (jsherril(a)redhat.com)
+- changing cobbler call to use automated user since it could go through
+ taskomatic (jsherril(a)redhat.com)
+- API to list API (tlestach(a)redhat.com)
+- 559693 - fixing apidoc (tlestach(a)redhat.com)
+- 559693 - allow channel.software.listAllPackages to return the checksum
+ (colin.coe(a)gmail.com)
+- added packages no more automaticaly required in tomcat6
+ (michael.mraka(a)redhat.com)
+
* Fri Mar 26 2010 Tomas Lestach <tlestach(a)redhat.com> 0.9.12-1
- API to list API (tlestach(a)redhat.com)
- 559693 - fixing apidoc (tlestach(a)redhat.com)
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 3f0e066..9e9e6ad 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.9.12-1 java/
+0.9.13-1 java/
14 years, 1 month
2 commits - java/code
by Justin Sherrill
java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml | 10 ++-----
java/code/src/com/redhat/rhn/domain/kickstart/KickstartRawData.java | 4 ++
java/code/src/com/redhat/rhn/taskomatic/task/errata/ErrataQueueWorker.java | 14 ++++++++--
3 files changed, 19 insertions(+), 9 deletions(-)
New commits:
commit 51dc1dc669bc1ac048c9c6af9060b408db0a054d
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 26 14:44:13 2010 -0400
576301, 576314 - fixing issues where auto-apply of errata was applying even for systems that did not need the errata and was being scheduled multiple times for systems (once for every channel that contained that errata)
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
index a960651..24eae39 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
@@ -146,14 +146,12 @@ SELECT DISTINCT
<mode name="errataqueue_find_autoupdate_servers">
- <query params="errata_id">
+ <query params="errata_id, channel_id">
SELECT DISTINCT
S.id AS server_id, S.org_id org_id
- FROM rhnServer S
- WHERE EXISTS (SELECT 1 FROM rhnChannelErrata CE, rhnServerChannel SC
- WHERE CE.errata_id = :errata_id
- AND SC.channel_id = CE.channel_id
- AND SC.server_id = S.id)
+ FROM rhnServer S inner join rhnServerChannel SC on S.id = SC.server_id
+ WHERE SC.channel_id = :channel_id and
+ EXISTS (SELECT 1 FROM rhnServerNeededView SNV where SNV.server_id = S.id and SNV.errata_id = :errata_id)
AND EXISTS
(SELECT 1 FROM rhnServerFeaturesView SFV WHERE
SFV.server_id = S.id AND SFV.label = 'ftr_auto_errata_updates')
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/errata/ErrataQueueWorker.java b/java/code/src/com/redhat/rhn/taskomatic/task/errata/ErrataQueueWorker.java
index e873225..0fe8fad 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/errata/ErrataQueueWorker.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/errata/ErrataQueueWorker.java
@@ -21,6 +21,8 @@ import com.redhat.rhn.common.hibernate.HibernateFactory;
import com.redhat.rhn.domain.action.ActionFactory;
import com.redhat.rhn.domain.action.ActionStatus;
import com.redhat.rhn.domain.action.errata.ErrataAction;
+import com.redhat.rhn.domain.channel.Channel;
+import com.redhat.rhn.domain.channel.ChannelFactory;
import com.redhat.rhn.domain.errata.Errata;
import com.redhat.rhn.domain.errata.ErrataFactory;
import com.redhat.rhn.domain.org.Org;
@@ -64,7 +66,14 @@ class ErrataQueueWorker implements QueueWorker {
ActionStatus queuedStatus = lookupQueuedStatus();
try {
Errata errata = loadErrata();
- scheduleAutoUpdates(errata, queuedStatus);
+ Channel channel = ChannelFactory.lookupById(channelId);
+ if (errata == null || channel == null) {
+ logger.error("Either errata or channel is null, " +
+ "skipping ErrataQueue. (" + errataId + ", " + channelId + ")");
+ }
+ else {
+ scheduleAutoUpdates(errata, queuedStatus, channel);
+ }
}
catch (Exception e) {
logger.error("Errata: " + errataId + ", Org Id: " + orgId, e);
@@ -140,7 +149,7 @@ class ErrataQueueWorker implements QueueWorker {
}
private void scheduleAutoUpdates(Errata errata,
- ActionStatus queuedStatus) throws Exception {
+ ActionStatus queuedStatus, Channel chan) throws Exception {
logger.debug("Scheduling auto updates for " + errata.getAdvisoryName() + "(" +
errata.getId() + ")");
String desc = errata.getAdvisory() + " - " + errata.getSynopsis();
@@ -149,6 +158,7 @@ class ErrataQueueWorker implements QueueWorker {
SelectMode select = ModeFactory.getMode(TaskConstants.MODE_NAME,
TaskConstants.TASK_QUERY_ERRATA_QUEUE_FIND_AUTOUPDATE_SERVERS);
Map params = new HashMap();
+ params.put("channel_id", chan.getId());
params.put("errata_id", errata.getId());
List results = select.execute(params);
if (results == null || results.size() == 0) {
commit 6e4faf231fd4ca1d0159e5988a00cb2d60338e2f
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 26 14:33:35 2010 -0400
changing cobbler call to use automated user since it could go through taskomatic
diff --git a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartRawData.java b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartRawData.java
index b1db8c4..b08822a 100644
--- a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartRawData.java
+++ b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartRawData.java
@@ -15,6 +15,7 @@
package com.redhat.rhn.domain.kickstart;
+import com.redhat.rhn.common.conf.ConfigDefaults;
import com.redhat.rhn.common.util.FileUtils;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.manager.kickstart.cobbler.CobblerXMLRPCHelper;
@@ -46,7 +47,8 @@ public class KickstartRawData extends KickstartData {
public String getData() {
if (this.data == null) {
Profile prof = Profile.lookupById(
- CobblerXMLRPCHelper.getConnection("kickstart-getData"),
+ CobblerXMLRPCHelper.getConnection(
+ ConfigDefaults.get().getCobblerAutomatedUser()),
this.getCobblerId());
if (prof == null) {
return "";
14 years, 1 month
web/html web/modules
by Miroslav Suchý
web/html/network/systems/details/history/snapshots/packages.pxt | 7 +++---
web/modules/rhn/RHN/DB/DataSource/xml/Package_queries.xml | 6 +++++
web/modules/rhn/RHN/DB/Package.pm | 10 +++++----
web/modules/sniglets/Sniglets/ListView/PackageList.pm | 11 ++++++++--
4 files changed, 25 insertions(+), 9 deletions(-)
New commits:
commit 843d26c5bac826f977002da9aed4fb3f73f8ba4d
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Fri Mar 26 16:45:09 2010 +0100
576907 - make SystemSnapshots aware of multiarch packages
add new columnt "Architecture" to column of package diferencies
and treat package with different architecture as different package
diff --git a/web/html/network/systems/details/history/snapshots/packages.pxt b/web/html/network/systems/details/history/snapshots/packages.pxt
index e285b2d..c2c7ad7 100644
--- a/web/html/network/systems/details/history/snapshots/packages.pxt
+++ b/web/html/network/systems/details/history/snapshots/packages.pxt
@@ -44,9 +44,10 @@ Snapshot - RPM Packages</h2>
</formvars>
<column name="Package" label="name" align="left" width="40%" sort_by="1"/>
- <column name="Current Version" label="current_package_evr" align="center" width="15%" />
- <column name="Snapshot Version" label="snapshot_package_evr" align="center" width="15%" />
- <column name="Difference" label="rpm_comparison" align="left" width="30%" />
+ <column name="Architecture" label="arch" align="left" width="10%" />
+ <column name="Current Version" label="current_package_evr" align="center" width="10%" />
+ <column name="Snapshot Version" label="snapshot_package_evr" align="center" width="10%" />
+ <column name="Difference" label="rpm_comparison" align="left" width="20%" />
</rhn-listview>
diff --git a/web/modules/rhn/RHN/DB/DataSource/xml/Package_queries.xml b/web/modules/rhn/RHN/DB/DataSource/xml/Package_queries.xml
index 8967bdd..5a0ac65 100644
--- a/web/modules/rhn/RHN/DB/DataSource/xml/Package_queries.xml
+++ b/web/modules/rhn/RHN/DB/DataSource/xml/Package_queries.xml
@@ -488,16 +488,19 @@ SELECT PN.id || '|' || SPE.id AS ID,
SP.name_id,
PN.name,
SP.evr_id,
+ PA.label AS ARCH,
SPE.evr.as_vre_simple() AS EVR,
SPE.epoch,
SPE.version,
SPE.release
FROM rhnPackageName PN,
rhnPackageEVR SPE,
+ rhnPackageArch PA,
rhnServerPackage SP
WHERE PN.id = SP.name_id
AND SPE.id = SP.evr_id
AND SP.server_id = :sid
+ AND SP.package_arch_id = PA.id
AND NOT EXISTS (SELECT 1 FROM rhnPackageSyncBlacklist PSB WHERE
PSB.package_name_id = PN.id AND org_id is NULL OR org_id = :org_id)
</query>
@@ -509,6 +512,7 @@ SELECT PN.id || '|' || PE.id AS ID,
PNEVRA.name_id,
PN.name,
PNEVRA.evr_id,
+ PA.label AS ARCH,
PE.evr.as_vre_simple() AS EVR,
PE.epoch,
PE.version,
@@ -516,10 +520,12 @@ SELECT PN.id || '|' || PE.id AS ID,
FROM rhnPackageName PN,
rhnPackageEVR PE,
rhnPackageNEVRA PNEVRA,
+ rhnPackageArch PA,
rhnSnapshotPackage SP
WHERE SP.snapshot_id = :ss_id
AND SP.nevra_id = PNEVRA.id
AND PNEVRA.name_id = PN.id
+ AND PNEVRA.package_arch_id = PA.id
AND PNEVRA.evr_id = PE.id
AND NOT EXISTS (SELECT 1 FROM rhnPackageSyncBlacklist PSB WHERE
PSB.package_name_id = PN.id AND org_id is NULL OR org_id = :org_id)
diff --git a/web/modules/rhn/RHN/DB/Package.pm b/web/modules/rhn/RHN/DB/Package.pm
index 562a14a..492f50b 100644
--- a/web/modules/rhn/RHN/DB/Package.pm
+++ b/web/modules/rhn/RHN/DB/Package.pm
@@ -639,11 +639,11 @@ sub delta_canonical_lists_hashref {
my %s2_names;
foreach my $pkg (@$s1) {
- $s1_names{$pkg->{NAME_ID}} = $pkg;
+ $s1_names{$pkg->{NAME_ID}."|".$pkg->{ARCH}} = $pkg;
}
foreach my $pkg (@$s2) {
- $s2_names{$pkg->{NAME_ID}} = $pkg;
+ $s2_names{$pkg->{NAME_ID}."|".$pkg->{ARCH}} = $pkg;
}
my @names;
@@ -662,14 +662,16 @@ sub delta_canonical_lists_hashref {
EPOCH => $s1_names{$_}->{EPOCH},
ERRATA => $s1_names{$_}->{ERRATA},
VERSION => $s1_names{$_}->{VERSION},
- RELEASE => $s1_names{$_}->{RELEASE}
+ RELEASE => $s1_names{$_}->{RELEASE},
+ ARCH => $s1_names{$_}->{ARCH},
},
S2 => { EVR_ID => $s2_names{$_}->{EVR_ID},
EVR => $s2_names{$_}->{EVR},
EPOCH => $s2_names{$_}->{EPOCH},
ERRATA => $s2_names{$_}->{ERRATA},
VERSION => $s2_names{$_}->{VERSION},
- RELEASE => $s2_names{$_}->{RELEASE}
+ RELEASE => $s2_names{$_}->{RELEASE},
+ ARCH => $s2_names{$_}->{ARCH},
},
COMPARISON => 0
}) } @names;
diff --git a/web/modules/sniglets/Sniglets/ListView/PackageList.pm b/web/modules/sniglets/Sniglets/ListView/PackageList.pm
index 0af39bc..f5b1d25 100644
--- a/web/modules/sniglets/Sniglets/ListView/PackageList.pm
+++ b/web/modules/sniglets/Sniglets/ListView/PackageList.pm
@@ -1541,15 +1541,19 @@ sub profile_comparison_provider {
foreach my $row (@$delta) {
if ($row->{S1}->{EVR_ID} and not $row->{S2}->{EVR_ID}) {
$row->{RPM_COMPARISON} = "$other_name only";
+ $row->{ARCH} = $row->{S1}->{ARCH};
}
elsif ($row->{S2}->{EVR_ID} and not $row->{S1}->{EVR_ID}) {
$row->{RPM_COMPARISON} = "This system only";
+ $row->{ARCH} = $row->{S2}->{ARCH};
}
elsif ($row->{COMPARISON} < 0) {
$row->{RPM_COMPARISON} = "This system newer";
+ $row->{ARCH} = $row->{S2}->{ARCH};
}
elsif ($row->{COMPARISON} > 0) {
$row->{RPM_COMPARISON} = "$other_name newer";
+ $row->{ARCH} = $row->{S1}->{ARCH};
}
$row->{SYSTEM_PACKAGE_EVR} = $row->{S2}->{EVR} || ' ';
$row->{PROFILE_PACKAGE_EVR} = $row->{S1}->{EVR} || ' ';
@@ -1605,20 +1609,23 @@ sub snapshot_comparison_provider {
foreach my $row (@$delta) {
if ($row->{S1}->{EVR_ID} and not $row->{S2}->{EVR_ID}) {
$row->{RPM_COMPARISON} = "$snapshot_label only";
+ $row->{ARCH} = $row->{S1}->{ARCH};
}
elsif ($row->{S2}->{EVR_ID} and not $row->{S1}->{EVR_ID}) {
$row->{RPM_COMPARISON} = "Current profile only";
+ $row->{ARCH} = $row->{S2}->{ARCH};
}
elsif ($row->{COMPARISON} < 0) {
$row->{RPM_COMPARISON} = "Current profile newer";
+ $row->{ARCH} = $row->{S2}->{ARCH};
}
elsif ($row->{COMPARISON} > 0) {
$row->{RPM_COMPARISON} = "$snapshot_label newer";
+ $row->{ARCH} = $row->{S1}->{ARCH};
}
$row->{CURRENT_PACKAGE_EVR} = $row->{S2}->{EVR} || ' ';
$row->{SNAPSHOT_PACKAGE_EVR} = $row->{S1}->{EVR} || ' ';
-
- $row->{ID} = $row->{NAME_ID};
+ $row->{SNAPSHOT_PACKAGE_EVR} = $row->{S1}->{EVR} || ' ';
}
$delta = [ sort { lc $a->{NAME} cmp lc $b->{NAME} } @{$delta} ];
14 years, 1 month
client/rhel
by Jan Pazdziora
client/rhel/rhn-client-tools/src/up2date_client/tui.py | 3 ---
1 file changed, 3 deletions(-)
New commits:
commit 78d7872adca02ccebb59c46185f7d9ef7646e5ec
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Mar 26 14:37:39 2010 +0100
If the user does not confirm to quit, we shall return to the same window.
Remove already commented out code.
diff --git a/client/rhel/rhn-client-tools/src/up2date_client/tui.py b/client/rhel/rhn-client-tools/src/up2date_client/tui.py
index 1750b2a..81e93c7 100644
--- a/client/rhel/rhn-client-tools/src/up2date_client/tui.py
+++ b/client/rhel/rhn-client-tools/src/up2date_client/tui.py
@@ -1364,9 +1364,6 @@ class Tui:
if ConfirmQuitWindow(self.screen) == 1:
return
- # if we returned from the window, increment the index
- # index = index + 1
-
elif result == "next":
index = index + 1
win.saveResults()
14 years, 1 month
client/rhel
by Jan Pazdziora
client/rhel/rhn-client-tools/src/bin/rhnreg_ks.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit 4bc7167745899d37fcf8a05aa4d94c60cd934a40
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Mar 26 14:02:59 2010 +0100
Add AuthenticationOrAccountCreationError to the list of errors that we catch "nicely".
Since we do not check for login/password combination with
reserveUser/registerUser anymore, we can also get
AuthenticationOrAccountCreationError now for bad login/password.
For this error, we also want to just output errmsg and not let rhncli
do its handling.
diff --git a/client/rhel/rhn-client-tools/src/bin/rhnreg_ks.py b/client/rhel/rhn-client-tools/src/bin/rhnreg_ks.py
index fd168a0..d732c9e 100755
--- a/client/rhel/rhn-client-tools/src/bin/rhnreg_ks.py
+++ b/client/rhel/rhn-client-tools/src/bin/rhnreg_ks.py
@@ -136,7 +136,8 @@ class RegisterKsCli(rhncli.RhnCli):
self.options.password, profilename, other = other)
except (up2dateErrors.AuthenticationTicketError,
up2dateErrors.RhnUuidUniquenessError,
- up2dateErrors.CommunicationError), e:
+ up2dateErrors.CommunicationError,
+ up2dateErrors.AuthenticationOrAccountCreationError), e:
print "%s" % e.errmsg
sys.exit(1)
14 years, 1 month
Changes to 'refs/tags/rhn-client-tools-0.9.8-1'
by Jan Pazdziora
Tag 'rhn-client-tools-0.9.8-1' created by Jan Pazdziora <jpazdziora(a)redhat.com> at 2010-03-26 12:24 +0000
Tagging package [rhn-client-tools] version [0.9.8-1] in directory [client/rhel/rhn-client-tools/].
Changes since spacewalk-backend-0.9.14-1:
Jan Pazdziora (5):
Removing the --subscription option from rhnreg_ks.
No need to rhnreg.reserveUser nor rhnreg.registerUser -- the authentication is handled by subsequent calls anyway.
Since we do not call rhnreg.registerUser anymore, the --email option is no longer applicable.
Check the capability in cfg.
Automatic commit of package [rhn-client-tools] release [0.9.8-1].
Tomas Lestach (2):
API to list API
Automatic commit of package [spacewalk-java] release [0.9.12-1].
---
client/rhel/rhn-client-tools/man/en/rhnreg_ks.8 | 11
client/rhel/rhn-client-tools/rhn-client-tools.spec | 7
client/rhel/rhn-client-tools/src/bin/rhnreg_ks.py | 13
client/rhel/rhn-client-tools/src/up2date_client/rhnreg.py | 2
java/code/src/com/redhat/rhn/frontend/xmlrpc/api/ApiHandler.java | 173 ++++++++++
java/spacewalk-java.spec | 8
rel-eng/packages/rhn-client-tools | 2
rel-eng/packages/spacewalk-java | 2
8 files changed, 191 insertions(+), 27 deletions(-)
---
14 years, 1 month
client/rhel rel-eng/packages
by Jan Pazdziora
client/rhel/rhn-client-tools/rhn-client-tools.spec | 7 ++++++-
rel-eng/packages/rhn-client-tools | 2 +-
2 files changed, 7 insertions(+), 2 deletions(-)
New commits:
commit 51985e8f335330fc066283735c32c6022598063b
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Mar 26 13:24:52 2010 +0100
Automatic commit of package [rhn-client-tools] release [0.9.8-1].
diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec b/client/rhel/rhn-client-tools/rhn-client-tools.spec
index 134753a..c96668d 100644
--- a/client/rhel/rhn-client-tools/rhn-client-tools.spec
+++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec
@@ -4,7 +4,7 @@ Group: System Environment/Base
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
URL: https://fedorahosted.org/spacewalk
Name: rhn-client-tools
-Version: 0.9.7
+Version: 0.9.8
Release: 1%{?dist}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
@@ -239,6 +239,11 @@ make -f Makefile.rhn-client-tools test
%{_datadir}/applications/rhn_register.desktop
%changelog
+* Fri Mar 26 2010 Jan Pazdziora 0.9.8-1
+- Check the capability in cfg (uses cached value).
+- Remove --email and --subscription options from rhnreg_ks.
+- No longer use rhnreg.reserveUser nor rhnreg.registerUser in rhnreg_ks.
+
* Thu Mar 25 2010 Jan Pazdziora 0.9.7-1
- Code cleanup.
- 575127 - fix typo in dmidecode key (msuchy(a)redhat.com)
diff --git a/rel-eng/packages/rhn-client-tools b/rel-eng/packages/rhn-client-tools
index 187344a..88b6eaa 100644
--- a/rel-eng/packages/rhn-client-tools
+++ b/rel-eng/packages/rhn-client-tools
@@ -1 +1 @@
-0.9.7-1 client/rhel/rhn-client-tools/
+0.9.8-1 client/rhel/rhn-client-tools/
14 years, 1 month
client/rhel
by Jan Pazdziora
client/rhel/rhn-client-tools/src/up2date_client/rhnreg.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 015c750daa164e80cca51bd683270fa1f91352ad
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Mar 26 12:54:01 2010 +0100
Check the capability in cfg.
This should prevent sendPackages from issuing another
registration.welcome_message XMLRPC call, even if the capabilities
were already retrieved.
diff --git a/client/rhel/rhn-client-tools/src/up2date_client/rhnreg.py b/client/rhel/rhn-client-tools/src/up2date_client/rhnreg.py
index 30185fd..08e0338 100644
--- a/client/rhel/rhn-client-tools/src/up2date_client/rhnreg.py
+++ b/client/rhel/rhn-client-tools/src/up2date_client/rhnreg.py
@@ -588,7 +588,7 @@ def sendHardware(systemId, hardwareList):
def sendPackages(systemId, packageList):
s = rhnserver.RhnServer()
- if not s.capabilities.hasCapability('xmlrpc.packages.extended_profile', 2):
+ if not cfg['supportsExtendedPackageProfile'] == 2:
# for older satellites and hosted - convert to old format
packageList = convertPackagesFromHashToList(packageList)
s.registration.add_packages(systemId, packageList)
14 years, 1 month
java/spacewalk-java.spec rel-eng/packages
by Tomas Lestach
java/spacewalk-java.spec | 8 +++++++-
rel-eng/packages/spacewalk-java | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
New commits:
commit b7622e9ac9105a0bbfa7a3beb1efd91c9d202329
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Mar 26 11:24:26 2010 +0100
Automatic commit of package [spacewalk-java] release [0.9.12-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index fa0fb47..d0ba882 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -19,7 +19,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.9.11
+Version: 0.9.12
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -310,6 +310,12 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Fri Mar 26 2010 Tomas Lestach <tlestach(a)redhat.com> 0.9.12-1
+- API to list API (tlestach(a)redhat.com)
+- 559693 - fixing apidoc (tlestach(a)redhat.com)
+- 559693 - allow channel.software.listAllPackages to return the checksum
+ (colin.coe(a)gmail.com)
+
* Wed Mar 24 2010 Michael Mraka <michael.mraka(a)redhat.com> 0.9.11-1
- fixed Requires for tomcat6
- test case fix for SystemHandlerTest
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 17fb0d6..3f0e066 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.9.11-1 java/
+0.9.12-1 java/
14 years, 1 month
java/code
by Tomas Lestach
java/code/src/com/redhat/rhn/frontend/xmlrpc/api/ApiHandler.java | 173 ++++++++++
1 file changed, 173 insertions(+)
New commits:
commit 607afc48fb7656bf8fe82e4139d8a7d25182fdbd
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Mar 26 11:15:10 2010 +0100
API to list API
Introducing three new API calls:
- api.getApiNamespaces
- api.getApiNamespaceCallList
- api.getApiCallList
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/api/ApiHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/api/ApiHandler.java
index ccfce8b..d6f694d 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/api/ApiHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/api/ApiHandler.java
@@ -15,7 +15,22 @@
package com.redhat.rhn.frontend.xmlrpc.api;
import com.redhat.rhn.common.conf.Config;
+import com.redhat.rhn.common.util.StringUtil;
import com.redhat.rhn.frontend.xmlrpc.BaseHandler;
+import com.redhat.rhn.frontend.xmlrpc.HandlerFactory;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* ApiHandler
@@ -48,4 +63,162 @@ public class ApiHandler extends BaseHandler {
public String getVersion() {
return Config.get().getString("web.apiversion");
}
+
+ private Collection getNamespaces() {
+ return new HandlerFactory().getKeys();
+ }
+
+ /** Lists available API namespaces
+ * @param sessionKey session of the logged in user
+ * @return map of API namespaces
+ *
+ * @xmlrpc.doc Lists available API namespaces
+ * @xmlrpc.param #param("string", "sessionKey")
+ * @xmlrpc.returntype
+ * #array()
+ * #struct("namespace")
+ * #prop_desc("string", "namespace", "API namespace")
+ * #prop_desc("string", "handler", "API Handler")
+ * #struct_end()
+ * #array_end()
+ */
+ public Map getApiNamespaces(String sessionKey) {
+ Map namespacesList = new HashMap();
+ HandlerFactory hf = new HandlerFactory();
+
+ Iterator i = getNamespaces().iterator();
+ while (i.hasNext()) {
+ String namespace = (String)i.next();
+ namespacesList.put(namespace, StringUtil.getClassNameNoPackage(
+ hf.getHandler(namespace).getClass()));
+ }
+ return namespacesList;
+ }
+
+ /**
+ * Lists all available api calls grouped by namespace
+ * @param sessionKey session of the logged in user
+ * @return a map containing list of api calls for every namespace
+ *
+ * @xmlrpc.doc Lists all available api calls grouped by namespace
+ * @xmlrpc.param #param("string", "sessionKey")
+ * @xmlrpc.returntype
+ * #array()
+ * #array()
+ * #struct("method_info")
+ * #prop_desc("string", "name", "method name")
+ * #prop_desc("string", "parameters", "method parameters")
+ * #prop_desc("string", "exceptions", "method exceptions")
+ * #prop_desc("string", "return", "method return type")
+ * #struct_end()
+ * #array_end()
+ * #array_end()
+ */
+ public Map getApiCallList(String sessionKey) {
+ Map callList = new HashMap();
+ HandlerFactory hf = new HandlerFactory();
+
+ Iterator i = getNamespaces().iterator();
+ while (i.hasNext()) {
+ String namespace = (String)i.next();
+ try {
+ callList.put(namespace, getApiNamespaceCallList(sessionKey, namespace));
+ }
+ catch (ClassNotFoundException e) {
+ callList.put(namespace, "notFound");
+ }
+ }
+ return callList;
+ }
+
+ /**
+ * Lists all available api calls for the specified namespace
+ * @param sessionKey session of the logged in user
+ * @param namespace namespace of interest
+ * @return a map containing list of api calls for every namespace
+ * @throws ClassNotFoundException if namespace isn't valid
+ *
+ * @xmlrpc.doc Lists all available api calls for the specified namespace
+ * @xmlrpc.param #param("string", "sessionKey")
+ * @xmlrpc.param #param("string", "namespace")
+ * @xmlrpc.returntype
+ * #array()
+ * #struct("method_info")
+ * #prop_desc("string", "name", "method name")
+ * #prop_desc("string", "parameters", "method parameters")
+ * #prop_desc("string", "exceptions", "method exceptions")
+ * #prop_desc("string", "return", "method return type")
+ * #struct_end()
+ * #array_end()
+ */
+ public Map getApiNamespaceCallList(String sessionKey, String namespace)
+ throws ClassNotFoundException {
+ Class<? extends BaseHandler> handlerClass =
+ new HandlerFactory().getHandler(namespace).getClass();
+ Map<String, Map<String, Object>> methods =
+ new HashMap<String, Map<String, Object>>();
+
+ for (Method method : handlerClass.getDeclaredMethods()) {
+
+ if (0 != (method.getModifiers() & Modifier.PUBLIC)) {
+
+ Map<String, Object> methodInfo = new HashMap<String, Object>();
+
+ methodInfo.put("name", method.getName());
+
+ List<String> paramList = new ArrayList<String>();
+ String paramListString = "";
+ for (Type paramType : method.getParameterTypes()) {
+ String paramTypeString = getType(paramType);
+ paramList.add(paramTypeString);
+ paramListString += "_" + paramTypeString;
+ }
+ methodInfo.put("parameters", paramList);
+
+ Set<String> exceptList = new HashSet<String>();
+ for (Class<?> exceptClass : method.getExceptionTypes()) {
+ exceptList.add(StringUtil.getClassNameNoPackage(exceptClass));
+ }
+ methodInfo.put("exceptions", exceptList);
+ methodInfo.put("return", getType(method.getReturnType()));
+
+ String methodName = namespace + "." +
+ methodInfo.get("name") + paramListString;
+ methods.put(methodName, methodInfo);
+ }
+ }
+ return methods;
+ }
+
+ private String getType(Type classType) {
+ if (classType.equals(String.class)) {
+ return "string";
+ }
+ else if ((classType.equals(Integer.class)) ||
+ (classType.equals(int.class))) {
+ return "int";
+ }
+ else if (classType.equals(Date.class)) {
+ return "date";
+ }
+ else if (classType.equals(Boolean.class) ||
+ classType.equals(boolean.class)) {
+ return "boolean";
+ }
+ else if (classType.equals(Map.class)) {
+ return "struct";
+ }
+ else if ((classType.equals(List.class)) ||
+ (classType.equals(Set.class)) ||
+ (classType.toString().contains("class [L")) ||
+ (classType.toString().contains("class [I"))) {
+ return "array";
+ }
+ else if (classType.toString().contains("class [B")) {
+ return "base64";
+ }
+ else {
+ return "struct";
+ }
+ }
}
14 years, 1 month