java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java | 6 ++++++
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml | 6 ++++++
java/code/src/com/redhat/rhn/frontend/xmlrpc/InvalidChannelNameException.java | 1 +
java/code/src/com/redhat/rhn/manager/channel/CreateChannelCommand.java | 10 ++++++++++
4 files changed, 23 insertions(+)
New commits:
commit 631cfdeef9de27aa92d017181b33f3638e91d1ba
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Thu Jun 25 12:15:43 2009 -0400
456985 - fix ise on channel creation
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
index 0845b9f..5ea102d 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
@@ -469,6 +469,12 @@ public class EditChannelAction extends RhnAction implements Listable {
CreateChannelCommand.CHANNEL_NAME_MIN_LENGTH));
break;
+ case TOO_LONG:
+ errors.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("edit.channel.invalidchannelname.maxlength",
+ CreateChannelCommand.CHANNEL_NAME_MAX_LENGTH));
+ break;
+
case NAME_IN_USE:
errors.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("edit.channel.invalidchannelname.nameinuse",
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
index 12d363a..8db5c8a 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
@@ -8139,6 +8139,12 @@ Follow this url to see the full list of inactive systems:
<context context-type="sourcefile">/channels/manage/Edit</context>
</context-group>
</trans-unit>
+ <trans-unit id="edit.channel.invalidchannelname.maxlength">
+ <source>Channel name can not exceed {0} characters long</source>
+ <context-group name="ctx">
+ <context context-type="sourcefile">/channels/manage/Edit</context>
+ </context-group>
+ </trans-unit>
<trans-unit id="edit.channel.invalidchannelname.nameinuse">
<source>The channel name '{0}' is already in use, please enter a different name</source>
<context-group name="ctx">
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/InvalidChannelNameException.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/InvalidChannelNameException.java
index a1d1b07..33242d1 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/InvalidChannelNameException.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/InvalidChannelNameException.java
@@ -103,6 +103,7 @@ public class InvalidChannelNameException extends FaultException {
public enum Reason {
REGEX_FAILS,
TOO_SHORT,
+ TOO_LONG,
IS_MISSING,
NAME_IN_USE,
RHN_CHANNEL_BAD_PERMISSIONS
diff --git a/java/code/src/com/redhat/rhn/manager/channel/CreateChannelCommand.java b/java/code/src/com/redhat/rhn/manager/channel/CreateChannelCommand.java
index 8ee65e9..9dddd81 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/CreateChannelCommand.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/CreateChannelCommand.java
@@ -36,6 +36,7 @@ import java.util.regex.Pattern;
public class CreateChannelCommand {
public static final int CHANNEL_NAME_MIN_LENGTH = 6;
+ public static final int CHANNEL_NAME_MAX_LENGTH = 64;
public static final int CHANNEL_LABEL_MIN_LENGTH = 6;
protected static final String CHANNEL_NAME_REGEX =
@@ -346,6 +347,15 @@ public class CreateChannelCommand {
minLength.toString());
}
+ if (cname.length() > CHANNEL_NAME_MAX_LENGTH) {
+ System.out.println("YIIIIIIIIIIIKES");
+ Integer maxLength = new Integer(CreateChannelCommand.CHANNEL_NAME_MAX_LENGTH);
+ throw new InvalidChannelNameException(cname,
+ InvalidChannelNameException.Reason.TOO_LONG,
+ "edit.channel.invalidchannelname.maxlength",
+ maxLength.toString());
+ }
+
// the perl code used to ignore case with a /i at the end of
// the regex, so we toLowerCase() the channel name to make it
// work the same.