You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2005/05/13 17:06:40 UTC
svn commit: r170031 - in /lenya/trunk/src:
java/org/apache/lenya/cms/ac/usecases/AddIPRange.java
java/org/apache/lenya/cms/ac/usecases/IPRangeProfile.java
webapp/WEB-INF/cocoon-xconf.xsl webapp/lenya/usecases/admin/ipRangeProfile.jx
Author: andreas
Date: Fri May 13 08:06:38 2005
New Revision: 170031
URL: http://svn.apache.org/viewcvs?rev=170031&view=rev
Log:
finished ipRangeProfile usecase
Added:
lenya/trunk/src/webapp/lenya/usecases/admin/ipRangeProfile.jx
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddIPRange.java
lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRangeProfile.java
lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl
Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddIPRange.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddIPRange.java?rev=170031&r1=170030&r2=170031&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddIPRange.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddIPRange.java Fri May 13 08:06:38 2005
@@ -30,7 +30,6 @@
import org.apache.lenya.ac.file.FileIPRangeManager;
import org.apache.lenya.ac.impl.AbstractItem;
import org.apache.lenya.cms.ac.usecases.IPRangeProfile.Part;
-import org.apache.lenya.cms.usecase.UsecaseException;
/**
* Usecase to add an IP range.
@@ -38,11 +37,9 @@
public class AddIPRange extends AccessControlUsecase {
/**
- * Validates the request parameters.
- * @throws UsecaseException if an error occurs.
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckExecutionConditions()
*/
- void validate() throws UsecaseException {
-
+ protected void doCheckExecutionConditions() throws Exception {
String id = getParameterAsString(IPRangeProfile.ID);
IPRange existingIPRange = getIpRangeManager().getIPRange(id);
@@ -56,14 +53,6 @@
}
IPRangeProfile.validateAddresses(this);
-
- }
-
- /**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckExecutionConditions()
- */
- protected void doCheckExecutionConditions() throws Exception {
- validate();
}
/**
@@ -78,13 +67,13 @@
IPRange ipRange = new FileIPRange(configDir, id);
ContainerUtil.enableLogging(ipRange, getLogger());
-
+
ipRange.setName(name);
ipRange.setDescription(description);
-
+
String networkString = "";
String subnetString = "";
-
+
for (int i = 0; i < 4; i++) {
if (i > 0) {
networkString += ".";
@@ -112,14 +101,11 @@
protected void initParameters() {
super.initParameters();
List partNumbers = new ArrayList();
- partNumbers.add(new Integer(0));
- partNumbers.add(new Integer(1));
- partNumbers.add(new Integer(2));
- partNumbers.add(new Integer(3));
- setParameter(IPRangeProfile.PART_NUMBERS, partNumbers);
for (byte i = 0; i < 4; i++) {
setParameter(IPRangeProfile.NETWORK_ADDRESS + "-" + i, new Part(i));
setParameter(IPRangeProfile.SUBNET_MASK + "-" + i, new Part(i));
+ partNumbers.add(new Integer(i));
}
+ setParameter(IPRangeProfile.PART_NUMBERS, partNumbers);
}
}
Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRangeProfile.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRangeProfile.java?rev=170031&r1=170030&r2=170031&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRangeProfile.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRangeProfile.java Fri May 13 08:06:38 2005
@@ -20,6 +20,8 @@
package org.apache.lenya.cms.ac.usecases;
import java.net.InetAddress;
+import java.util.ArrayList;
+import java.util.List;
import org.apache.lenya.ac.IPRange;
import org.apache.lenya.cms.usecase.AbstractUsecase;
@@ -37,6 +39,13 @@
protected static final String PART_NUMBERS = "partNumbers";
/**
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckExecutionConditions()
+ */
+ protected void doCheckExecutionConditions() throws Exception {
+ IPRangeProfile.validateAddresses(this);
+ }
+
+ /**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
*/
protected void doExecute() throws Exception {
@@ -44,10 +53,33 @@
String name = getParameterAsString(NAME);
String description = getParameterAsString(DESCRIPTION);
+
+ IPRange ipRange = getIPRange();
+
+ ipRange.setName(name);
+ ipRange.setDescription(description);
+
+ String networkString = "";
+ String subnetString = "";
+
+ for (int i = 0; i < 4; i++) {
+ if (i > 0) {
+ networkString += ".";
+ subnetString += ".";
+ }
+ Part netPart = (Part) getParameter(IPRangeProfile.NETWORK_ADDRESS + "-" + i);
+ networkString += netPart.getValue();
+ Part subPart = (Part) getParameter(IPRangeProfile.SUBNET_MASK + "-" + i);
+ subnetString += subPart.getValue();
+ }
+
+ InetAddress networkAddress = InetAddress.getByName(networkString);
+ ipRange.setNetworkAddress(networkAddress.getAddress());
+
+ InetAddress subnetMask = InetAddress.getByName(subnetString);
+ ipRange.setSubnetMask(subnetMask.getAddress());
- getIPRange().setName(name);
- getIPRange().setDescription(description);
- getIPRange().save();
+ ipRange.save();
}
@@ -79,11 +111,14 @@
InetAddress networkAddress = this.ipRange.getNetworkAddress();
InetAddress subnetMask = this.ipRange.getSubnetMask();
+ List partNumbers = new ArrayList();
for (byte i = 0; i < 4; i++) {
setParameter(NETWORK_ADDRESS + "-" + i, new Part(i, ""
+ networkAddress.getAddress()[i]));
setParameter(SUBNET_MASK + "-" + i, new Part(i, "" + subnetMask.getAddress()[i]));
+ partNumbers.add(new Integer(i));
}
+ setParameter(IPRangeProfile.PART_NUMBERS, partNumbers);
}
}
@@ -103,39 +138,6 @@
}
usecase.setParameter(paramName, part);
}
- }
- }
-
- /**
- * IP address holder.
- */
- public static class Address {
- private Part[] parts = new Part[4];
-
- /**
- * Ctor.
- */
- public Address() {
- for (byte i = 0; i < this.parts.length; i++) {
- this.parts[i] = new Part(i);
- }
- }
-
- /**
- * Ctor.
- * @param address The address.
- */
- public Address(InetAddress address) {
- for (byte i = 0; i < this.parts.length; i++) {
- this.parts[i] = new Part(i, "" + address.getAddress()[i]);
- }
- }
-
- /**
- * @return The parts of this address.
- */
- public Part[] getParts() {
- return this.parts;
}
}
Modified: lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl?rev=170031&r1=170030&r2=170031&view=diff
==============================================================================
--- lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl (original)
+++ lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl Fri May 13 08:06:38 2005
@@ -337,7 +337,7 @@
<parameter name="tab" value="ipRanges"/>
</view>
</component-instance>
- <component-instance name="admin.ipRangeProfileProfile" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.IPRangeProfile">
+ <component-instance name="admin.ipRangeProfile" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.IPRangeProfile">
<view template="admin/ipRangeProfile" menu="true">
<parameter name="tab" value="ipRanges"/>
</view>
Added: lenya/trunk/src/webapp/lenya/usecases/admin/ipRangeProfile.jx
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/usecases/admin/ipRangeProfile.jx?rev=170031&view=auto
==============================================================================
--- lenya/trunk/src/webapp/lenya/usecases/admin/ipRangeProfile.jx (added)
+++ lenya/trunk/src/webapp/lenya/usecases/admin/ipRangeProfile.jx Fri May 13 08:06:38 2005
@@ -0,0 +1,92 @@
+<page:page
+ xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"
+ xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+ >
+
+ <page:body>
+ <jx:import uri="admin/tabs.jx"/>
+ <div id="contentblock1" class="lenya-tab">
+
+ <h1><i18n:text>IP Range Profile</i18n:text></h1>
+
+ <form>
+ <input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
+ <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/>
+
+ <table class="lenya-table-noborder">
+ <tr>
+ <td colspan="2">
+ <jx:import uri="templates/messages.jx"/>
+ </td>
+ </tr>
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>IP Range ID</i18n:text></td>
+ <td><jx:out value="${usecase.getParameter('ipRange').getId()}"/></td>
+ </tr>
+
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>Name</i18n:text></td>
+ <td><input type="text" name="name" class="lenya-form-entry" value="${request.getParameter('name')}"/></td>
+ </tr>
+ <tr>
+ <td valign="top" class="lenya-entry-caption"><i18n:text>Description</i18n:text></td>
+ <td>
+ <textarea name="description" class="lenya-form-entry">
+ <jx:out value="${request.getParameter('description')}"/>
+ </textarea>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>Network Address</i18n:text></td>
+ <td>
+ <jx:forEach var="part" items="${usecase.getParameter('partNumbers')}">
+ <jx:choose>
+ <jx:when test="${usecase.getParameter('networkAddress-' + part).isValid()}">
+ <input type="text" name="networkAddress-${part}" size="3" maxlength="3"
+ value="${usecase.getParameter('networkAddress-' + part).getValue()}"
+ style="text-align: right"/>
+ </jx:when>
+ <jx:otherwise>
+ <input type="text" name="networkAddress-${part}" size="3" maxlength="3"
+ value="${usecase.getParameter('networkAddress-' + part).getValue()}"
+ style="background-color: #FF9999; text-align: right;"/>
+ </jx:otherwise>
+ </jx:choose>
+ </jx:forEach>
+ </td>
+ </tr>
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>Subnet Mask</i18n:text></td>
+ <td>
+ <jx:forEach var="part" items="${usecase.getParameter('partNumbers')}">
+ <jx:choose>
+ <jx:when test="${usecase.getParameter('subnetMask-' + part).isValid()}">
+ <input type="text" name="subnetMask-${part}" size="3" maxlength="3"
+ value="${usecase.getParameter('subnetMask-' + part).getValue()}"
+ style="text-align: right"/>
+ </jx:when>
+ <jx:otherwise>
+ <input type="text" name="subnetMask-${part}" size="3" maxlength="3"
+ value="${usecase.getParameter('subnetMask-' + part).getValue()}"
+ style="background-color: #FF9999; text-align: right;"/>
+ </jx:otherwise>
+ </jx:choose>
+ </jx:forEach>
+ </td>
+ </tr>
+
+ <tr>
+ <td/>
+ <td>
+ <input i18n:attr="value" type="submit" name="submit" value="Save"/>
+ <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/>
+ </td>
+ </tr>
+ </table>
+ </form>
+ </div>
+ </page:body>
+</page:page>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org