You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by pr...@apache.org on 2002/03/28 09:49:14 UTC
cvs commit: jakarta-commons-sandbox/periodicity/src/velocity/test Event_detail.vm
prickett 02/03/28 00:49:14
Modified: periodicity build.xml
periodicity/conf/build build.jars.properties deps.list
periodicity/src/velocity/test Event_detail.vm
Added: periodicity/src/java/org/apache/commons/periodicity/turbine/actions
EvtDoJrlFBTestAction.java EvtDoJrlTestAction.java
EvtDoTestAction.java NoAlarmTestAction.java
SaveEventTestAction.java
periodicity/src/java/org/apache/commons/periodicity/util
ICalSessionKeys.java RunDataUtils.java
Log:
Added code to save the event to a database via a web browser witha a set of
Turbine actions.
Added a dependency on the servlet jar file.
Revision Changes Path
1.21 +1 -0 jakarta-commons-sandbox/periodicity/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/periodicity/build.xml,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- build.xml 26 Mar 2002 10:15:13 -0000 1.20
+++ build.xml 28 Mar 2002 08:49:13 -0000 1.21
@@ -31,6 +31,7 @@
<pathelement location="${commons-collections.jar}"/>
<pathelement location="${commons-lang.jar}"/>
<pathelement location="${junit.jar}"/>
+ <pathelement location="${servlet.jar}"/>
<pathelement location="${stratum.jar}"/>
<pathelement location="${tdk.jar}"/>
<pathelement location="${torque.jar}"/>
1.2 +1 -0 jakarta-commons-sandbox/periodicity/conf/build/build.jars.properties
Index: build.jars.properties
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/periodicity/conf/build/build.jars.properties,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- build.jars.properties 25 Mar 2002 09:24:17 -0000 1.1
+++ build.jars.properties 28 Mar 2002 08:49:13 -0000 1.2
@@ -8,6 +8,7 @@
commons-lang.jar = ${lib.repo}/commons-lang-0.1-dev.jar
jdbc.jar = ${lib.repo}/jdbc2_0-stdext.jar
junit.jar = ${lib.repo}/junit-3.7.jar
+servlet.jar= ${lib.repo}/servlet-2.2.jar
stratum.jar = ${lib.repo}/stratum-0.1-dev.jar
torque.jar=${lib.repo}/torque-3.0-dev.jar
tdk.jar= ${lib.repo}/tdk.jar
1.2 +1 -0 jakarta-commons-sandbox/periodicity/conf/build/deps.list
Index: deps.list
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/periodicity/conf/build/deps.list,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- deps.list 25 Mar 2002 09:24:17 -0000 1.1
+++ deps.list 28 Mar 2002 08:49:13 -0000 1.2
@@ -4,6 +4,7 @@
jdbc2_0-stdext.jar
junit-3.7.jar
log4j-1.1.3.jar
+servlet-2.2.jar
stratum-0.1-dev.jar
torque-3.0-dev.jar
turbine-2.2-b2-dev.jar
1.1 jakarta-commons-sandbox/periodicity/src/java/org/apache/commons/periodicity/turbine/actions/EvtDoJrlFBTestAction.java
Index: EvtDoJrlFBTestAction.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache" or
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.commons.periodicity.turbine.actions;
import javax.servlet.http.HttpServletRequest;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
import org.apache.turbine.util.Log;
import org.apache.commons.periodicity.util.TestTemplateParams;
import org.apache.commons.periodicity.util.RunDataUtils;
import org.apache.commons.periodicity.util.ICalendarException;
import org.apache.commons.periodicity.ical.vobjects.VEvent;
import org.apache.commons.periodicity.ical.properties.Organizer;
import org.apache.commons.periodicity.ical.properties.UID;
import org.apache.commons.periodicity.ical.properties.URLProp;
public class EvtDoJrlFBTestAction extends NoAlarmTestAction
{
public void doPerform(RunData data, Context context) throws Exception
{
if(data != null && context != null)
{
Log.debug(
"context and data are not null so we will save the event");
VEvent event = RunDataUtils.getCurrentEvent(data);
if(event == null)
{
event = new VEvent();
}
setValuesFromWeb(data, event);
}
else if(data == null)
{
Log.debug("data == null");
}
else if(context == null)
{
Log.debug("context == null");
}
else
{
Log.debug("Some other error has occured cannot save event");
}
}
protected void setValuesFromWeb(RunData data, VEvent event)
throws ICalendarException
{
super.setValuesFromWeb(data, event);
if(data != null && event != null)
{
HttpServletRequest request = data.getRequest();
if(request != null)
{
String rawOrganizer = request.getParameter(
TestTemplateParams.ORGANIZER_PARAM);
if(rawOrganizer != null)
{
Organizer organizer = new Organizer(rawOrganizer);
String rawOrganizerName = request.getParameter(
TestTemplateParams.ORGANIZER_NAME_PARAM);
if(rawOrganizerName != null)
{
organizer.setCommonName(rawOrganizerName);
}
String rawOrganizerDirectory = request.getParameter(
TestTemplateParams.ORGANIZER_DIRECTORY_PARAM);
if(rawOrganizerDirectory != null)
{
organizer.setDirectoryParameter(rawOrganizerDirectory);
}
String rawOrganizerSentby = request.getParameter(
TestTemplateParams.ORGANIZER_SENTBY_PARAM);
if(rawOrganizerSentby != null)
{
organizer.setSentByParameter(rawOrganizerSentby);
}
String rawOrganizerLang = request.getParameter(
TestTemplateParams.ORGANIZER_LANG_PARAM);
if(rawOrganizerLang != null)
{
organizer.setLanguageParameter(rawOrganizerLang);
}
event.setOrganizerProp(organizer);
}
else
{
event.setOrganizerProp(null);
}
String rawUid = request.getParameter(
TestTemplateParams.UID_PARAM);
if(rawUid != null)
{
UID uid = new UID(rawUid);
event.setUIDProp(uid);
}
else
{
event.setUIDProp(null);
}
String rawUrl = request.getParameter(
TestTemplateParams.URL_PARAM);
if(rawUrl != null)
{
URLProp url = new URLProp(rawUrl);
event.setURLProp(url);
}
else
{
event.setURLProp(null);
}
}
}
}
}
1.1 jakarta-commons-sandbox/periodicity/src/java/org/apache/commons/periodicity/turbine/actions/EvtDoJrlTestAction.java
Index: EvtDoJrlTestAction.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache" or
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.commons.periodicity.turbine.actions;
import java.util.GregorianCalendar;
import javax.servlet.http.HttpServletRequest;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
import org.apache.turbine.util.Log;
import org.apache.commons.periodicity.util.TestTemplateParams;
import org.apache.commons.periodicity.util.RunDataUtils;
import org.apache.commons.periodicity.util.ICalendarException;
import org.apache.commons.periodicity.ical.vobjects.VEvent;
import org.apache.commons.periodicity.ical.properties.ClassProp;
import org.apache.commons.periodicity.ical.properties.Description;
import org.apache.commons.periodicity.ical.properties.RecurID;
import org.apache.commons.periodicity.ical.properties.Sequence;
import org.apache.commons.periodicity.ical.properties.Status;
import org.apache.commons.periodicity.ical.properties.Summary;
public class EvtDoJrlTestAction extends EvtDoJrlFBTestAction
{
public void doPerform(RunData data, Context context) throws Exception
{
if(data != null && context != null)
{
Log.debug(
"context and data are not null so we will save the event");
VEvent event = RunDataUtils.getCurrentEvent(data);
if(event == null)
{
event = new VEvent();
}
setValuesFromWeb(data, event);
}
else if(data == null)
{
Log.debug("data == null");
}
else if(context == null)
{
Log.debug("context == null");
}
else
{
Log.debug("Some other error has occured cannot save event");
}
}
protected void setValuesFromWeb(RunData data, VEvent event)
throws ICalendarException
{
super.setValuesFromWeb(data, event);
if(data != null && event != null)
{
HttpServletRequest request = data.getRequest();
if(request != null)
{
String rawClassify = request.getParameter(
TestTemplateParams.CLASSIFICATION_PARAM);
if(rawClassify != null)
{
ClassProp classify = new ClassProp(rawClassify);
event.setClassification(classify);
}
else
{
event.setClassification(null);
}
String rawDesc = request.getParameter(
TestTemplateParams.DESCRIPTION_PARAM);
if(rawDesc != null)
{
Description descProp = new Description(rawDesc);
String rawDescAltrep = request.getParameter(
TestTemplateParams.DESC_ALTREP_PARAM);
if(rawDescAltrep != null)
{
descProp.setAltRep(rawDescAltrep);
}
String rawDescLang = request.getParameter(
TestTemplateParams.DESC_LANG_PARAM);
if(rawDescLang != null)
{
descProp.setLanguageParameter(rawDescLang);
}
event.setDescProp(descProp);
}
else
{
event.setDescProp(null);
}
String rawMonth = request.getParameter(
TestTemplateParams.RECURID_MONTH_PARAM);
String rawDate = request.getParameter(
TestTemplateParams.RECURID_DATE_PARAM);
String rawYear = request.getParameter(
TestTemplateParams.RECURID_YEAR_PARAM);
String rawHour = request.getParameter(
TestTemplateParams.RECURID_HOUR_PARAM);
String rawMinute = request.getParameter(
TestTemplateParams.RECURID_MINUTE_PARAM);
if(rawMonth != null && rawDate != null && rawYear != null &&
rawHour != null && rawMinute != null)
{
Integer month = Integer.valueOf(rawMonth);
Integer date = Integer.valueOf(rawDate);
Integer year = Integer.valueOf(rawYear);
Integer hour = Integer.valueOf(rawHour);
Integer minute = Integer.valueOf(rawMinute);
if(month != null && date != null && year != null &&
hour != null && minute != null)
{
GregorianCalendar recuriddt = new GregorianCalendar();
recuriddt.set(GregorianCalendar.MONTH,
month.intValue() - 1);
recuriddt.set(GregorianCalendar.DATE, date.intValue());
recuriddt.set(GregorianCalendar.YEAR, year.intValue());
recuriddt.set(GregorianCalendar.HOUR_OF_DAY,
hour.intValue());
recuriddt.set(GregorianCalendar.MINUTE,
minute.intValue());
RecurID recurid = new RecurID();
recurid.setDateTime(recuriddt);
String rawRange = request.getParameter(
TestTemplateParams.RECURID_RANGE_PARAM);
if(rawRange != null)
{
recurid.setRangeParameter(rawRange);
}
String rawTzid = request.getParameter(
TestTemplateParams.RECURID_TZID_PARAM);
if(rawTzid != null)
{
recurid.setTimeZoneID(rawTzid);
}
event.setRecurID(recurid);
}
else
{
event.setRecurID(null);
}
}
else
{
event.setRecurID(null);
}
String rawSeq = request.getParameter(
TestTemplateParams.SEQUENCE_PARAM);
if(rawSeq != null)
{
Integer sequence = Integer.valueOf(rawSeq);
if(sequence != null)
{
Sequence seqProp = new Sequence(sequence.intValue());
event.setSequenceProp(seqProp);
}
else
{
event.setSequenceProp(null);
}
}
else
{
event.setSequenceProp(null);
}
String rawStatus = request.getParameter(
TestTemplateParams.STATUS_PARAM);
if(rawStatus != null)
{
Status status = new Status(rawStatus);
event.setStatusProp(status);
}
else
{
event.setStatusProp(null);
}
String rawSummary = request.getParameter(
TestTemplateParams.SUMMARY_PARAM);
if(rawSummary != null)
{
Summary summary = new Summary(rawSummary);
String rawSummaryAltrep = request.getParameter(
TestTemplateParams.SUMMARY_ALTREP_PARAM);
if(rawSummaryAltrep != null)
{
summary.setAltRep(rawSummaryAltrep);
}
String rawSummaryLang = request.getParameter(
TestTemplateParams.SUMMARY_LANG_PARAM);
if(rawSummaryLang != null)
{
summary.setLanguageParameter(rawSummaryLang);
}
event.setSummaryProp(summary);
}
else
{
event.setSummaryProp(null);
}
}
}
}
}
1.1 jakarta-commons-sandbox/periodicity/src/java/org/apache/commons/periodicity/turbine/actions/EvtDoTestAction.java
Index: EvtDoTestAction.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache" or
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.commons.periodicity.turbine.actions;
import java.util.GregorianCalendar;
import javax.servlet.http.HttpServletRequest;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
import org.apache.turbine.util.Log;
import org.apache.commons.periodicity.util.TestTemplateParams;
import org.apache.commons.periodicity.util.RunDataUtils;
import org.apache.commons.periodicity.util.ICalendarException;
import org.apache.commons.periodicity.ical.vobjects.VEvent;
import org.apache.commons.periodicity.ical.properties.GeoProp;
import org.apache.commons.periodicity.ical.properties.Location;
import org.apache.commons.periodicity.ical.properties.Priority;
public class EvtDoTestAction extends EvtDoJrlTestAction
{
public void doPerform(RunData data, Context context) throws Exception
{
if(data != null && context != null)
{
Log.debug(
"context and data are not null so we will save the event");
VEvent event = RunDataUtils.getCurrentEvent(data);
if(event == null)
{
event = new VEvent();
}
setValuesFromWeb(data, event);
}
else if(data == null)
{
Log.debug("data == null");
}
else if(context == null)
{
Log.debug("context == null");
}
else
{
Log.debug("Some other error has occured cannot save event");
}
}
protected void setValuesFromWeb(RunData data, VEvent event)
throws ICalendarException
{
super.setValuesFromWeb(data, event);
if(data != null && event != null)
{
HttpServletRequest request = data.getRequest();
if(request != null)
{
String rawLatitude = request.getParameter(
TestTemplateParams.LATITUDE_PARAM);
String rawLongitude = request.getParameter(
TestTemplateParams.LONGITUDE_PARAM);
if(rawLatitude != null && rawLongitude != null)
{
Float latitude = Float.valueOf(rawLatitude);
Float longitude = Float.valueOf(rawLongitude);
if(latitude != null && longitude != null)
{
GeoProp geo = new GeoProp(latitude.floatValue(),
longitude.floatValue());
event.setGeoProp(geo);
}
else
{
event.setGeoProp(null);
}
}
else
{
event.setGeoProp(null);
}
String rawLocation = request.getParameter(
TestTemplateParams.LOCATION_PARAM);
if(rawLocation != null)
{
Location location = new Location(rawLocation);
String rawLocationAltrep = request.getParameter(
TestTemplateParams.LOCATION_ALTREP_PARAM);
if(rawLocationAltrep != null)
{
location.setAltRep(rawLocationAltrep);
}
String rawLocationLang = request.getParameter(
TestTemplateParams.LOCATION_LANG_PARAM);
if(rawLocationLang != null)
{
location.setLanguageParameter(rawLocationLang);
}
event.setLocationProp(location);
}
else
{
event.setLocationProp(null);
}
String rawPriority = request.getParameter(
TestTemplateParams.PRIORITY_PARAM);
if(rawPriority != null)
{
Integer priority = Integer.valueOf(rawPriority);
if(priority != null)
{
Priority priorityProp = new Priority(
priority.intValue());
event.setPriorityProp(priorityProp);
}
else
{
event.setPriorityProp(null);
}
}
else
{
event.setPriorityProp(null);
}
}
}
}
}
1.1 jakarta-commons-sandbox/periodicity/src/java/org/apache/commons/periodicity/turbine/actions/NoAlarmTestAction.java
Index: NoAlarmTestAction.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache" or
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.commons.periodicity.turbine.actions;
import java.util.GregorianCalendar;
import javax.servlet.http.HttpServletRequest;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
import org.apache.turbine.modules.actions.VelocityAction;
import org.apache.turbine.util.Log;
import org.apache.commons.periodicity.util.TestTemplateParams;
import org.apache.commons.periodicity.util.RunDataUtils;
import org.apache.commons.periodicity.util.ICalendarException;
import org.apache.commons.periodicity.ical.vobjects.VEvent;
import org.apache.commons.periodicity.ical.properties.Dtstart;
public class NoAlarmTestAction extends VelocityAction
{
public void doPerform(RunData data, Context context) throws Exception
{
if(data != null && context != null)
{
Log.debug(
"context and data are not null so we will save the event");
VEvent event = RunDataUtils.getCurrentEvent(data);
if(event == null)
{
event = new VEvent();
}
setValuesFromWeb(data, event);
}
else if(data == null)
{
Log.debug("data == null");
}
else if(context == null)
{
Log.debug("context == null");
}
else
{
Log.debug("Some other error has occured cannot save event");
}
}
protected void setValuesFromWeb(RunData data, VEvent event)
throws ICalendarException
{
if(data != null && event != null)
{
HttpServletRequest request = data.getRequest();
if(request != null)
{
String rawMonth = request.getParameter(
TestTemplateParams.DTSTART_MONTH_PARAM);
String rawDate = request.getParameter(
TestTemplateParams.DTSTART_DATE_PARAM);
String rawYear = request.getParameter(
TestTemplateParams.DTSTART_YEAR_PARAM);
String rawHour = request.getParameter(
TestTemplateParams.DTSTART_HOUR_PARAM);
String rawMinute = request.getParameter(
TestTemplateParams.DTSTART_MINUTE_PARAM);
if(rawMonth != null && rawDate != null && rawYear != null &&
rawHour != null && rawMinute != null)
{
Integer month = Integer.valueOf(rawMonth);
Integer date = Integer.valueOf(rawDate);
Integer year = Integer.valueOf(rawYear);
Integer hour = Integer.valueOf(rawHour);
Integer minute = Integer.valueOf(rawMinute);
if(month != null && date != null && year != null &&
hour != null && minute != null)
{
GregorianCalendar startTime = new GregorianCalendar();
startTime.set(GregorianCalendar.MONTH,
month.intValue() - 1);
startTime.set(GregorianCalendar.DATE, date.intValue());
startTime.set(GregorianCalendar.YEAR, year.intValue());
startTime.set(GregorianCalendar.HOUR_OF_DAY,
hour.intValue());
startTime.set(GregorianCalendar.MINUTE,
minute.intValue());
Dtstart start = new Dtstart();
start.setDateTime(startTime);
String rawTzid = request.getParameter(
TestTemplateParams.DTSTART_TZID_PARAM);
if(rawTzid != null)
{
start.setTimeZoneID(rawTzid);
}
event.setStartProp(start);
}
else
{
event.setStartProp(null);
}
}
else
{
event.setStartProp(null);
}
}
}
}
}
1.1 jakarta-commons-sandbox/periodicity/src/java/org/apache/commons/periodicity/turbine/actions/SaveEventTestAction.java
Index: SaveEventTestAction.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache" or
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.commons.periodicity.turbine.actions;
import java.util.GregorianCalendar;
import javax.servlet.http.HttpServletRequest;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
import org.apache.turbine.util.Log;
import org.apache.commons.periodicity.util.TestTemplateParams;
import org.apache.commons.periodicity.util.RunDataUtils;
import org.apache.commons.periodicity.util.ICalendarException;
import org.apache.commons.periodicity.ical.vobjects.VEvent;
import org.apache.commons.periodicity.ical.properties.Transparency;
import org.apache.commons.periodicity.ical.properties.Dtend;
public class SaveEventTestAction extends EvtDoTestAction
{
public void doPerform(RunData data, Context context) throws Exception
{
if(data != null && context != null)
{
Log.debug(
"context and data are not null so we will save the event");
VEvent event = RunDataUtils.getCurrentEvent(data);
if(event == null)
{
event = new VEvent();
}
setValuesFromWeb(data, event);
}
else if(data == null)
{
Log.debug("data == null");
}
else if(context == null)
{
Log.debug("context == null");
}
else
{
Log.debug("Some other error has occured cannot save event");
}
}
protected void setValuesFromWeb(RunData data, VEvent event)
throws ICalendarException
{
super.setValuesFromWeb(data, event);
if(data != null && event != null)
{
HttpServletRequest request = data.getRequest();
if(request != null)
{
String rawDate = request.getParameter(
TestTemplateParams.END_DATE_PARAM);
String rawMonth = request.getParameter(
TestTemplateParams.END_MONTH_PARAM);
String rawYear = request.getParameter(
TestTemplateParams.END_YEAR_PARAM);
String rawHour = request.getParameter(
TestTemplateParams.END_HOUR_PARAM);
String rawMinute = request.getParameter(
TestTemplateParams.END_MINUTE_PARAM);
if(rawDate != null && rawMonth != null && rawYear != null &&
rawHour != null && rawMinute != null)
{
Integer date = Integer.valueOf(rawDate);
Integer month = Integer.valueOf(rawMonth);
Integer year = Integer.valueOf(rawYear);
Integer hour = Integer.valueOf(rawHour);
Integer minute = Integer.valueOf(rawMinute);
if(date != null && month != null && year != null &&
hour != null && minute != null)
{
Dtend endTimeProp = new Dtend();
GregorianCalendar endDate = new GregorianCalendar();
endDate.set(GregorianCalendar.DATE, date.intValue());
endDate.set(GregorianCalendar.MONTH,
month.intValue() - 1);
endDate.set(GregorianCalendar.YEAR, year.intValue());
endDate.set(GregorianCalendar.HOUR, hour.intValue());
endDate.set(GregorianCalendar.MINUTE,
minute.intValue());
endTimeProp.setDateTime(endDate);
event.setEndTimeProp(endTimeProp);
}
else
{
event.setEndTimeProp(null);
}
}
else
{
event.setEndTimeProp(null);
}
String rawTransparency = request.getParameter(
TestTemplateParams.TRANSPARENCY_PARAM);
if(rawTransparency != null)
{
Transparency transparent = new Transparency();
transparent.setValue(rawTransparency);
event.setTransProp(transparent);
}
else
{
event.setTransProp(null);
}
}
}
}
}
1.1 jakarta-commons-sandbox/periodicity/src/java/org/apache/commons/periodicity/util/ICalSessionKeys.java
Index: ICalSessionKeys.java
===================================================================
package org.apache.commons.periodicity.util;
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache" or
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
public class ICalSessionKeys
{
/** The session key for the event that the user is currently viewing or
* editing */
public static final String CURRENT_EVENT = "current_event";
}
1.1 jakarta-commons-sandbox/periodicity/src/java/org/apache/commons/periodicity/util/RunDataUtils.java
Index: RunDataUtils.java
===================================================================
package org.apache.commons.periodicity.util;
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache" or
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
import javax.servlet.http.HttpSession;
import org.apache.turbine.util.RunData;
import org.apache.commons.periodicity.ical.vobjects.VEvent;
public class RunDataUtils
{
public static VEvent getCurrentEvent(RunData data) throws ICalendarException
{
if(data != null)
{
HttpSession session = data.getSession();
if(session != null)
{
return (VEvent) session.getAttribute(
ICalSessionKeys.CURRENT_EVENT);
}
else
{
throw new ICalendarException("session == null");
}
}
else
{
throw new ICalendarException("data == null");
}
}
}
1.3 +1 -1 jakarta-commons-sandbox/periodicity/src/velocity/test/Event_detail.vm
Index: Event_detail.vm
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/periodicity/src/velocity/test/Event_detail.vm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Event_detail.vm 27 Mar 2002 06:08:06 -0000 1.2
+++ Event_detail.vm 28 Mar 2002 08:49:14 -0000 1.3
@@ -1,4 +1,4 @@
- <form action="${link.setPage("Event_detail.vm")}"
+ <form action="/periodicity/turbine/template/Event_detail.vm/action/SaveEventTestAction")}"
method="post" enctype="text/html">
<table>
<tr>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>