branding/css java/code
by Partha Aji
branding/css/rhn-listview.css | 34 ++
java/code/src/com/redhat/rhn/frontend/dto/SystemCompareDto.java | 4
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 3
java/code/webapp/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf | 32 ++
java/code/webapp/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list.jspf | 29 +-
java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp | 119 ++++++----
6 files changed, 163 insertions(+), 58 deletions(-)
New commits:
commit 932f6de4f7d6f81f70f4d6d45c4166486fa06efb
Author: Partha Aji <paji(a)redhat.com>
Date: Thu May 13 18:30:20 2010 -0400
Added the dupe compare css and javascript magic
diff --git a/branding/css/rhn-listview.css b/branding/css/rhn-listview.css
index 4649bac..ebb136b 100644
--- a/branding/css/rhn-listview.css
+++ b/branding/css/rhn-listview.css
@@ -547,6 +547,40 @@ tr.alphaResult td.sortedCol {
background-position: left center;
}
+.compare-list .first-column {
+ border-right: 1px solid #C0C0C0;
+ background-color: #e4e4e4;
+ text-align: right;
+}
+
+.list-button-row,
+.list-button-row td {
+ background-color: #888 !important;
+ border-right: none !important;
+}
+
+.list-button-row td {
+ padding: 10px 5px;
+}
+
+.list-row-even .list-column-even {
+ background-color: #eee;
+}
+
+.list-row-odd .list-column-even {
+ background-color: #e4e4e4;
+}
+
+.compare-list .inactive {
+ background-color: #fef5ad;
+ margin-bottom: 5px;
+}
+
+.compare-list ul {
+ list-style: none outside !important;
+ padding: 0px;
+}
+
/** CSV download widget **/
diff --git a/java/code/src/com/redhat/rhn/frontend/dto/SystemCompareDto.java b/java/code/src/com/redhat/rhn/frontend/dto/SystemCompareDto.java
index 43d6f08..bf883d3 100644
--- a/java/code/src/com/redhat/rhn/frontend/dto/SystemCompareDto.java
+++ b/java/code/src/com/redhat/rhn/frontend/dto/SystemCompareDto.java
@@ -62,13 +62,13 @@ public class SystemCompareDto {
* as the systems were added
* @return the last checkin dates
*/
- public List<String> getLastCheckinDates() {
+ public List<Item> getLastCheckinDates() {
LocalizationService ls = LocalizationService.getInstance();
List<String> ret = new LinkedList<String>();
for (Server server : servers) {
ret.add(ls.formatDate(server.getLastCheckin()));
}
- return ret;
+ return compare(ret);
}
/**
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 e55d92f..cc9d49e 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
@@ -5807,6 +5807,9 @@ value for this entitlement, excluding the default organization's consumption.</s
<trans-unit id="Click Here To Hide">
<source>Click Here To Hide</source>
</trans-unit>
+ <trans-unit id="Click Here To Show">
+ <source>Click Here To Show</source>
+ </trans-unit>
<trans-unit id="Registration Date">
<source>Registration Date</source>
</trans-unit>
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf
index e328aa5..c01b6e3 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf
@@ -1,10 +1,29 @@
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
- <c:forEach items="${items_list}" var="sublist">
- <td>
+ <td class="first-column"><bean:message key="${key}"/></td>
+ <c:forEach items="${items_list}" var="sublist" varStatus="loop">
+ <c:choose>
+ <c:when test ="${loop.count % 2 == 0}">
+ <c:set var ="style_class" value="list-column-even"/>
+ </c:when>
+ <c:otherwise>
+ <c:set var ="style_class" value="list-column-odd"/>
+ </c:otherwise>
+ </c:choose>
+
+ <c:if test = "${loop.last}">
+ <c:set var ="style_class" value="${style_class} last-column"/>
+ </c:if>
+ <td class="${style_class} ">
<c:choose>
<c:when test ="${not empty sublist}">
- <c:forEach items="${sublist}" var="item">
+ <ul>
+ <c:forEach items="${sublist}" var="item" varStatus="subloop">
+ <c:choose>
+ <c:when test="${item.similar}"><li class="inactive"></c:when>
+ <c:otherwise><li></c:otherwise>
+ </c:choose>
+
<c:choose>
<c:when test="${empty item.value}">
<c:set var ="value"><bean:message key="generic.jsp.none"/></c:set>
@@ -16,11 +35,10 @@
<c:if test="${not empty href && not empty item.id}">
<c:set var ="value"> <a href="${href}${item.id}">${value}</a></c:set>
</c:if>
- <c:choose>
- <c:when test="${item.similar}"><strong>${value}</strong></c:when>
- <c:otherwise>${value}</c:otherwise>
- </c:choose><br/>
+ ${value}
+ </li>
</c:forEach>
+ </ul>
</c:when>
<c:otherwise><bean:message key="generic.jsp.none"/></c:otherwise>
</c:choose>
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list.jspf
index 0980c8d..51a1c68 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list.jspf
@@ -1,20 +1,33 @@
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
- <c:forEach items="${items_list}" var="item">
- <td>
- <c:choose>
+ <td class="first-column"><bean:message key="${key}"/></td>
+ <c:forEach items="${items_list}" var="item" varStatus="loop">
+ <c:choose>
+ <c:when test ="${loop.count % 2 == 0}">
+ <c:set var ="style_class" value="list-column-even"/>
+ </c:when>
+ <c:otherwise>
+ <c:set var ="style_class" value="list-column-odd"/>
+ </c:otherwise>
+ </c:choose>
+ <c:if test ="${item.similar}">
+ <c:set var ="style_class" value="${style_class} inactive"/>
+ </c:if>
+ <c:if test = "${loop.last}">
+ <c:set var ="style_class" value="${style_class} last-column"/>
+ </c:if>
+
+ <td class="${style_class} ">
+ <c:choose>
<c:when test="${empty item.value}">
<c:set var ="value"><bean:message key="generic.jsp.none"/></c:set>
</c:when>
<c:otherwise>
<c:set var ="value" value="${item.value}" />
</c:otherwise>
- </c:choose>
+ </c:choose>
<c:if test="${not empty href && not empty item.id}">
<c:set var ="value"> <a href="${href}${item.id}">${value}</a></c:set>
</c:if>
- <c:choose>
- <c:when test="${item.similar}"><strong>${value}</strong></c:when>
- <c:otherwise>${value}</c:otherwise>
- </c:choose>
+ ${value}
</td>
</c:forEach>
\ No newline at end of file
diff --git a/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp b/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
index 4cdf7f5..0c9b449 100644
--- a/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
@@ -7,8 +7,27 @@
<html:xhtml/>
<html>
<head>
- <meta name="page-decorator" content="none" />
- <script src="/javascript/tree.js" type="text/javascript"></script>
+<meta name="page-decorator" content="none" />
+<script type="text/javascript">
+
+ function toggleElement(row) {
+ if (row.style.display == '') {
+ row.style.display = 'none';
+ }
+ else {
+ row.style.display = '';
+ }
+ }
+
+ function pageToggleRows(linkId, ids){
+ for (var i = 0 ; i < ids.length; i++) {
+ toggleElement(document.getElementById(ids[i]));
+ }
+ toggleElement(document.getElementById(linkId + 'Show'));
+ toggleElement(document.getElementById(linkId + 'Hide'));
+ }
+
+</script>
</head>
<body>
<rhn:toolbar base="h1" img="/img/rhn-icon-system.gif" imgAlt="system.common.systemAlt"
@@ -55,7 +74,7 @@
<br/>
<h2><bean:message key='System Comparison'/></h2>
<c:choose> <c:when test="${requestScope.systems.size > 0}">
-<table cellpadding="0" cellspacing="0" class="list">
+<table cellpadding="0" cellspacing="0" class="list compare-list">
<thead><tr>
<th> Property</th>
<c:forEach items="${requestScope.systems.servers}" var="current">
@@ -63,100 +82,118 @@
</c:forEach>
</tr></thead>
<tbody>
- <tr class="list-row-even" >
- <td><%-- Empty --%></td>
- <c:forEach items="${requestScope.systems.systemIds}" var="current">
- <td><input type="submit" name="btn${current.value}" value="${rhn:localize('Delete System Profile')}"/></td>
+ <tr class="list-button-row" >
+ <td class="first-column"><%-- Empty --%></td>
+ <c:forEach items="${requestScope.systems.systemIds}" var="current" varStatus="loop">
+ <c:choose>
+ <c:when test ="${loop.last}">
+ <td class="last-column">
+ </c:when>
+ <c:otherwise><td></c:otherwise>
+ </c:choose>
+ <input type="submit" name="btn${current.value}" value="${rhn:localize('Delete System Profile')}"/></td>
</c:forEach>
</tr>
<tr>
- <th colspan="${requestScope.systems.size + 1}"><bean:message key="System Identity Properties"/> <a href=""><bean:message key="Click Here To Hide"/> </a></th>
- </tr>
- <tr class="list-row-even" >
- <td><bean:message key="systemlist.jsp.last_checked_in"/></td>
- <c:forEach items="${requestScope.systems.lastCheckinDates}" var="current">
- <td>${current}</td>
- </c:forEach>
+ <th colspan="${requestScope.systems.size + 1}"><bean:message key="System Identity Properties"/>
+ <a id='sysIdHide' href="javascript:pageToggleRows('sysId', ['lastCheckinRow', 'macAddressRow','ipAddressRow','systemGroupsRow'])"><bean:message key="Click Here To Hide"/> </a>
+ <a style="display:none" id='sysIdShow' href="javascript:pageToggleRows('sysId', ['lastCheckinRow', 'macAddressRow','ipAddressRow','systemGroupsRow'])"><bean:message key="Click Here To Show"/> </a>
+ </th>
+ </tr>
+ <tr class="list-row-odd" id="lastCheckinRow">
+ <c:set var ="key" value="systemlist.jsp.last_checked_in"/>
+ <c:set var ="items_list" value="${requestScope.systems.lastCheckinDates}"/>
+ <c:set var ="href" value=""/>
+ <%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list.jspf" %>
</tr>
- <tr class="list-row-even" >
- <td><bean:message key="row.macaddress"/></td>
+ <tr class="list-row-even" id="macAddressRow">
+ <c:set var ="key" value="row.macaddress"/>
<c:set var ="items_list" value="${requestScope.systems.macAddresses}"/>
<c:set var ="href" value=""/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf" %>
</tr>
- <tr class="list-row-even" >
- <td><bean:message key="row.ip"/></td>
+ <tr class="list-row-odd" id = "ipAddressRow">
+ <c:set var ="key" value="row.ip"/>
<c:set var ="items_list" value="${requestScope.systems.ipAddresses}"/>
<c:set var ="href" value=""/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf" %>
</tr>
- <tr class="list-row-even" >
- <td><bean:message key="System Groups"/></td>
+ <tr class="list-row-even" id = "systemGroupsRow">
+ <c:set var ="key" value="System Groups"/>
<c:set var ="items_list" value="${requestScope.systems.systemGroups}"/>
<c:set var ="href" value="/network/systems/groups/details.pxt?sgid="/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf" %>
</tr>
<tr>
- <th colspan="${requestScope.systems.size + 1}"><bean:message key="Extended System Identity Properties"/> <a href=""><bean:message key="Click Here To Hide"/> </a></th>
+ <th colspan="${requestScope.systems.size + 1}"><bean:message key="Extended System Identity Properties"/>
+ <a id='extendedSysIdHide' href="javascript:pageToggleRows('extendedSysId', ['registrationDateRow', 'systemIdRow','activationKeysRow'])"><bean:message key="Click Here To Hide"/> </a>
+ <a style="display:none" id='extendedSysIdShow' href="javascript:pageToggleRows('sysId', ['registrationDateRow', 'systemIdRow','activationKeysRow'])"><bean:message key="Click Here To Show"/> </a>
+ </th>
</tr>
- <tr class="list-row-even" >
- <td><bean:message key="Registration Date"/></td>
+ <tr class="list-row-odd" id = "registrationDateRow">
+ <c:set var ="key" value="Registration Date"/>
<c:set var ="items_list" value="${requestScope.systems.registrationDates}"/>
<c:set var ="href" value=""/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list.jspf" %>
</tr>
- <tr class="list-row-even" >
- <td><bean:message key="System ID"/></td>
+ <tr class="list-row-even" id = "systemIdRow">
+ <c:set var ="key" value="System ID"/>
<c:set var ="items_list" value="${requestScope.systems.systemIds}"/>
<c:set var ="href" value=""/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list.jspf" %>
</tr>
- <tr class="list-row-even" >
- <td><bean:message key="Activation Keys"/></td>
+ <tr class="list-row-odd" id = "activationKeysRow">
+ <c:set var ="key" value="Activation Keys"/>
<c:set var ="items_list" value="${requestScope.systems.activationKeys}"/>
<c:set var ="href" value="/rhn/activationkeys/Edit.do?tid="/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf" %>
</tr>
<tr>
- <th colspan="${requestScope.systems.size + 1}"><bean:message key="System Content And Monitoring"/> <a href=""><bean:message key="Click Here To Hide"/> </a></th>
+ <th colspan="${requestScope.systems.size + 1}"><bean:message key="System Content And Monitoring"/>
+ <a id='sysContentIdHide' href="javascript:pageToggleRows('sysContentId', ['baseChannelRow', 'childChannelsRow','configChannelsRow','monitoringProbesRow'])"><bean:message key="Click Here To Hide"/> </a>
+ <a style="display:none" id='sysContentIdShow' href="javascript:pageToggleRows('sysContentId', ['baseChannelRow', 'childChannelsRow','configChannelsRow','monitoringProbesRow'])"><bean:message key="Click Here To Show"/> </a>
+ </th>
</tr>
- <tr class="list-row-even">
- <td><bean:message key="kickstart.channel.label.jsp"/></td>
+ <tr class="list-row-odd" id = "baseChannelRow">
+ <c:set var ="key" value="kickstart.channel.label.jsp"/>
<c:set var ="items_list" value="${requestScope.systems.baseChannels}"/>
<c:set var ="href" value="/rhn/channels/ChannelDetail.do?cid="/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list.jspf" %>
</tr>
- <tr class="list-row-even" >
- <td><bean:message key="Child Software Channels"/></td>
+ <tr class="list-row-even" id="childChannelsRow">
+ <c:set var ="key" value="Child Software Channels"/>
<c:set var ="items_list" value="${requestScope.systems.childChannels}"/>
<c:set var ="href" value="/rhn/channels/ChannelDetail.do?cid="/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf" %>
</tr>
- <tr class="list-row-even" >
- <td><bean:message key="org.config.channels.jsp"/></td>
+ <tr class="list-row-odd" id="configChannelsRow">
+ <c:set var ="key" value="org.config.channels.jsp"/>
<c:set var ="items_list" value="${requestScope.systems.childChannels}"/>
<c:set var ="href" value="/rhn/configuration/ChannelOverview.do?ccid="/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf" %>
</tr>
- <tr class="list-row-even" >
- <td><bean:message key="Monitoring Probes"/></td>
+ <tr class="list-row-even" id="monitoringProbesRow">
+ <c:set var ="key" value="Monitoring Probes"/>
<c:set var ="items_list" value="${requestScope.systems.monitoringProbes}"/>
<c:set var ="href" value=""/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf" %>
</tr>
<tr>
- <th colspan="${requestScope.systems.size + 1}"><bean:message key="softwareEntitlementDetails.header.entitlementUsage"/> <a href=""><bean:message key="Click Here To Hide"/> </a></th>
+ <th colspan="${requestScope.systems.size + 1}"><bean:message key="softwareEntitlementDetails.header.entitlementUsage"/>
+ <a id='sysEntUsageIdHide' href="javascript:pageToggleRows('sysEntUsageId', ['systemEntitlementsRow', 'softwareEntitlementsRow'])"><bean:message key="Click Here To Hide"/> </a>
+ <a style="display:none" id='sysEntUsageIdShow' href="javascript:pageToggleRows('sysEntUsageId', ['systemEntitlementsRow', 'softwareEntitlementsRow'])"><bean:message key="Click Here To Show"/> </a>
+ </th>
</tr>
- <tr class="list-row-even" >
- <td><bean:message key="System Entitlements"/></td>
+ <tr class="list-row-odd" id = "systemEntitlementsRow">
+ <c:set var ="key" value="System Entitlements"/>
<c:set var ="items_list" value="${requestScope.systems.systemEntitlements}"/>
<c:set var ="href" value=""/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf" %>
</tr>
- <tr class="list-row-even" >
- <td><bean:message key="Software Entitlements"/></td>
+ <tr class="list-row-even" id="softwareEntitlementsRow">
+ <c:set var ="key" value="Software Entitlements"/>
<c:set var ="items_list" value="${requestScope.systems.softwareEntitlements}"/>
<c:set var ="href" value=""/>
<%@ include file="/WEB-INF/pages/common/fragments/systems/duplicates/render-item-list-list.jspf" %>
14 years
Branch 'yum-repo-sync' - java/code
by Shannon Hughes
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 6 ++++++
1 file changed, 6 insertions(+)
New commits:
commit 6a44a283b500e0581d264ee6291c3c7873d065d2
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Thu May 13 16:34:58 2010 -0400
fixing toolbar syntax for repo
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 512395d..cc5e87b 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
@@ -9238,6 +9238,12 @@ Please note that some manual configuration of these scripts may still be require
<trans-unit id="repos.jsp.lastsync">
<source>Last Synced</source>
</trans-unit>
+ <trans-unit id="toolbar.create.repos">
+ <source>create new repository</source>
+ <context-group name="ctx">
+ <context context-type="sourcefile">/rhn/channel/manage/repo/RepoList.do</context>
+ </context-group>
+ </trans-unit>
<!-- TNC -->
<trans-unit id="tnc.jsp.tnc">
14 years
Branch 'yum-repo-sync' - java/code
by Shannon Hughes
java/code/src/com/redhat/rhn/domain/channel/ContentSource.hbm.xml | 6 +-----
java/code/webapp/WEB-INF/struts-config.xml | 4 ++--
2 files changed, 3 insertions(+), 7 deletions(-)
New commits:
commit e96d62125339eb520ec44c823980728203fc056a
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Thu May 13 15:56:00 2010 -0400
minor tweaks to struts url path and hibernate fix
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ContentSource.hbm.xml b/java/code/src/com/redhat/rhn/domain/channel/ContentSource.hbm.xml
index cf13f25..351cf66 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ContentSource.hbm.xml
+++ b/java/code/src/com/redhat/rhn/domain/channel/ContentSource.hbm.xml
@@ -38,10 +38,6 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
<query name="ContentSource.findById">
<![CDATA[from com.redhat.rhn.domain.channel.ContentSource as c where c.id = :id]]>
- </query>
-
- <query name="ContentSource.findByOrg">
- <![CDATA[from com.redhat.rhn.domain.channel.ContentSource as c where c.org_id = :orgId]]>
- </query>
+ </query>
</hibernate-mapping>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml
index d948142..c76b65d 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -6598,11 +6598,11 @@
<action path="/channels/manage/repos/RepoList"
scope="request"
parameter="all"
- input="/WEB-INF/pages/channels/manage/repo/repos.jsp"
+ input="/WEB-INF/pages/channel/manage/repo/repos.jsp"
type="com.redhat.rhn.frontend.action.channel.manage.repo.RepoListSetupAction"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<forward name="default"
- path="/WEB-INF/pages/channels/manage/repo/repos.jsp"/>
+ path="/WEB-INF/pages/channel/manage/repo/repos.jsp"/>
</action>
<!-- end repo -->
14 years
java/code
by Justin Sherrill
java/code/src/com/redhat/rhn/frontend/action/user/BaseUserListSetupAction.java | 65 ----------
java/code/src/com/redhat/rhn/frontend/action/user/UserListSetupAction.java | 42 +++++-
java/code/webapp/WEB-INF/pages/admin/users/userlist.jsp | 4
3 files changed, 40 insertions(+), 71 deletions(-)
New commits:
commit d152d9402cf1bac5c0b9291f579735e944aef611
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Thu May 13 13:54:25 2010 -0400
590204 - fixing issue where pagination wasnt working properly on normal user list page
diff --git a/java/code/src/com/redhat/rhn/frontend/action/user/BaseUserListSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/user/BaseUserListSetupAction.java
deleted file mode 100644
index 062b38f..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/user/BaseUserListSetupAction.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Copyright (c) 2009--2010 Red Hat, Inc.
- *
- * 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.user;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.frontend.struts.RhnListAction;
-
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * BaseUserListSetupAction
- * @version $Rev$
- */
-public abstract class BaseUserListSetupAction extends RhnListAction {
-
- /** {@inheritDoc} */
- public ActionForward execute(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
-
- RequestContext requestContext = new RequestContext(request);
-
- User user = requestContext.getLoggedInUser();
- PageControl pc = new PageControl();
- pc.setIndexData(true);
- pc.setFilterColumn("loginUc");
- pc.setFilter(true);
-
- clampListBounds(pc, request, user);
-
- request.setAttribute("pageList", getDataResult(user, pc));
- request.setAttribute("parentUrl", request.getRequestURI());
- return mapping.findForward("default");
- }
-
- /**
- * Returns the appropriate list of users
- * @param user The logged in user
- * @param pc The PageControl
- * @return list of Users
- */
- protected abstract DataResult getDataResult(User user, PageControl pc);
-
-}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/user/UserListSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/user/UserListSetupAction.java
index aab6ae0..cc33d84 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/user/UserListSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/user/UserListSetupAction.java
@@ -16,17 +16,49 @@ package com.redhat.rhn.frontend.action.user;
import com.redhat.rhn.common.db.datasource.DataResult;
import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
+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.ListHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.user.UserManager;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
/**
* UserListSetupAction
* @version $Rev$
*/
-public class UserListSetupAction extends BaseUserListSetupAction {
+public class UserListSetupAction extends RhnAction implements Listable {
+
+ /**
+ * ${@inheritDoc}
+ */
+ public ActionForward execute(ActionMapping mapping, ActionForm form,
+ HttpServletRequest request, HttpServletResponse response) throws Exception {
+ RequestContext context = new RequestContext(request);
+ User user = context.getLoggedInUser();
+ ListHelper helper = new ListHelper(this, request);
+ helper.execute();
+ return mapping.findForward(RhnHelper.DEFAULT_FORWARD);
+ }
+
- /** {@inheritDoc} */
- protected DataResult getDataResult(User user, PageControl pc) {
- return UserManager.usersInOrg(user, pc);
+ /**
+ *
+ * {@inheritDoc}
+ */
+ public List getResult(RequestContext context) {
+ User user = context.getLoggedInUser();
+ DataResult dr = UserManager.usersInOrg(user, null);
+ dr.elaborate();
+ return dr;
}
}
diff --git a/java/code/webapp/WEB-INF/pages/admin/users/userlist.jsp b/java/code/webapp/WEB-INF/pages/admin/users/userlist.jsp
index 8e4d350..8148ad9 100644
--- a/java/code/webapp/WEB-INF/pages/admin/users/userlist.jsp
+++ b/java/code/webapp/WEB-INF/pages/admin/users/userlist.jsp
@@ -20,7 +20,7 @@
<c:set var="pageList" value="${requestScope.pageList}" />
<rl:listset name="userListSet">
- <rl:list dataset="pageList"
+ <rl:list
width="100%"
name="userList"
styleclass="list"
@@ -28,6 +28,8 @@
emptykey="activelist.jsp.noUsers"
alphabarcolumn="userLogin">
+
+
<rl:column bound="false"
sortable="true"
headerkey="username.nopunc.displayname"
14 years
Branch 'yum-repo-sync' - java/code
by Shannon Hughes
java/code/webapp/WEB-INF/struts-config.xml | 15 +++++++++++++++
1 file changed, 15 insertions(+)
New commits:
commit 34cea13f138023d3ddd2f89d80e805034517fe19
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Thu May 13 13:54:12 2010 -0400
adding repolist page to struts
diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml
index 43ba674..d948142 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -6591,6 +6591,21 @@
<forward name="default" path="/WEB-INF/pages/rhnpackage/packagedetail.jsp" />
<forward name="package" path="/software/packages/Details.do" redirect="true"/>
</action>
+
+
+<!-- Repo Sync -->
+
+ <action path="/channels/manage/repos/RepoList"
+ scope="request"
+ parameter="all"
+ input="/WEB-INF/pages/channels/manage/repo/repos.jsp"
+ type="com.redhat.rhn.frontend.action.channel.manage.repo.RepoListSetupAction"
+ className="com.redhat.rhn.frontend.struts.RhnActionMapping">
+ <forward name="default"
+ path="/WEB-INF/pages/channels/manage/repo/repos.jsp"/>
+ </action>
+
+<!-- end repo -->
<action path="/common/DownloadFile"
scope="request"
14 years
2 commits - java/code
by Partha Aji
java/code/src/com/redhat/rhn/frontend/action/systems/duplicate/DuplicateSystemsCompareAction.java | 51 ++++++----
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 2
java/code/src/com/redhat/rhn/manager/system/SystemManager.java | 7 -
java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp | 1
4 files changed, 38 insertions(+), 23 deletions(-)
New commits:
commit 45ad811193b33e995d055a50ae80f82159ea1491
Author: Partha Aji <paji(a)redhat.com>
Date: Thu May 13 12:27:26 2010 -0400
Made the default dups compare page preselect a bunch of items
diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/duplicate/DuplicateSystemsCompareAction.java b/java/code/src/com/redhat/rhn/frontend/action/systems/duplicate/DuplicateSystemsCompareAction.java
index 5380e1c..b84c05c 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/systems/duplicate/DuplicateSystemsCompareAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/systems/duplicate/DuplicateSystemsCompareAction.java
@@ -17,6 +17,7 @@ package com.redhat.rhn.frontend.action.systems.duplicate;
import com.redhat.rhn.common.localization.LocalizationService;
import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.frontend.dto.SystemCompareDto;
+import com.redhat.rhn.frontend.dto.SystemOverview;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.taglibs.list.helper.ListSessionSetHelper;
@@ -29,10 +30,12 @@ import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -61,6 +64,16 @@ public class DuplicateSystemsCompareAction extends RhnAction implements Listable
params.put(KEY_TYPE, context.getRequiredParamAsString(KEY_TYPE));
request.setAttribute("maxLimit", MAX_LIMIT);
ListSessionSetHelper helper = new ListSessionSetHelper(this, request, params);
+
+ if (!context.isSubmitted()) {
+ List<SystemOverview> result = getResult(context);
+ Set<String> preSelect = new HashSet<String>();
+ for (int i = 0; i < Math.min(MAX_LIMIT, result.size()); i++) {
+ preSelect.add(result.get(i).getId().toString());
+ }
+ helper.preSelect(preSelect);
+ }
+
helper.execute();
if (context.isSubmitted()) {
boolean resync = false;
@@ -82,26 +95,26 @@ public class DuplicateSystemsCompareAction extends RhnAction implements Listable
if (resync) {
helper.execute();
}
-
- if (helper.getSet().size() > MAX_LIMIT) {
- LocalizationService ls = LocalizationService.getInstance();
- ActionErrors errors = new ActionErrors();
- getStrutsDelegate().addError(errors,
- "duplicate.compares.max_limit.message",
- String.valueOf(MAX_LIMIT), ls.getMessage("Refresh Comparison"));
- getStrutsDelegate().saveMessages(request, errors);
- }
- else {
- List<Long> sids = new LinkedList<Long>();
- for (String sid : helper.getSet()) {
- sids.add(Long.valueOf(sid));
- }
- List<Server> systems = SystemManager.
- hydrateServerFromIds(sids, context.getLoggedInUser());
- request.setAttribute("systems",
- new SystemCompareDto(systems, context.getLoggedInUser()));
- }
}
+ if (helper.getSet().size() > MAX_LIMIT) {
+ LocalizationService ls = LocalizationService.getInstance();
+ ActionErrors errors = new ActionErrors();
+ getStrutsDelegate().addError(errors,
+ "duplicate.compares.max_limit.message",
+ String.valueOf(MAX_LIMIT), ls.getMessage("Refresh Comparison"));
+ getStrutsDelegate().saveMessages(request, errors);
+ }
+ else {
+ List<Long> sids = new LinkedList<Long>();
+ for (String sid : helper.getSet()) {
+ sids.add(Long.valueOf(sid));
+ }
+ List<Server> systems = SystemManager.
+ hydrateServerFromIds(sids, context.getLoggedInUser());
+ request.setAttribute("systems",
+ new SystemCompareDto(systems, context.getLoggedInUser()));
+ }
+
return mapping.findForward("default");
}
diff --git a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
index d8420e7..be532f1 100644
--- a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
+++ b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
@@ -2734,7 +2734,7 @@ public class SystemManager extends BaseManager {
* @param ip ip address of the system
* @return List of DuplicateSystemGrouping objects
*/
- public static List listDuplicatesByIP(User user, String ip) {
+ public static List<SystemOverview> listDuplicatesByIP(User user, String ip) {
return listDuplicates(user, "duplicate_system_ids_ip_key", ip);
}
@@ -2758,7 +2758,7 @@ public class SystemManager extends BaseManager {
* @param mac the mac address of the system
* @return List of DuplicateSystemGrouping objects
*/
- public static List listDuplicatesByMac(User user, String mac) {
+ public static List<SystemOverview> listDuplicatesByMac(User user, String mac) {
return listDuplicates(user, "duplicate_system_ids_mac_key", mac);
}
@@ -2780,7 +2780,8 @@ public class SystemManager extends BaseManager {
* @param hostName host name of the system
* @return List of DuplicateSystemGrouping objects
*/
- public static List listDuplicatesByHostname(User user, String hostName) {
+ public static List<SystemOverview> listDuplicatesByHostname(User user,
+ String hostName) {
return listDuplicates(user, "duplicate_system_ids_hostname_key",
hostName);
}
diff --git a/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp b/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
index ad9771a..4cdf7f5 100644
--- a/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
@@ -39,6 +39,7 @@
<rl:column sortattr="lastCheckinDate"
attr="lastCheckin"
bound="true"
+ styleclass="last-column"
headerkey="systemlist.jsp.last_checked_in"/>
</rl:list>
commit ca5749ce7355c0c9e270575a6a5e9a0903c642c1
Author: Partha Aji <paji(a)redhat.com>
Date: Thu May 13 12:11:02 2010 -0400
Improved a error message on Dups systems page
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 9082bfc..e55d92f 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
@@ -5784,7 +5784,7 @@ value for this entitlement, excluding the default organization's consumption.</s
<source>The systems below are potential duplicates of one another. You may select a combination of <strong>{0} systems at once</strong> for detailed comparison</source>
</trans-unit>
<trans-unit id="duplicate.compares.max_limit.message">
- <source>You have crossed the maximum limit for system comparison. Select a combination of at most <strong>{0} systems</strong> to compare and select <strong>{1}</strong></source>
+ <source>You have selected more than {0} system profiles for comparison. Please select a combination of <strong>{0} systems or less</strong> to compare and select <strong>{1}</strong></source>
</trans-unit>
<trans-unit id="Delete System Profile">
<source>Delete System Profile</source>
14 years
Branch 'yum-repo-sync' - 4 commits - client/rhel java/code
by Shannon Hughes
client/rhel/rhn-client-tools/src/up2date_client/hardware_gudev.py | 2
java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml | 8
java/code/src/com/redhat/rhn/frontend/action/channel/manage/repo/RepoListSetupAction.java | 4
java/code/src/com/redhat/rhn/manager/channel/RepoLister.java | 21
java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java | 420 +++++-----
java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java | 33
6 files changed, 255 insertions(+), 233 deletions(-)
New commits:
commit 8f9a8e7a94cdcfaa0ab9183791ff3aceea173808
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Thu May 13 11:43:48 2010 -0400
datasource queries for repolist listtag page
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
index ca4de55..2c4f19e 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
@@ -1031,6 +1031,14 @@ SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id
</query>
</mode>
+<mode name="contentsrc_for_org" class="com.redhat.rhn.frontend.dto.ContentSourceDto">
+ <query params="org_id">
+ SELECT CS.id, CS.label, CS.last_synced
+ FROM rhnContentSource CS
+ WHERE CS.org_id = :org_id
+ </query>
+</mode>
+
<mode name="latest_package_equal_in_tree">
<query params="cid, name">
SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/repo/RepoListSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/repo/RepoListSetupAction.java
index 0e35d03..69c1ea7 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/repo/RepoListSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/repo/RepoListSetupAction.java
@@ -25,8 +25,8 @@ import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.redhat.rhn.common.util.DynamicComparator;
-import com.redhat.rhn.domain.channel.ContentSource;
import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.frontend.dto.ContentSourceDto;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.manager.channel.RepoLister;
@@ -48,7 +48,7 @@ public class RepoListSetupAction extends RhnAction {
request.setAttribute(mapping.getParameter(), Boolean.TRUE);
RequestContext context = new RequestContext(request);
User user = context.getLoggedInUser();
- List<ContentSource> result;
+ List<ContentSourceDto> result;
result = RepoLister.getInstance().list(user);
Collections.sort(result, LABEL_COMPARATOR);
diff --git a/java/code/src/com/redhat/rhn/manager/channel/RepoLister.java b/java/code/src/com/redhat/rhn/manager/channel/RepoLister.java
index 0d5c9a4..8cc5ed2 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/RepoLister.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/RepoLister.java
@@ -14,13 +14,17 @@
*/
package com.redhat.rhn.manager.channel;
+import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.channel.ContentSource;
+import com.redhat.rhn.common.db.datasource.ModeFactory;
+import com.redhat.rhn.common.db.datasource.SelectMode;
import com.redhat.rhn.domain.org.Org;
import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.frontend.dto.ContentSourceDto;
import com.redhat.rhn.manager.BaseManager;
/**
@@ -45,17 +49,20 @@ public class RepoLister extends BaseManager {
return INSTANCE;
}
- public DataResult<ContentSource> sourcesInOrg(Org orgIn) {
+ public DataResult<ContentSourceDto> sourcesInOrg(Org orgIn) {
- //need to determine if we want to use Hibernate or DataSource query here
- DataResult<ContentSource> returnDataResult = null;
-
+ SelectMode m = ModeFactory.getMode("Channel_queries", "contentsrc_for_org");
+ Map params = new HashMap();
+ params.put("org_id", orgIn.getId());
+ Map elabParams = new HashMap();
+ DataResult<ContentSourceDto> returnDataResult = makeDataResult(params,
+ elabParams, null, m);
return returnDataResult;
}
- public List<ContentSource> list(User user) {
- List <ContentSource> repos = new LinkedList<ContentSource>();
+ public List<ContentSourceDto> list(User user) {
+ List <ContentSourceDto> repos = new LinkedList<ContentSourceDto>();
repos.addAll(sourcesInOrg(user.getOrg()));
return repos;
}
commit 40fbe4437a184f2019b8988a99c5db9a617886d0
Merge: 8be368a... d6b95ee...
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Thu May 13 11:26:59 2010 -0400
Merge branch 'master' into repo
commit d6b95eeb1ed40004d2ad10db12a9c9b03b4fc412
Author: Lukáš Ďurfina <lukas.durfina(a)gmail.com>
Date: Thu May 13 11:33:49 2010 +0200
Fix style of commit c4e387bbb1c5cf16f54a2fa968a5613121bc1d7a
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java
index a05ea00..78e76ab 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java
@@ -35,212 +35,218 @@ import java.util.zip.GZIPOutputStream;
*/
public class DebPackageWriter {
- private static Logger log = Logger.getLogger(DebPackageWriter.class);
- private String filenamePackages = "";
- private PackageCapabilityIterator providesIterator;
- private PackageCapabilityIterator requiresIterator;
- private PackageCapabilityIterator conflictsIterator;
- private PackageCapabilityIterator obsoletesIterator;
-
- /**
- *
- * @param prefix
- */
- public DebPackageWriter(Channel channel, String prefix) {
- log.debug("DebPackageWriter created");
- try {
- filenamePackages = prefix + "Packages";
- File f = new File(filenamePackages);
- if (f.exists()) {
- f.delete();
- }
- f.createNewFile();
-
- providesIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_PROVIDES);
- requiresIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_REQUIRES);
- conflictsIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_CONFLICTS);
- obsoletesIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_OBSOLETES);
- } catch (Exception e) {
- log.debug("Create file Packages failed " + e.toString());
- }
- }
-
- /**
- * add package info to Packages file in repository
- *
- * @param pkgDto
- */
- public void addPackage(PackageDto pkgDto) {
- try {
- BufferedWriter out = new BufferedWriter(new FileWriter(
- filenamePackages, true));
-
- out.write("Package: ");
- out.write(pkgDto.getName());
- out.newLine();
-
- out.write("Version: ");
- out.write(pkgDto.getVersion());
- String release = pkgDto.getRelease();
- if (!release.equalsIgnoreCase("X")) {
- out.write("-" + release);
- }
- out.newLine();
-
- out.write("Architecture: ");
- out.write(pkgDto.getArchLabel().replace("-deb", ""));
- out.newLine();
-
- out.write("Maintainer: ");
- out.write(pkgDto.getVendor());
- out.newLine();
-
- out.write("Installed-Size: ");
- out.write(pkgDto.getPackageSize().toString());
- out.newLine();
-
- // dependencies
- addPackageDepData(out, providesIterator,
- pkgDto.getId().longValue(), "Provides");
- addPackageDepData(out, requiresIterator,
- pkgDto.getId().longValue(), "Depends");
- addPackageDepData(out, conflictsIterator, pkgDto.getId()
- .longValue(), "Conflicts");
- addPackageDepData(out, obsoletesIterator, pkgDto.getId()
- .longValue(), "Replaces");
-
- // TODO FIX path to package, Apache needs access to it
- out.write("Filename: ");
- out.write("/var/satellite/" + pkgDto.getPath());
- out.newLine();
-
- // size of package, is checked by apt
- out.write("Size: ");
- out.write(pkgDto.getPackageSize().toString());
- out.newLine();
-
- // at least one checksum is required by apt
- if (pkgDto.getChecksumType().equalsIgnoreCase("md5")) {
- out.write("MD5sum: ");
- out.write(pkgDto.getChecksum());
- out.newLine();
- }
-
- if (pkgDto.getChecksumType().equalsIgnoreCase("sha1")) {
- out.write("SHA1: ");
- out.write(pkgDto.getChecksum());
- out.newLine();
- }
-
- if (pkgDto.getChecksumType().equalsIgnoreCase("sha256")) {
- out.write("SHA256: ");
- out.write(pkgDto.getChecksum());
- out.newLine();
- }
-
- out.write("Section: ");
- out.write(pkgDto.getPackageGroupName());
- out.newLine();
-
- // Priority is not stored in DB
- // out.write("Priority: ");
- // out.write(pkgDto.get);
- // out.newLine();
-
- // out.write("Homepage: ");
- // out.write(pkgDto.get);
- // out.newLine();
-
- out.write("Description: ");
- out.write(pkgDto.getDescription());
- out.newLine();
-
- // new line after package metadata
- out.newLine();
- out.flush();
- out.close();
- } catch (Exception e) {
- log.debug("Failed to add deb package " + e.toString());
- }
- }
-
- /**
- *
- * @param pkgCapIter
- * pkg capability info
- * @param pkgId
- * package Id to set
- * @param dep
- * dependency info
- */
- private void addPackageDepData(BufferedWriter out,
- PackageCapabilityIterator pkgCapIter, long pkgId, String dep) {
- int count = 0;
- try {
- while (pkgCapIter.hasNextForPackage(pkgId)) {
- if (count == 0) {
- out.write(dep + ": ");
- }
- else {
- out.write(", ");
- }
- count++;
- String name = pkgCapIter.getString("name");
- String version = pkgCapIter.getString("version");
- out.write(name);
- if (version != null && !version.isEmpty()) {
- out.write(" (" + version + ")");
- }
- }
- } catch (Exception e) {
- log.debug("failed to write DEB dependency " + dep + " "
- + e.toString());
- }
- try {
- if (count > 0) {
- out.newLine();
- }
- }
- catch (Exception e) {
- }
-
- }
-
- /**
- * Create Packages.gz from Packages
- */
- public void generatePackagesGz() {
- try {
- // Create the GZIP output stream
- String outFilename = filenamePackages + ".gz";
- GZIPOutputStream out = new GZIPOutputStream(new FileOutputStream(
- outFilename, false));
-
- // Open the input file
- FileInputStream in = new FileInputStream(filenamePackages);
-
- // Transfer bytes from the input file to the GZIP output stream
- byte[] buf = new byte[1024];
- int len;
- while ((len = in.read(buf)) > 0) {
- out.write(buf, 0, len);
- }
- in.close();
-
- // Complete the GZIP file
- out.finish();
- out.close();
- } catch (IOException e) {
- log.debug("Failed to create Packages.gz " + e.toString());
- }
- }
+ private static Logger log = Logger.getLogger(DebPackageWriter.class);
+ private String filenamePackages = "";
+ private PackageCapabilityIterator providesIterator;
+ private PackageCapabilityIterator requiresIterator;
+ private PackageCapabilityIterator conflictsIterator;
+ private PackageCapabilityIterator obsoletesIterator;
+
+ /**
+ *
+ * @param channel debian channel
+ * @param prefix path to repository
+ */
+ public DebPackageWriter(Channel channel, String prefix) {
+ log.debug("DebPackageWriter created");
+ try {
+ filenamePackages = prefix + "Packages";
+ File f = new File(filenamePackages);
+ if (f.exists()) {
+ f.delete();
+ }
+ f.createNewFile();
+
+ providesIterator = new PackageCapabilityIterator(
+ channel,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_PROVIDES);
+ requiresIterator = new PackageCapabilityIterator(
+ channel,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_REQUIRES);
+ conflictsIterator = new PackageCapabilityIterator(
+ channel,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_CONFLICTS);
+ obsoletesIterator = new PackageCapabilityIterator(
+ channel,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_OBSOLETES);
+ }
+ catch (Exception e) {
+ log.debug("Create file Packages failed " + e.toString());
+ }
+ }
+
+ /**
+ * add package info to Packages file in repository
+ *
+ * @param pkgDto package object
+ */
+ public void addPackage(PackageDto pkgDto) {
+ try {
+ BufferedWriter out = new BufferedWriter(new FileWriter(
+ filenamePackages, true));
+
+ out.write("Package: ");
+ out.write(pkgDto.getName());
+ out.newLine();
+
+ out.write("Version: ");
+ out.write(pkgDto.getVersion());
+ String release = pkgDto.getRelease();
+ if (!release.equalsIgnoreCase("X")) {
+ out.write("-" + release);
+ }
+ out.newLine();
+
+ out.write("Architecture: ");
+ out.write(pkgDto.getArchLabel().replace("-deb", ""));
+ out.newLine();
+
+ out.write("Maintainer: ");
+ out.write(pkgDto.getVendor());
+ out.newLine();
+
+ out.write("Installed-Size: ");
+ out.write(pkgDto.getPackageSize().toString());
+ out.newLine();
+
+ // dependencies
+ addPackageDepData(out, providesIterator,
+ pkgDto.getId().longValue(), "Provides");
+ addPackageDepData(out, requiresIterator,
+ pkgDto.getId().longValue(), "Depends");
+ addPackageDepData(out, conflictsIterator, pkgDto.getId()
+ .longValue(), "Conflicts");
+ addPackageDepData(out, obsoletesIterator, pkgDto.getId()
+ .longValue(), "Replaces");
+
+ // TODO FIX path to package, Apache needs access to it
+ out.write("Filename: ");
+ out.write("/var/satellite/" + pkgDto.getPath());
+ out.newLine();
+
+ // size of package, is checked by apt
+ out.write("Size: ");
+ out.write(pkgDto.getPackageSize().toString());
+ out.newLine();
+
+ // at least one checksum is required by apt
+ if (pkgDto.getChecksumType().equalsIgnoreCase("md5")) {
+ out.write("MD5sum: ");
+ out.write(pkgDto.getChecksum());
+ out.newLine();
+ }
+
+ if (pkgDto.getChecksumType().equalsIgnoreCase("sha1")) {
+ out.write("SHA1: ");
+ out.write(pkgDto.getChecksum());
+ out.newLine();
+ }
+
+ if (pkgDto.getChecksumType().equalsIgnoreCase("sha256")) {
+ out.write("SHA256: ");
+ out.write(pkgDto.getChecksum());
+ out.newLine();
+ }
+
+ out.write("Section: ");
+ out.write(pkgDto.getPackageGroupName());
+ out.newLine();
+
+ // Priority is not stored in DB
+ // out.write("Priority: ");
+ // out.write(pkgDto.get);
+ // out.newLine();
+
+ // out.write("Homepage: ");
+ // out.write(pkgDto.get);
+ // out.newLine();
+
+ out.write("Description: ");
+ out.write(pkgDto.getDescription());
+ out.newLine();
+
+ // new line after package metadata
+ out.newLine();
+ out.flush();
+ out.close();
+ }
+ catch (Exception e) {
+ log.debug("Failed to add deb package " + e.toString());
+ }
+ }
+
+ /**
+ * @param out
+ *
+ * @param pkgCapIter
+ * pkg capability info
+ * @param pkgId
+ * package Id to set
+ * @param dep
+ * dependency info
+ */
+ private void addPackageDepData(BufferedWriter out,
+ PackageCapabilityIterator pkgCapIter, long pkgId, String dep) {
+ int count = 0;
+ try {
+ while (pkgCapIter.hasNextForPackage(pkgId)) {
+ if (count == 0) {
+ out.write(dep + ": ");
+ }
+ else {
+ out.write(", ");
+ }
+ count++;
+ String name = pkgCapIter.getString("name");
+ String version = pkgCapIter.getString("version");
+ out.write(name);
+ if (version != null && !version.isEmpty()) {
+ out.write(" (" + version + ")");
+ }
+ }
+ }
+ catch (Exception e) {
+ log.debug("failed to write DEB dependency " + dep + " " + e.toString());
+ }
+ try {
+ if (count > 0) {
+ out.newLine();
+ }
+ }
+ catch (Exception e) {
+ log.debug("failed to write new line " + e.toString());
+ }
+
+ }
+
+ /**
+ * Create Packages.gz from Packages
+ */
+ public void generatePackagesGz() {
+ try {
+ // Create the GZIP output stream
+ String outFilename = filenamePackages + ".gz";
+ GZIPOutputStream out = new GZIPOutputStream(new FileOutputStream(
+ outFilename, false));
+
+ // Open the input file
+ FileInputStream in = new FileInputStream(filenamePackages);
+
+ // Transfer bytes from the input file to the GZIP output stream
+ byte[] buf = new byte[1024];
+ int len;
+ while ((len = in.read(buf)) > 0) {
+ out.write(buf, 0, len);
+ }
+ in.close();
+
+ // Complete the GZIP file
+ out.finish();
+ out.close();
+ }
+ catch (IOException e) {
+ log.debug("Failed to create Packages.gz " + e.toString());
+ }
+ }
}
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
index 52018c2..6530614 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
@@ -94,21 +94,21 @@ public class RepositoryWriter {
PackageManager.createRepoEntrys(channel.getId());
- String prefix = mountPoint + File.separator + pathPrefix
- + File.separator + channel.getLabel() + File.separator;
+ String prefix = mountPoint + File.separator + pathPrefix +
+ File.separator + channel.getLabel() + File.separator;
if (channel.getChannelArch().getArchType().getLabel().equalsIgnoreCase("deb")) {
log.info("Generating new DEB repository for channel " + channel.getLabel());
generateDebRepository(channel, prefix);
}
else {
- log.info("Generating new repository metatada for channel '"
- + channel.getLabel() + "' " + channel.getPackageCount()
- + " packages, " + channel.getErrataCount() + " updates");
+ log.info("Generating new repository metatada for channel '" +
+ channel.getLabel() + "' " + channel.getPackageCount() +
+ " packages, " + channel.getErrataCount() + " updates");
if (!new File(prefix).mkdirs() && !new File(prefix).exists()) {
- throw new RepomdRuntimeException("Unable to create directory: "
- + prefix);
+ throw new RepomdRuntimeException("Unable to create directory: " +
+ prefix);
}
CompressingDigestOutputWriter primaryFile;
@@ -124,8 +124,8 @@ public class RepositoryWriter {
// MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512
String checksumAlgo = this.checksumtype;
if (checksumAlgo.toUpperCase().startsWith("SHA")) {
- checksumAlgo = this.checksumtype.substring(0, 3) + "-"
- + this.checksumtype.substring(3);
+ checksumAlgo = this.checksumtype.substring(0, 3) + "-" +
+ this.checksumtype.substring(3);
}
// translate sha1 to sha for xml repo files
String checksumLabel = this.checksumtype;
@@ -204,10 +204,10 @@ public class RepositoryWriter {
.getCompressedChecksum(), otherFile
.getUncompressedChecksum(), channel.getLastModified());
- log.info("Starting updateinfo generation for '"
- + channel.getLabel() + '"');
- log.info("Checksum Type Value for generate updateinfo"
- + this.checksumtype);
+ log.info("Starting updateinfo generation for '" +
+ channel.getLabel() + '"');
+ log.info("Checksum Type Value for generate updateinfo" +
+ this.checksumtype);
RepomdIndexData updateinfoData = generateUpdateinfo(channel,
prefix, checksumAlgo);
@@ -254,10 +254,9 @@ public class RepositoryWriter {
renameFiles(prefix, channel.getLastModified().getTime(),
updateinfoData != null);
- log.info("Repository metadata generation for '"
- + channel.getLabel() + "' finished in "
- + (int) (new Date().getTime() - start.getTime()) / 1000
- + " seconds");
+ log.info("Repository metadata generation for '" +
+ channel.getLabel() + "' finished in " +
+ (int) (new Date().getTime() - start.getTime()) / 1000 + " seconds");
}
}
commit cb136c947665fb7aa278a3de42a6e5b9cd1f4f6e
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Thu May 13 12:26:10 2010 +0200
557059 - we cannot have class None.
Addressing
[Thu May 13 06:18:39 2010] rhn_register D: rpcServer: Calling XMLRPC registration.add_hw_profile
[Thu May 13 06:18:39 2010] rhn_register
Traceback (most recent call last):
File "/usr/share/rhn/up2date_client/tui.py", line 891, in run
rhnreg.sendHardware(systemId, self.tui.hardware)
File "/usr/share/rhn/up2date_client/rhnreg.py", line 472, in sendHardware
s.registration.add_hw_profile(systemId, hardwareList)
File "/usr/share/rhn/up2date_client/rhnserver.py", line 50, in __call__
return rpcServer.doCall(method, *args, **kwargs)
File "/usr/share/rhn/up2date_client/rpcServer.py", line 204, in doCall
ret = method(*args, **kwargs)
File "/usr/lib64/python2.6/xmlrpclib.py", line 1199, in __call__
return self.__send(self.__name, args)
File "/usr/share/rhn/up2date_client/rpcServer.py", line 39, in _request1
ret = self._request(methodname, params)
File "/usr/lib/python2.6/site-packages/rhn/rpclib.py", line 350, in _request
request = self._req_body(params, methodname)
File "/usr/lib/python2.6/site-packages/rhn/rpclib.py", line 231, in _req_body
return xmlrpclib.dumps(params, methodname, encoding=self._encoding)
File "/usr/lib64/python2.6/xmlrpclib.py", line 1132, in dumps
data = m.dumps(params)
File "/usr/lib64/python2.6/xmlrpclib.py", line 677, in dumps
dump(v, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 699, in __dump
f(self, value, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 759, in dump_array
dump(v, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 699, in __dump
f(self, value, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 780, in dump_struct
dump(v, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 699, in __dump
f(self, value, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 703, in dump_nil
raise TypeError, "cannot marshal None unless allow_none is enabled"
<type 'exceptions.TypeError'>: cannot marshal None unless allow_none is enabled
diff --git a/client/rhel/rhn-client-tools/src/up2date_client/hardware_gudev.py b/client/rhel/rhn-client-tools/src/up2date_client/hardware_gudev.py
index 4c07373..040f6af 100644
--- a/client/rhel/rhn-client-tools/src/up2date_client/hardware_gudev.py
+++ b/client/rhel/rhn-client-tools/src/up2date_client/hardware_gudev.py
@@ -45,6 +45,8 @@ def get_devices():
'class': _clasify_class(device),
'desc': _get_device_desc(device),
}
+ if result_item['class'] is None:
+ result_item['class'] = 'OTHER'
if result_item['driver'] is None:
result_item['driver'] = 'unknown'
if subsystem == 'block':
14 years
Branch 'yum-repo-sync' - 3 commits - client/rhel java/code
by Shannon Hughes
client/rhel/rhn-client-tools/rhn-client-tools.spec | 6
java/code/src/com/redhat/rhn/frontend/dto/ContentSourceDto.java | 76 ++++++++++
2 files changed, 82 insertions(+)
New commits:
commit 8be368ab7177faeeb67ab289db17d91cdf0096fe
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Thu May 13 11:25:35 2010 -0400
adding ContentSource DTO object for repo listtags
diff --git a/java/code/src/com/redhat/rhn/frontend/dto/ContentSourceDto.java b/java/code/src/com/redhat/rhn/frontend/dto/ContentSourceDto.java
new file mode 100644
index 0000000..0afdfa2
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/dto/ContentSourceDto.java
@@ -0,0 +1,76 @@
+/**
+ * Copyright (c) 2009--2010 Red Hat, Inc.
+ *
+ * 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.dto;
+
+import java.util.Date;
+
+
+/**
+ * ContentSourceDto
+ * @version $Rev$
+ */
+public class ContentSourceDto extends BaseDto {
+
+ private Long id;
+ private String label;
+ private Date lastSynced;
+
+ /**
+ *
+ * @return laste date repo was synced
+ */
+ public Date getLastSynced() {
+ return lastSynced;
+ }
+
+ /**
+ *
+ * @param lastSyncedIn date to set of last sync
+ */
+ public void setLastSynced(Date lastSyncedIn) {
+ this.lastSynced = lastSyncedIn;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Long getId() {
+ return id;
+ }
+
+ /**
+ * @param idIn The id to set.
+ */
+ public void setId(Long idIn) {
+ this.id = idIn;
+ }
+
+ /**
+ * @return the label
+ */
+ public String getLabel() {
+ return label;
+ }
+
+
+ /**
+ * @param labelIn The label to set.
+ */
+ public void setLabel(String labelIn) {
+ this.label = labelIn;
+ }
+
+
+}
commit a158891e06cc91f45d87ff084af21c9c741e6e9a
Merge: 6907bfc... 31eb96a...
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Thu May 13 05:41:24 2010 -0400
Merge branch 'master' into repo
commit 31eb96a2f9cfa4413b161057f4aa3164fc7dd997
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu May 13 10:19:55 2010 +0200
591798 - Completly remove hal code from rhn-client-tools for F-13 and RHEL-6
diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec b/client/rhel/rhn-client-tools/rhn-client-tools.spec
index 274bbef..ab33c89 100644
--- a/client/rhel/rhn-client-tools/rhn-client-tools.spec
+++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec
@@ -99,6 +99,12 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/up2date
mkdir -pm700 $RPM_BUILD_ROOT%{_localstatedir}/spool/up2date
touch $RPM_BUILD_ROOT%{_localstatedir}/spool/up2date/loginAuth.pkl
+%if 0%{?fedora} > 12 || 0%{?rhel} > 5
+rm $RPM_BUILD_ROOT%{_datadir}/rhn/up2date_client/hardware_hal.*
+%else
+rm $RPM_BUILD_ROOT%{_datadir}/rhn/up2date_client/hardware_gudev.*
+%endif
+
desktop-file-install --dir=${RPM_BUILD_ROOT}%{_datadir}/applications --vendor=rhn rhn_register.desktop
%if 0%{?suse_version}
%suse_update_desktop_file rhn_register System
14 years
java/code
by Miroslav Suchý
java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java | 420 +++++-----
java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java | 33
2 files changed, 229 insertions(+), 224 deletions(-)
New commits:
commit d6b95eeb1ed40004d2ad10db12a9c9b03b4fc412
Author: Lukáš Ďurfina <lukas.durfina(a)gmail.com>
Date: Thu May 13 11:33:49 2010 +0200
Fix style of commit c4e387bbb1c5cf16f54a2fa968a5613121bc1d7a
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java
index a05ea00..78e76ab 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java
@@ -35,212 +35,218 @@ import java.util.zip.GZIPOutputStream;
*/
public class DebPackageWriter {
- private static Logger log = Logger.getLogger(DebPackageWriter.class);
- private String filenamePackages = "";
- private PackageCapabilityIterator providesIterator;
- private PackageCapabilityIterator requiresIterator;
- private PackageCapabilityIterator conflictsIterator;
- private PackageCapabilityIterator obsoletesIterator;
-
- /**
- *
- * @param prefix
- */
- public DebPackageWriter(Channel channel, String prefix) {
- log.debug("DebPackageWriter created");
- try {
- filenamePackages = prefix + "Packages";
- File f = new File(filenamePackages);
- if (f.exists()) {
- f.delete();
- }
- f.createNewFile();
-
- providesIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_PROVIDES);
- requiresIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_REQUIRES);
- conflictsIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_CONFLICTS);
- obsoletesIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_OBSOLETES);
- } catch (Exception e) {
- log.debug("Create file Packages failed " + e.toString());
- }
- }
-
- /**
- * add package info to Packages file in repository
- *
- * @param pkgDto
- */
- public void addPackage(PackageDto pkgDto) {
- try {
- BufferedWriter out = new BufferedWriter(new FileWriter(
- filenamePackages, true));
-
- out.write("Package: ");
- out.write(pkgDto.getName());
- out.newLine();
-
- out.write("Version: ");
- out.write(pkgDto.getVersion());
- String release = pkgDto.getRelease();
- if (!release.equalsIgnoreCase("X")) {
- out.write("-" + release);
- }
- out.newLine();
-
- out.write("Architecture: ");
- out.write(pkgDto.getArchLabel().replace("-deb", ""));
- out.newLine();
-
- out.write("Maintainer: ");
- out.write(pkgDto.getVendor());
- out.newLine();
-
- out.write("Installed-Size: ");
- out.write(pkgDto.getPackageSize().toString());
- out.newLine();
-
- // dependencies
- addPackageDepData(out, providesIterator,
- pkgDto.getId().longValue(), "Provides");
- addPackageDepData(out, requiresIterator,
- pkgDto.getId().longValue(), "Depends");
- addPackageDepData(out, conflictsIterator, pkgDto.getId()
- .longValue(), "Conflicts");
- addPackageDepData(out, obsoletesIterator, pkgDto.getId()
- .longValue(), "Replaces");
-
- // TODO FIX path to package, Apache needs access to it
- out.write("Filename: ");
- out.write("/var/satellite/" + pkgDto.getPath());
- out.newLine();
-
- // size of package, is checked by apt
- out.write("Size: ");
- out.write(pkgDto.getPackageSize().toString());
- out.newLine();
-
- // at least one checksum is required by apt
- if (pkgDto.getChecksumType().equalsIgnoreCase("md5")) {
- out.write("MD5sum: ");
- out.write(pkgDto.getChecksum());
- out.newLine();
- }
-
- if (pkgDto.getChecksumType().equalsIgnoreCase("sha1")) {
- out.write("SHA1: ");
- out.write(pkgDto.getChecksum());
- out.newLine();
- }
-
- if (pkgDto.getChecksumType().equalsIgnoreCase("sha256")) {
- out.write("SHA256: ");
- out.write(pkgDto.getChecksum());
- out.newLine();
- }
-
- out.write("Section: ");
- out.write(pkgDto.getPackageGroupName());
- out.newLine();
-
- // Priority is not stored in DB
- // out.write("Priority: ");
- // out.write(pkgDto.get);
- // out.newLine();
-
- // out.write("Homepage: ");
- // out.write(pkgDto.get);
- // out.newLine();
-
- out.write("Description: ");
- out.write(pkgDto.getDescription());
- out.newLine();
-
- // new line after package metadata
- out.newLine();
- out.flush();
- out.close();
- } catch (Exception e) {
- log.debug("Failed to add deb package " + e.toString());
- }
- }
-
- /**
- *
- * @param pkgCapIter
- * pkg capability info
- * @param pkgId
- * package Id to set
- * @param dep
- * dependency info
- */
- private void addPackageDepData(BufferedWriter out,
- PackageCapabilityIterator pkgCapIter, long pkgId, String dep) {
- int count = 0;
- try {
- while (pkgCapIter.hasNextForPackage(pkgId)) {
- if (count == 0) {
- out.write(dep + ": ");
- }
- else {
- out.write(", ");
- }
- count++;
- String name = pkgCapIter.getString("name");
- String version = pkgCapIter.getString("version");
- out.write(name);
- if (version != null && !version.isEmpty()) {
- out.write(" (" + version + ")");
- }
- }
- } catch (Exception e) {
- log.debug("failed to write DEB dependency " + dep + " "
- + e.toString());
- }
- try {
- if (count > 0) {
- out.newLine();
- }
- }
- catch (Exception e) {
- }
-
- }
-
- /**
- * Create Packages.gz from Packages
- */
- public void generatePackagesGz() {
- try {
- // Create the GZIP output stream
- String outFilename = filenamePackages + ".gz";
- GZIPOutputStream out = new GZIPOutputStream(new FileOutputStream(
- outFilename, false));
-
- // Open the input file
- FileInputStream in = new FileInputStream(filenamePackages);
-
- // Transfer bytes from the input file to the GZIP output stream
- byte[] buf = new byte[1024];
- int len;
- while ((len = in.read(buf)) > 0) {
- out.write(buf, 0, len);
- }
- in.close();
-
- // Complete the GZIP file
- out.finish();
- out.close();
- } catch (IOException e) {
- log.debug("Failed to create Packages.gz " + e.toString());
- }
- }
+ private static Logger log = Logger.getLogger(DebPackageWriter.class);
+ private String filenamePackages = "";
+ private PackageCapabilityIterator providesIterator;
+ private PackageCapabilityIterator requiresIterator;
+ private PackageCapabilityIterator conflictsIterator;
+ private PackageCapabilityIterator obsoletesIterator;
+
+ /**
+ *
+ * @param channel debian channel
+ * @param prefix path to repository
+ */
+ public DebPackageWriter(Channel channel, String prefix) {
+ log.debug("DebPackageWriter created");
+ try {
+ filenamePackages = prefix + "Packages";
+ File f = new File(filenamePackages);
+ if (f.exists()) {
+ f.delete();
+ }
+ f.createNewFile();
+
+ providesIterator = new PackageCapabilityIterator(
+ channel,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_PROVIDES);
+ requiresIterator = new PackageCapabilityIterator(
+ channel,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_REQUIRES);
+ conflictsIterator = new PackageCapabilityIterator(
+ channel,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_CONFLICTS);
+ obsoletesIterator = new PackageCapabilityIterator(
+ channel,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_OBSOLETES);
+ }
+ catch (Exception e) {
+ log.debug("Create file Packages failed " + e.toString());
+ }
+ }
+
+ /**
+ * add package info to Packages file in repository
+ *
+ * @param pkgDto package object
+ */
+ public void addPackage(PackageDto pkgDto) {
+ try {
+ BufferedWriter out = new BufferedWriter(new FileWriter(
+ filenamePackages, true));
+
+ out.write("Package: ");
+ out.write(pkgDto.getName());
+ out.newLine();
+
+ out.write("Version: ");
+ out.write(pkgDto.getVersion());
+ String release = pkgDto.getRelease();
+ if (!release.equalsIgnoreCase("X")) {
+ out.write("-" + release);
+ }
+ out.newLine();
+
+ out.write("Architecture: ");
+ out.write(pkgDto.getArchLabel().replace("-deb", ""));
+ out.newLine();
+
+ out.write("Maintainer: ");
+ out.write(pkgDto.getVendor());
+ out.newLine();
+
+ out.write("Installed-Size: ");
+ out.write(pkgDto.getPackageSize().toString());
+ out.newLine();
+
+ // dependencies
+ addPackageDepData(out, providesIterator,
+ pkgDto.getId().longValue(), "Provides");
+ addPackageDepData(out, requiresIterator,
+ pkgDto.getId().longValue(), "Depends");
+ addPackageDepData(out, conflictsIterator, pkgDto.getId()
+ .longValue(), "Conflicts");
+ addPackageDepData(out, obsoletesIterator, pkgDto.getId()
+ .longValue(), "Replaces");
+
+ // TODO FIX path to package, Apache needs access to it
+ out.write("Filename: ");
+ out.write("/var/satellite/" + pkgDto.getPath());
+ out.newLine();
+
+ // size of package, is checked by apt
+ out.write("Size: ");
+ out.write(pkgDto.getPackageSize().toString());
+ out.newLine();
+
+ // at least one checksum is required by apt
+ if (pkgDto.getChecksumType().equalsIgnoreCase("md5")) {
+ out.write("MD5sum: ");
+ out.write(pkgDto.getChecksum());
+ out.newLine();
+ }
+
+ if (pkgDto.getChecksumType().equalsIgnoreCase("sha1")) {
+ out.write("SHA1: ");
+ out.write(pkgDto.getChecksum());
+ out.newLine();
+ }
+
+ if (pkgDto.getChecksumType().equalsIgnoreCase("sha256")) {
+ out.write("SHA256: ");
+ out.write(pkgDto.getChecksum());
+ out.newLine();
+ }
+
+ out.write("Section: ");
+ out.write(pkgDto.getPackageGroupName());
+ out.newLine();
+
+ // Priority is not stored in DB
+ // out.write("Priority: ");
+ // out.write(pkgDto.get);
+ // out.newLine();
+
+ // out.write("Homepage: ");
+ // out.write(pkgDto.get);
+ // out.newLine();
+
+ out.write("Description: ");
+ out.write(pkgDto.getDescription());
+ out.newLine();
+
+ // new line after package metadata
+ out.newLine();
+ out.flush();
+ out.close();
+ }
+ catch (Exception e) {
+ log.debug("Failed to add deb package " + e.toString());
+ }
+ }
+
+ /**
+ * @param out
+ *
+ * @param pkgCapIter
+ * pkg capability info
+ * @param pkgId
+ * package Id to set
+ * @param dep
+ * dependency info
+ */
+ private void addPackageDepData(BufferedWriter out,
+ PackageCapabilityIterator pkgCapIter, long pkgId, String dep) {
+ int count = 0;
+ try {
+ while (pkgCapIter.hasNextForPackage(pkgId)) {
+ if (count == 0) {
+ out.write(dep + ": ");
+ }
+ else {
+ out.write(", ");
+ }
+ count++;
+ String name = pkgCapIter.getString("name");
+ String version = pkgCapIter.getString("version");
+ out.write(name);
+ if (version != null && !version.isEmpty()) {
+ out.write(" (" + version + ")");
+ }
+ }
+ }
+ catch (Exception e) {
+ log.debug("failed to write DEB dependency " + dep + " " + e.toString());
+ }
+ try {
+ if (count > 0) {
+ out.newLine();
+ }
+ }
+ catch (Exception e) {
+ log.debug("failed to write new line " + e.toString());
+ }
+
+ }
+
+ /**
+ * Create Packages.gz from Packages
+ */
+ public void generatePackagesGz() {
+ try {
+ // Create the GZIP output stream
+ String outFilename = filenamePackages + ".gz";
+ GZIPOutputStream out = new GZIPOutputStream(new FileOutputStream(
+ outFilename, false));
+
+ // Open the input file
+ FileInputStream in = new FileInputStream(filenamePackages);
+
+ // Transfer bytes from the input file to the GZIP output stream
+ byte[] buf = new byte[1024];
+ int len;
+ while ((len = in.read(buf)) > 0) {
+ out.write(buf, 0, len);
+ }
+ in.close();
+
+ // Complete the GZIP file
+ out.finish();
+ out.close();
+ }
+ catch (IOException e) {
+ log.debug("Failed to create Packages.gz " + e.toString());
+ }
+ }
}
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
index 52018c2..6530614 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
@@ -94,21 +94,21 @@ public class RepositoryWriter {
PackageManager.createRepoEntrys(channel.getId());
- String prefix = mountPoint + File.separator + pathPrefix
- + File.separator + channel.getLabel() + File.separator;
+ String prefix = mountPoint + File.separator + pathPrefix +
+ File.separator + channel.getLabel() + File.separator;
if (channel.getChannelArch().getArchType().getLabel().equalsIgnoreCase("deb")) {
log.info("Generating new DEB repository for channel " + channel.getLabel());
generateDebRepository(channel, prefix);
}
else {
- log.info("Generating new repository metatada for channel '"
- + channel.getLabel() + "' " + channel.getPackageCount()
- + " packages, " + channel.getErrataCount() + " updates");
+ log.info("Generating new repository metatada for channel '" +
+ channel.getLabel() + "' " + channel.getPackageCount() +
+ " packages, " + channel.getErrataCount() + " updates");
if (!new File(prefix).mkdirs() && !new File(prefix).exists()) {
- throw new RepomdRuntimeException("Unable to create directory: "
- + prefix);
+ throw new RepomdRuntimeException("Unable to create directory: " +
+ prefix);
}
CompressingDigestOutputWriter primaryFile;
@@ -124,8 +124,8 @@ public class RepositoryWriter {
// MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512
String checksumAlgo = this.checksumtype;
if (checksumAlgo.toUpperCase().startsWith("SHA")) {
- checksumAlgo = this.checksumtype.substring(0, 3) + "-"
- + this.checksumtype.substring(3);
+ checksumAlgo = this.checksumtype.substring(0, 3) + "-" +
+ this.checksumtype.substring(3);
}
// translate sha1 to sha for xml repo files
String checksumLabel = this.checksumtype;
@@ -204,10 +204,10 @@ public class RepositoryWriter {
.getCompressedChecksum(), otherFile
.getUncompressedChecksum(), channel.getLastModified());
- log.info("Starting updateinfo generation for '"
- + channel.getLabel() + '"');
- log.info("Checksum Type Value for generate updateinfo"
- + this.checksumtype);
+ log.info("Starting updateinfo generation for '" +
+ channel.getLabel() + '"');
+ log.info("Checksum Type Value for generate updateinfo" +
+ this.checksumtype);
RepomdIndexData updateinfoData = generateUpdateinfo(channel,
prefix, checksumAlgo);
@@ -254,10 +254,9 @@ public class RepositoryWriter {
renameFiles(prefix, channel.getLastModified().getTime(),
updateinfoData != null);
- log.info("Repository metadata generation for '"
- + channel.getLabel() + "' finished in "
- + (int) (new Date().getTime() - start.getTime()) / 1000
- + " seconds");
+ log.info("Repository metadata generation for '" +
+ channel.getLabel() + "' finished in " +
+ (int) (new Date().getTime() - start.getTime()) / 1000 + " seconds");
}
}
14 years
client/rhel
by Jan Pazdziora
client/rhel/rhn-client-tools/src/up2date_client/hardware_gudev.py | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit cb136c947665fb7aa278a3de42a6e5b9cd1f4f6e
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Thu May 13 12:26:10 2010 +0200
557059 - we cannot have class None.
Addressing
[Thu May 13 06:18:39 2010] rhn_register D: rpcServer: Calling XMLRPC registration.add_hw_profile
[Thu May 13 06:18:39 2010] rhn_register
Traceback (most recent call last):
File "/usr/share/rhn/up2date_client/tui.py", line 891, in run
rhnreg.sendHardware(systemId, self.tui.hardware)
File "/usr/share/rhn/up2date_client/rhnreg.py", line 472, in sendHardware
s.registration.add_hw_profile(systemId, hardwareList)
File "/usr/share/rhn/up2date_client/rhnserver.py", line 50, in __call__
return rpcServer.doCall(method, *args, **kwargs)
File "/usr/share/rhn/up2date_client/rpcServer.py", line 204, in doCall
ret = method(*args, **kwargs)
File "/usr/lib64/python2.6/xmlrpclib.py", line 1199, in __call__
return self.__send(self.__name, args)
File "/usr/share/rhn/up2date_client/rpcServer.py", line 39, in _request1
ret = self._request(methodname, params)
File "/usr/lib/python2.6/site-packages/rhn/rpclib.py", line 350, in _request
request = self._req_body(params, methodname)
File "/usr/lib/python2.6/site-packages/rhn/rpclib.py", line 231, in _req_body
return xmlrpclib.dumps(params, methodname, encoding=self._encoding)
File "/usr/lib64/python2.6/xmlrpclib.py", line 1132, in dumps
data = m.dumps(params)
File "/usr/lib64/python2.6/xmlrpclib.py", line 677, in dumps
dump(v, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 699, in __dump
f(self, value, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 759, in dump_array
dump(v, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 699, in __dump
f(self, value, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 780, in dump_struct
dump(v, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 699, in __dump
f(self, value, write)
File "/usr/lib64/python2.6/xmlrpclib.py", line 703, in dump_nil
raise TypeError, "cannot marshal None unless allow_none is enabled"
<type 'exceptions.TypeError'>: cannot marshal None unless allow_none is enabled
diff --git a/client/rhel/rhn-client-tools/src/up2date_client/hardware_gudev.py b/client/rhel/rhn-client-tools/src/up2date_client/hardware_gudev.py
index 4c07373..040f6af 100644
--- a/client/rhel/rhn-client-tools/src/up2date_client/hardware_gudev.py
+++ b/client/rhel/rhn-client-tools/src/up2date_client/hardware_gudev.py
@@ -45,6 +45,8 @@ def get_devices():
'class': _clasify_class(device),
'desc': _get_device_desc(device),
}
+ if result_item['class'] is None:
+ result_item['class'] = 'OTHER'
if result_item['driver'] is None:
result_item['driver'] = 'unknown'
if subsystem == 'block':
14 years