java/code/src/com/redhat/rhn/domain/kickstart/RepoInfo.java |
18 ++-
java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java |
7 -
java/code/src/com/redhat/rhn/frontend/xmlrpc/configchannel/ConfigChannelHandler.java |
47 ++++++++++
java/code/src/com/redhat/rhn/manager/configuration/ConfigurationManager.java |
4
java/code/src/com/redhat/rhn/manager/kickstart/KickstartEditCommand.java |
3
java/code/src/com/redhat/rhn/manager/kickstart/KickstartWizardHelper.java |
2
web/conf/rhn_web.conf |
2
7 files changed, 70 insertions(+), 13 deletions(-)
New commits:
commit 82df3bd694abd4a2f4e763df611682ffd29d74f0
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Wed Sep 15 11:19:45 2010 -0400
checkstyle fix
diff --git
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/configchannel/ConfigChannelHandler.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/configchannel/ConfigChannelHandler.java
index 7669d58..9d7d8d6 100644
---
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/configchannel/ConfigChannelHandler.java
+++
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/configchannel/ConfigChannelHandler.java
@@ -392,6 +392,7 @@ public class ConfigChannelHandler extends BaseHandler {
* @param sessionKey the session key
* @param channelLabel the channel label
* @param path path to examine.
+ * @param revision the revision to fetch
* @return the specified config revision of the requested path.
* @since 10.12
*
diff --git a/java/code/src/com/redhat/rhn/manager/configuration/ConfigurationManager.java
b/java/code/src/com/redhat/rhn/manager/configuration/ConfigurationManager.java
index 9fd4007..7e3e2b8 100644
--- a/java/code/src/com/redhat/rhn/manager/configuration/ConfigurationManager.java
+++ b/java/code/src/com/redhat/rhn/manager/configuration/ConfigurationManager.java
@@ -1120,7 +1120,8 @@ public class ConfigurationManager extends BaseManager {
* @param pc controller/elaborator for the list
* @return List of revisions in dto format.
*/
- public DataResult<ConfigRevisionDto> listRevisionsForFile(User user,
ConfigFile file, PageControl pc) {
+ public DataResult<ConfigRevisionDto> listRevisionsForFile(User user,
+ ConfigFile file, PageControl pc) {
Map params = new HashMap();
params.put("cfid", file.getId());
params.put("user_id", user.getId());
commit 22954384d46900f7506eeaf16bd5d50b6e8e88a6
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Wed Sep 15 11:17:07 2010 -0400
633535 - added RHEL 5 subrepos as well as stopped showing repos not valid for a
particular release
diff --git a/java/code/src/com/redhat/rhn/domain/kickstart/RepoInfo.java
b/java/code/src/com/redhat/rhn/domain/kickstart/RepoInfo.java
index 1d71b77..1340930 100644
--- a/java/code/src/com/redhat/rhn/domain/kickstart/RepoInfo.java
+++ b/java/code/src/com/redhat/rhn/domain/kickstart/RepoInfo.java
@@ -15,11 +15,13 @@
package com.redhat.rhn.domain.kickstart;
+import com.redhat.rhn.common.util.StringUtil;
import com.redhat.rhn.manager.kickstart.KickstartUrlHelper;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
+import java.io.File;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.regex.Matcher;
@@ -126,14 +128,20 @@ public class RepoInfo {
/**
* Returns all the 4 standard repos available to rhel 5
* cluster, clusterstorage, workstation and VT
+ * @param tree the kickstartable tree
* @return the standard repos..
*/
- public static Map<String, RepoInfo> getStandardRepos() {
+ public static Map<String, RepoInfo> getStandardRepos(KickstartableTree tree)
{
Map <String, RepoInfo> map = new LinkedHashMap<String, RepoInfo>();
- addToMap(map, "Cluster");
- addToMap(map, "ClusterStorage");
- addToMap(map, "Workstation");
- addToMap(map, "VT");
+ String[] repos = {"Cluster", "ClusterStorage",
"HighAvailability",
+ "LoadBalancer", "ResilientStorage",
"VT", "Workstation"};
+
+ for (String repo : repos) {
+ File file = new File(StringUtil.addPath(tree.getAbsolutePath(), repo));
+ if (file.exists()) {
+ addToMap(map, repo);
+ }
+ }
return map;
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java
b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java
index 41c29da..43686dc 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java
@@ -223,7 +223,7 @@ public class KickstartSoftwareEditAction extends
BaseKickstartEditAction {
ValidatorError ve = cmd.updateKickstartableTree(
(Long) form.get(CHANNEL), cmdIn.getUser().getOrg().getId(),
(Long) form.get(TREE),
- (String) form.getString(URL));
+ form.getString(URL));
if (ve == null) {
String [] repos = form.getStrings(SELECTED_REPOS);
@@ -254,11 +254,10 @@ public class KickstartSoftwareEditAction extends
BaseKickstartEditAction {
!tree.getInstallType().isRhel3() &&
!tree.getInstallType().isRhel4()) {
List <LabelValueEnabledBean> repos = new
LinkedList<LabelValueEnabledBean>();
- for (String name : RepoInfo.getStandardRepos().keySet()) {
+ for (String name : RepoInfo.getStandardRepos(tree).keySet()) {
repos.add(lve(name, name, false));
}
- form.set(POSSIBLE_REPOS, (LabelValueEnabledBean[])
- repos.toArray(new LabelValueEnabledBean[0]));
+ form.set(POSSIBLE_REPOS, repos.toArray(new LabelValueEnabledBean[0]));
Set<RepoInfo> selected = ksdata.getRepoInfos();
String [] items = new String[selected.size()];
int i = 0;
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartEditCommand.java
b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartEditCommand.java
index 1bcbca2..e24b025 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartEditCommand.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartEditCommand.java
@@ -374,7 +374,8 @@ public class KickstartEditCommand extends BaseKickstartCommand {
public void updateRepos(String[] reposIn) {
if (ksdata.isRhel5OrGreater()) {
- Map<String, RepoInfo> repos = RepoInfo.getStandardRepos();
+ Map<String, RepoInfo> repos = RepoInfo.getStandardRepos(
+ ksdata.getKickstartDefaults().getKstree());
Set<RepoInfo> selected = new HashSet <RepoInfo>();
for (int i = 0; i < reposIn.length; i++) {
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartWizardHelper.java
b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartWizardHelper.java
index b5d39a3..5d404dd 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartWizardHelper.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartWizardHelper.java
@@ -199,7 +199,7 @@ public class KickstartWizardHelper {
* @param ksdata the data to which the repos have to be processed
*/
public void processRepos(KickstartData ksdata) {
- if (ksdata.isRhel5OrGreater()) {
+ if (ksdata.isRhel5()) {
Set<RepoInfo> repos = ksdata.getRepoInfos();
RepoInfo vt = RepoInfo.vt();
if (!repos.contains(vt)) {
commit cdf80b5ce03fb99c33917b49b702828db3d2d906
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Wed Sep 15 10:21:08 2010 -0400
adding configchannel.lookupFileInfo() taking a revision id
diff --git
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/configchannel/ConfigChannelHandler.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/configchannel/ConfigChannelHandler.java
index 0e6bcb0..7669d58 100644
---
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/configchannel/ConfigChannelHandler.java
+++
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/configchannel/ConfigChannelHandler.java
@@ -24,12 +24,15 @@ import com.redhat.rhn.domain.config.ConfigChannelType;
import com.redhat.rhn.domain.config.ConfigFile;
import com.redhat.rhn.domain.config.ConfigFileType;
import com.redhat.rhn.domain.config.ConfigRevision;
+import com.redhat.rhn.domain.config.ConfigurationFactory;
import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.dto.ConfigChannelDto;
import com.redhat.rhn.frontend.dto.ConfigFileDto;
+import com.redhat.rhn.frontend.dto.ConfigRevisionDto;
import com.redhat.rhn.frontend.dto.ConfigSystemDto;
import com.redhat.rhn.frontend.xmlrpc.BaseHandler;
+import com.redhat.rhn.frontend.xmlrpc.NoSuchConfigRevisionException;
import com.redhat.rhn.frontend.xmlrpc.serializer.ConfigRevisionSerializer;
import com.redhat.rhn.manager.MissingCapabilityException;
import com.redhat.rhn.manager.action.ActionManager;
@@ -383,6 +386,49 @@ public class ConfigChannelHandler extends BaseHandler {
return revisions;
}
+
+ /**
+ * Given a path and revision number, return the revision
+ * @param sessionKey the session key
+ * @param channelLabel the channel label
+ * @param path path to examine.
+ * @return the specified config revision of the requested path.
+ * @since 10.12
+ *
+ * @xmlrpc.doc Given a path, revision number, and a channel, returns details about
+ * the latest revisions of the paths.
+ * @xmlrpc.param #session_key()
+ * @xmlrpc.param #param_desc("string", "channelLabel",
+ * "label of config channel to lookup on")
+ * @xmlrpc.param #param_desc("string", "path",
+ * "path of file/directory")
+ * @xmlrpc.param #param_desc("int", "revsion",
+ * "The revision number.")
+ *
+ * @xmlrpc.returntype
+ * $ConfigRevisionSerializer
+ */
+ public ConfigRevision lookupFileInfo(String sessionKey,
+ String channelLabel,
+ String path,
+ Integer revision
+ ) {
+ User loggedInUser = getLoggedInUser(sessionKey);
+ XmlRpcConfigChannelHelper configHelper =
XmlRpcConfigChannelHelper.getInstance();
+ ConfigChannel channel = configHelper.lookupGlobal(loggedInUser,
+ channelLabel);
+ ConfigurationManager cm = ConfigurationManager.getInstance();
+ ConfigFile cf = cm.lookupConfigFile(loggedInUser, channel.getId(), path);
+ List<ConfigRevisionDto> revs = cm.listRevisionsForFile(loggedInUser, cf,
null);
+ for (ConfigRevisionDto rev : revs) {
+ if (rev.getRevisionNumber().equals(revision)) {
+ return ConfigurationFactory.lookupConfigRevisionById(rev.getId());
+ }
+ }
+ throw new NoSuchConfigRevisionException();
+ }
+
+
/**
* List files in a given channel
* @param sessionKey the session key
diff --git a/java/code/src/com/redhat/rhn/manager/configuration/ConfigurationManager.java
b/java/code/src/com/redhat/rhn/manager/configuration/ConfigurationManager.java
index b6cc73f..9fd4007 100644
--- a/java/code/src/com/redhat/rhn/manager/configuration/ConfigurationManager.java
+++ b/java/code/src/com/redhat/rhn/manager/configuration/ConfigurationManager.java
@@ -43,6 +43,7 @@ import com.redhat.rhn.frontend.dto.ConfigChannelDto;
import com.redhat.rhn.frontend.dto.ConfigFileDto;
import com.redhat.rhn.frontend.dto.ConfigFileNameDto;
import com.redhat.rhn.frontend.dto.ConfigGlobalDeployDto;
+import com.redhat.rhn.frontend.dto.ConfigRevisionDto;
import com.redhat.rhn.frontend.dto.ConfigSystemDto;
import com.redhat.rhn.frontend.listview.PageControl;
import com.redhat.rhn.manager.BaseManager;
@@ -1119,7 +1120,7 @@ public class ConfigurationManager extends BaseManager {
* @param pc controller/elaborator for the list
* @return List of revisions in dto format.
*/
- public DataResult listRevisionsForFile(User user, ConfigFile file, PageControl pc)
{
+ public DataResult<ConfigRevisionDto> listRevisionsForFile(User user,
ConfigFile file, PageControl pc) {
Map params = new HashMap();
params.put("cfid", file.getId());
params.put("user_id", user.getId());
diff --git a/web/conf/rhn_web.conf b/web/conf/rhn_web.conf
index b032acf..b83d419 100644
--- a/web/conf/rhn_web.conf
+++ b/web/conf/rhn_web.conf
@@ -224,7 +224,7 @@ web.config_delim_end = |}
web.version = 1.1
# the version of API
-web.apiversion = 10.11
+web.apiversion = 10.12
# maximum size for a config file
web.maximum_config_file_size = 131072