On 11/01/2011 11:53 AM, Tomas Lestach wrote: > Great patch! > I committed it with minor changes (renamed scriptname to script_name and > scriptName) as > http://git.fedorahosted.org/git/?p=spacewalk.git;a=commitdiff;h=be7996f4740fd642b1c92068ac96b8abfbd1f1b4 > > Wonderful, that you've included also the schema upgrade scripts with > appropriate sha1s. :-) > > Thank you! > > Best Regards, > Tomas > -- > Tomas Lestach > RHN Satellite Engineering, Red Hat > > > On 10/29/2011 03:34 PM, Christian Berendt wrote: >> >> Signed-off-by: Christian Berendt<bere...@b1-systems.de> >> --- >> .../common/db/datasource/xml/General_queries.xml | 2 +- >> .../rhn/domain/kickstart/KickstartScript.hbm.xml | 1 + >> .../rhn/domain/kickstart/KickstartScript.java | 18 >> ++++++++++++++++++ >> .../domain/kickstart/builder/KickstartBuilder.java | 2 +- >> .../kickstart/BaseKickstartScriptAction.java | 6 +++++- >> .../rhn/frontend/dto/kickstart/ScriptDto.java | 17 >> +++++++++++++++++ >> .../frontend/strings/jsp/StringResource_en_US.xml | 14 >> ++++++++++++++ >> .../kickstart/BaseKickstartScriptCommand.java | 20 >> +++++++++++++++++++- >> .../kickstart/test/KickstartScriptCommandTest.java | 4 ++-- >> .../WEB-INF/pages/kickstart/script-form.jspf | 8 ++++++++ >> .../WEB-INF/pages/kickstart/scriptdelete.jsp | 8 ++++++++ >> .../webapp/WEB-INF/pages/kickstart/scripts.jsp | 3 +++ >> java/code/webapp/WEB-INF/struts-config.xml | 1 + >> .../spacewalk/common/tables/rhnKickstartScript.sql | 3 ++- >> ...01-add_rhnKickstartScript_scriptname.sql.oracle | 1 + >> ...dd_rhnKickstartScript_scriptname.sql.postgresql | 2 ++ >> 16 files changed, 103 insertions(+), 7 deletions(-) >> create mode 100644 >> schema/spacewalk/upgrade/spacewalk-schema-1.5-to-spacewalk-schema-1.6/101-add_rhnKickstartScript_scriptname.sql.oracle >> >> create mode 100644 >> schema/spacewalk/upgrade/spacewalk-schema-1.5-to-spacewalk-schema-1.6/101-add_rhnKickstartScript_scriptname.sql.postgresql >> >> >> diff --git >> a/java/code/src/com/redhat/rhn/common/db/datasource/xml/General_queries.xml >> b/java/code/src/com/redhat/rhn/common/db/datasource/xml/General_queries.xml >> >> index 6f6be26..4af6f3d 100644 >> --- >> a/java/code/src/com/redhat/rhn/common/db/datasource/xml/General_queries.xml >> >> +++ >> b/java/code/src/com/redhat/rhn/common/db/datasource/xml/General_queries.xml >> >> @@ -64,7 +64,7 @@ ORDER BY KS.label, KS.id >> >> <mode name="scripts_for_kickstart" >> class="com.redhat.rhn.frontend.dto.kickstart.ScriptDto"> >> <query params="kickstart_id"> >> - SELECT KS.id, KS.script_type, KS.chroot, KS.interpreter >> + SELECT KS.id, KS.script_type, KS.chroot, KS.interpreter, KS.scriptname >> FROM rhnKickstartScript KS >> WHERE KS.kickstart_id = :kickstart_id >> </query> >> diff --git >> a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartScript.hbm.xml >> b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartScript.hbm.xml >> >> index 9e495c5..2b144db 100644 >> --- >> a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartScript.hbm.xml >> +++ >> b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartScript.hbm.xml >> @@ -16,6 +16,7 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" >> <property name="chroot" column="chroot" not-null="true" >> type="string" length="1" /> >> <property name="raw" column="raw_script" not-null="true" >> type="yes_no" /> >> <property name="interpreter" column="interpreter" >> type="string" length="80" /> >> +<property name="scriptname" column="scriptname" not-null="true" >> type="string" length="40" /> >> <property name="data" column="data" type="binary" /> >> <property name="created" column="created" not-null="true" >> type="timestamp" insert="false" update="false"/> >> diff --git >> a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartScript.java >> b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartScript.java >> index 9bee435..e6c9e53 100644 >> --- a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartScript.java >> +++ b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartScript.java >> @@ -32,6 +32,7 @@ public class KickstartScript implements >> Comparable<KickstartScript> { >> private String scriptType; >> private String chroot; >> private String interpreter; >> + private String scriptname; >> private byte[] data; >> private Date created; >> private Date modified; >> @@ -48,6 +49,22 @@ public class KickstartScript implements >> Comparable<KickstartScript> { >> } >> >> /** >> + * Getter for scriptname >> + * @return String to get >> + */ >> + public String getScriptname() { >> + return this.scriptname; >> + } >> + >> + /** >> + * Setter for scriptname >> + * @param scriptnameIn to set >> + */ >> + public void setScriptname(String scriptnameIn) { >> + this.scriptname = scriptnameIn; >> + } >> + >> + /** >> * Getter for id >> * @return Long to get >> */ >> @@ -214,6 +231,7 @@ public class KickstartScript implements >> Comparable<KickstartScript> { >> public KickstartScript deepCopy(KickstartData ksDataIn) { >> KickstartScript cloned = new KickstartScript(); >> cloned.setChroot(this.getChroot()); >> + cloned.setScriptname(this.getScriptname()); >> cloned.setData(this.getData()); >> cloned.setInterpreter(this.getInterpreter()); >> cloned.setKsdata(ksDataIn); >> diff --git >> a/java/code/src/com/redhat/rhn/domain/kickstart/builder/KickstartBuilder.java >> b/java/code/src/com/redhat/rhn/domain/kickstart/builder/KickstartBuilder.java >> >> index b92155e..b5f7721 100644 >> --- >> a/java/code/src/com/redhat/rhn/domain/kickstart/builder/KickstartBuilder.java >> >> +++ >> b/java/code/src/com/redhat/rhn/domain/kickstart/builder/KickstartBuilder.java >> >> @@ -328,7 +328,7 @@ public class KickstartBuilder { >> type = KickstartScript.TYPE_POST; >> } >> >> - scriptCommand.setScript(interpreter, buf.toString(), type, >> chroot, false); >> + scriptCommand.setScript(interpreter, buf.toString(), type, >> chroot, false, null); >> scriptCommand.store(); >> >> } >> diff --git >> a/java/code/src/com/redhat/rhn/frontend/action/kickstart/BaseKickstartScriptAction.java >> b/java/code/src/com/redhat/rhn/frontend/action/kickstart/BaseKickstartScriptAction.java >> >> index ba54031..fca01ac 100644 >> --- >> a/java/code/src/com/redhat/rhn/frontend/action/kickstart/BaseKickstartScriptAction.java >> >> +++ >> b/java/code/src/com/redhat/rhn/frontend/action/kickstart/BaseKickstartScriptAction.java >> >> @@ -35,6 +35,7 @@ import javax.servlet.http.HttpServletRequest; >> */ >> public abstract class BaseKickstartScriptAction extends >> BaseKickstartEditAction { >> >> + public static final String SCRIPTNAME = "scriptname"; >> public static final String CONTENTS = "contents"; >> public static final String LANGUAGE = "language"; >> public static final String TYPE = "type"; >> @@ -73,11 +74,13 @@ public abstract class BaseKickstartScriptAction >> extends BaseKickstartEditAction >> return new ValidatorError("kickstart.script.toolarge", >> >> LocalizationService.getInstance().formatNumber(new Long(maxLength))); >> } >> + >> kssc.setScript(form.getString(LANGUAGE), >> scriptValue, >> form.getString(TYPE), >> chroot, >> - template); >> + template, >> + form.getString(SCRIPTNAME)); >> return null; >> } >> >> @@ -100,6 +103,7 @@ public abstract class BaseKickstartScriptAction >> extends BaseKickstartEditAction >> >> BaseKickstartScriptCommand kssc = >> (BaseKickstartScriptCommand) cmd; >> form.set(CONTENTS, kssc.getContents()); >> + form.set(SCRIPTNAME, kssc.getScriptname()); >> form.set(LANGUAGE, kssc.getLanguage()); >> form.set(TYPE, kssc.getType()); >> form.set(NOCHROOT, kssc.getNoChrootVal()); >> diff --git >> a/java/code/src/com/redhat/rhn/frontend/dto/kickstart/ScriptDto.java >> b/java/code/src/com/redhat/rhn/frontend/dto/kickstart/ScriptDto.java >> index ca86155..d9c1626 100644 >> --- a/java/code/src/com/redhat/rhn/frontend/dto/kickstart/ScriptDto.java >> +++ b/java/code/src/com/redhat/rhn/frontend/dto/kickstart/ScriptDto.java >> @@ -30,6 +30,7 @@ public class ScriptDto extends BaseDto { >> private String chroot; >> private String interpreter; >> private int position; >> + private String scriptname; >> private static final String BASH = "bash"; >> private static final String PRE = "Pre"; >> private static final String POST = "Post"; >> @@ -37,6 +38,22 @@ public class ScriptDto extends BaseDto { >> >> /** >> * >> + * @return scriptname >> + */ >> + public String getScriptname() { >> + return scriptname; >> + } >> + >> + /** >> + * >> + * @param scriptnameIn to set >> + */ >> + public void setScriptname(String scriptnameIn) { >> + this.scriptname = scriptnameIn; >> + } >> + >> + /** >> + * >> * @return chroot >> */ >> public String getChroot() { >> 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 3ff73ba..d1c7227 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 >> >> @@ -10571,6 +10571,13 @@ Please note that some manual configuration of >> these scripts may still be require >> </context-group> >> </trans-unit> >> >> +<trans-unit id="kickstartscript.jsp.scriptname"> >> +<source>Script Name</source> >> +<context-group name="ctx"> >> +<context context-type="sourcefile">/rhn/kickstart/Scripts</context> >> +</context-group> >> +</trans-unit> >> + >> <trans-unit id="kickstartscript.jsp.language"> >> <source>Scripting Language</source> >> <context-group name="ctx"> >> @@ -11646,6 +11653,13 @@ Please note that some manual configuration of >> these scripts may still be require >> </context-group> >> </trans-unit> >> >> +<trans-unit id="kickstart.script.scriptname"> >> +<source>Script Name</source> >> +<context-group name="ctx"> >> +<context >> context-type="sourcefile">/rhn/kickstart/KickstartScriptEdit.do</context> >> +</context-group> >> +</trans-unit> >> + >> <trans-unit id="kickstart.script.contents"> >> <source>Script Contents</source> >> <context-group name="ctx"> >> diff --git >> a/java/code/src/com/redhat/rhn/manager/kickstart/BaseKickstartScriptCommand.java >> b/java/code/src/com/redhat/rhn/manager/kickstart/BaseKickstartScriptCommand.java >> >> index 0ae0ba6..000efdd 100644 >> --- >> a/java/code/src/com/redhat/rhn/manager/kickstart/BaseKickstartScriptCommand.java >> >> +++ >> b/java/code/src/com/redhat/rhn/manager/kickstart/BaseKickstartScriptCommand.java >> >> @@ -61,9 +61,11 @@ public class BaseKickstartScriptCommand extends >> BaseKickstartCommand { >> * @param typeIn of script (KickstartScript.TYPE_POST or >> KickstartScript.TYPE_PRE) >> * @param chrootIn value of chroot ("Y" or "N") >> * @param templatize whether to templatize the script or not >> + * @param scriptname name of the script >> */ >> public void setScript(String language, String contentsIn, >> - String typeIn, String chrootIn, >> boolean templatize) { >> + String typeIn, String chrootIn, >> boolean templatize, >> + String scriptname) { >> if (!typeIn.equals(KickstartScript.TYPE_POST)&& >> !typeIn.equals(KickstartScript.TYPE_PRE)) { >> throw new IllegalArgumentException("Unknown script type: >> " + typeIn); >> @@ -86,10 +88,18 @@ public class BaseKickstartScriptCommand extends >> BaseKickstartCommand { >> language = language.trim(); >> } >> >> + if (StringUtils.isBlank(scriptname)) { >> + scriptname = null; >> + } >> + else { >> + scriptname = scriptname.trim(); >> + } >> + >> this.script.setInterpreter(language); >> this.script.setScriptType(typeIn); >> this.script.setChroot(chrootIn); >> this.script.setRaw(!templatize); //template is the ! of raw >> + this.script.setScriptname(scriptname); >> } >> >> /** >> @@ -110,6 +120,14 @@ public class BaseKickstartScriptCommand extends >> BaseKickstartCommand { >> } >> >> /** >> + * Get the name of this script >> + * @return String >> + */ >> + public String getScriptname() { >> + return this.script.getScriptname(); >> + } >> + >> + /** >> * Get the type of Script this is. See >> KickstartScript.TYPE_PRE, TYPE_POST. >> * Defaults to KickstartScript.TYPE_PRE >> * >> diff --git >> a/java/code/src/com/redhat/rhn/manager/kickstart/test/KickstartScriptCommandTest.java >> b/java/code/src/com/redhat/rhn/manager/kickstart/test/KickstartScriptCommandTest.java >> >> index 7b9d363..e8a1fcf 100644 >> --- >> a/java/code/src/com/redhat/rhn/manager/kickstart/test/KickstartScriptCommandTest.java >> >> +++ >> b/java/code/src/com/redhat/rhn/manager/kickstart/test/KickstartScriptCommandTest.java >> >> @@ -52,7 +52,7 @@ public class KickstartScriptCommandTest extends >> BaseKickstartCommandTestCase { >> assertNotNull(cmd.getKickstartData().getScripts()); >> KickstartScript kss = cmd.getScript(); >> assertNotNull(kss.getScriptType()); >> - cmd.setScript(language, contents, KickstartScript.TYPE_PRE, >> chroot, false); >> + cmd.setScript(language, contents, KickstartScript.TYPE_PRE, >> chroot, false, null); >> cmd.store(); >> ksdata = (KickstartData) reload(ksdata); >> assertEquals(contents, cmd.getContents()); >> @@ -67,7 +67,7 @@ public class KickstartScriptCommandTest extends >> BaseKickstartCommandTestCase { >> String chroot = "Y"; >> KickstartScriptEditCommand cmd = >> new KickstartScriptEditCommand(ksdata.getId(), >> kss.getId(), user); >> - cmd.setScript(language, contents, KickstartScript.TYPE_PRE, >> chroot, true); >> + cmd.setScript(language, contents, KickstartScript.TYPE_PRE, >> chroot, true, null); >> cmd.store(); >> ksdata = (KickstartData) reload(ksdata); >> assertEquals(contents, cmd.getContents()); >> diff --git a/java/code/webapp/WEB-INF/pages/kickstart/script-form.jspf >> b/java/code/webapp/WEB-INF/pages/kickstart/script-form.jspf >> index 15ea3e3..8552e5e 100644 >> --- a/java/code/webapp/WEB-INF/pages/kickstart/script-form.jspf >> +++ b/java/code/webapp/WEB-INF/pages/kickstart/script-form.jspf >> @@ -21,6 +21,14 @@ >> </tr> >> <tr> >> <th> >> +<bean:message key="kickstart.script.scriptname"/> >> +</th> >> +<td> >> +<html:text property="scriptname" maxlength="40" size="20" /><br/> >> +</td> >> +</tr> >> +<tr> >> +<th> >> <rhn:required-field key="kickstart.script.contents"/> >> </th> >> <td> >> diff --git a/java/code/webapp/WEB-INF/pages/kickstart/scriptdelete.jsp >> b/java/code/webapp/WEB-INF/pages/kickstart/scriptdelete.jsp >> index 6f54e05..6f42a68 100644 >> --- a/java/code/webapp/WEB-INF/pages/kickstart/scriptdelete.jsp >> +++ b/java/code/webapp/WEB-INF/pages/kickstart/scriptdelete.jsp >> @@ -30,6 +30,14 @@ >> </tr> >> <tr> >> <th> >> +<bean:message key="kickstart.script.scriptname"/> >> +</th> >> +<td> >> + ${ksscript.scriptname} >> +</td> >> +</tr> >> +<tr> >> +<th> >> <bean:message key="kickstart.script.language"/> >> </th> >> <td> >> diff --git a/java/code/webapp/WEB-INF/pages/kickstart/scripts.jsp >> b/java/code/webapp/WEB-INF/pages/kickstart/scripts.jsp >> index 3f1158f..d36c2d0 100644 >> --- a/java/code/webapp/WEB-INF/pages/kickstart/scripts.jsp >> +++ b/java/code/webapp/WEB-INF/pages/kickstart/scripts.jsp >> @@ -41,6 +41,9 @@ >> <rhn:column header="kickstartscript.jsp.scriptnum"> >> <a >> href="/rhn/kickstart/KickstartScriptEdit.do?kssid=${current.id}&ksid=${ksdata.id}"><bean:message >> key="kickstartscript.jsp.script"/> ${current.position}</a> >> </rhn:column> >> +<rhn:column header="kickstartscript.jsp.scriptname"> >> +<a >> href="/rhn/kickstart/KickstartScriptEdit.do?kssid=${current.id}&ksid=${ksdata.id}">${current.scriptname}</a> >> >> +</rhn:column> >> <rhn:column header="kickstartscript.jsp.language"> >> ${current.interpreter} >> </rhn:column> >> diff --git a/java/code/webapp/WEB-INF/struts-config.xml >> b/java/code/webapp/WEB-INF/struts-config.xml >> index f991165..2496628 100644 >> --- a/java/code/webapp/WEB-INF/struts-config.xml >> +++ b/java/code/webapp/WEB-INF/struts-config.xml >> @@ -680,6 +680,7 @@ >> <form-bean name="kickstartScriptForm" >> >> type="com.redhat.rhn.frontend.struts.ScrubbingDynaActionForm"> >> <form-property name="language" type="java.lang.String" /> >> +<form-property name="scriptname" type="java.lang.String" /> >> <form-property name="contents" type="java.lang.String" /> >> <form-property name="type" type="java.lang.String" /> >> <form-property name="nochroot" type="java.lang.Boolean" /> >> diff --git a/schema/spacewalk/common/tables/rhnKickstartScript.sql >> b/schema/spacewalk/common/tables/rhnKickstartScript.sql >> index 1be4bc8..181763f 100644 >> --- a/schema/spacewalk/common/tables/rhnKickstartScript.sql >> +++ b/schema/spacewalk/common/tables/rhnKickstartScript.sql >> @@ -38,7 +38,8 @@ CREATE TABLE rhnKickstartScript >> created DATE >> DEFAULT (sysdate) NOT NULL, >> modified DATE >> - DEFAULT (sysdate) NOT NULL >> + DEFAULT (sysdate) NOT NULL, >> + scriptname VARCHAR2(40) >> ) >> ENABLE ROW MOVEMENT >> ; >> diff --git >> a/schema/spacewalk/upgrade/spacewalk-schema-1.5-to-spacewalk-schema-1.6/101-add_rhnKickstartScript_scriptname.sql.oracle >> b/schema/spacewalk/upgrade/spacewalk-schema-1.5-to-spacewalk-schema-1.6/101-add_rhnKickstartScript_scriptname.sql.oracle >> >> new file mode 100644 >> index 0000000..296b616 >> --- /dev/null >> +++ >> b/schema/spacewalk/upgrade/spacewalk-schema-1.5-to-spacewalk-schema-1.6/101-add_rhnKickstartScript_scriptname.sql.oracle >> >> @@ -0,0 +1 @@ >> +alter table rhnKickstartScript add scriptname varchar2(40); >> diff --git >> a/schema/spacewalk/upgrade/spacewalk-schema-1.5-to-spacewalk-schema-1.6/101-add_rhnKickstartScript_scriptname.sql.postgresql >> b/schema/spacewalk/upgrade/spacewalk-schema-1.5-to-spacewalk-schema-1.6/101-add_rhnKickstartScript_scriptname.sql.postgresql >> >> new file mode 100644 >> index 0000000..3511e24 >> --- /dev/null >> +++ >> b/schema/spacewalk/upgrade/spacewalk-schema-1.5-to-spacewalk-schema-1.6/101-add_rhnKickstartScript_scriptname.sql.postgresql >> >> @@ -0,0 +1,2 @@ >> +-- oracle equivalent source sha1 >> ebfe8df38b1935e67ea3ddd3d5937cef6de9ae91 >> +alter table rhnKickstartScript add column scriptname varchar2(40); > > _______________________________________________ > Spacewalk-devel mailing list > Spacewalk-devel@redhat.com > https://www.redhat.com/mailman/listinfo/spacewalk-devel
Wonderful - thank you :) Cliff _______________________________________________ Spacewalk-devel mailing list Spacewalk-devel@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-devel