From 20ccc7d79d8fccab1a64ee765c696841c7decb63 Mon Sep 17 00:00:00 2001 From: fortuna Date: Tue, 17 Nov 2009 12:39:38 +0000 Subject: [PATCH] Added Lotus Charset property --- .classpath | 12 ++ .cvsignore | 1 + .project | 29 ++++ ....codehaus.groovy.eclipse.preferences.prefs | 3 + .settings/org.eclipse.jdt.core.prefs | 6 + .settings/org.maven.ide.eclipse.prefs | 9 ++ pom.xml | 136 ++++++++++++++++++ .../extensions/property/LotusCharset.java | 84 +++++++++++ .../property/LotusCharsetTest.groovy | 16 +++ .../extensions/property/LotusCharsetTest.java | 42 ++++++ 10 files changed, 338 insertions(+) create mode 100755 .classpath create mode 100755 .cvsignore create mode 100755 .project create mode 100755 .settings/org.codehaus.groovy.eclipse.preferences.prefs create mode 100755 .settings/org.eclipse.jdt.core.prefs create mode 100755 .settings/org.maven.ide.eclipse.prefs create mode 100755 pom.xml create mode 100755 src/main/java/net/fortuna/ical4j/extensions/property/LotusCharset.java create mode 100755 src/test/groovy/net/fortuna/ical4j/extensions/property/LotusCharsetTest.groovy create mode 100755 src/test/java/net/fortuna/ical4j/extensions/property/LotusCharsetTest.java diff --git a/.classpath b/.classpath new file mode 100755 index 0000000..4a41c79 --- /dev/null +++ b/.classpath @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/.cvsignore b/.cvsignore new file mode 100755 index 0000000..eb5a316 --- /dev/null +++ b/.cvsignore @@ -0,0 +1 @@ +target diff --git a/.project b/.project new file mode 100755 index 0000000..c41b1d2 --- /dev/null +++ b/.project @@ -0,0 +1,29 @@ + + + ical4j-extensions + + + + + + org.codehaus.groovy.eclipse.groovyBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.maven.ide.eclipse.maven2Nature + org.eclipse.jdt.core.javanature + org.codehaus.groovy.eclipse.groovyNature + + diff --git a/.settings/org.codehaus.groovy.eclipse.preferences.prefs b/.settings/org.codehaus.groovy.eclipse.preferences.prefs new file mode 100755 index 0000000..1e4e6d7 --- /dev/null +++ b/.settings/org.codehaus.groovy.eclipse.preferences.prefs @@ -0,0 +1,3 @@ +#Mon Nov 16 23:43:56 EST 2009 +eclipse.preferences.version=1 +groovy.compiler.output.path=bin-groovy diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100755 index 0000000..2367b58 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,6 @@ +#Mon Nov 16 23:43:57 EST 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.groovy +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/.settings/org.maven.ide.eclipse.prefs b/.settings/org.maven.ide.eclipse.prefs new file mode 100755 index 0000000..513f19d --- /dev/null +++ b/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Mon Nov 16 18:14:58 EST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/pom.xml b/pom.xml new file mode 100755 index 0000000..d5b5eee --- /dev/null +++ b/pom.xml @@ -0,0 +1,136 @@ + + + + modularity-parent + net.modularity + 1.0.8-SNAPSHOT + + 4.0.0 + net.fortuna.ical4j + ical4j-extensions + bundle + iCal4j Extensions + 0.9-SNAPSHOT + Support for additional non-standard iCalendar objects + http://ical4j.sourceforge.net + + SourceForge.net + https://sourceforge.net/tracker/?group_id=107024 + + 2009 + + + + iCal4j - License + LICENSE + + + + + scm:cvs:pserver:anonymous:@ical4j.cvs.sourceforge.net:/cvsroot/ical4j:ical4j-extensions + scm:cvs:ext:fortuna@ical4j.cvs.sourceforge.net:/cvsroot/ical4j:ical4j-extensions + http://ical4j.cvs.sourceforge.net/ical4j/ical4j-extensions + + + + + + org.apache.felix + maven-bundle-plugin + true + + + net.fortuna.ical4j.vcard.* + net.fortuna.ical4j.*,org.apache.commons.lang.*,org.apache.commons.logging,*;resolution:=optional + + + + + + org.apache.maven.plugins + maven-clover-plugin + + 1.5 + + + + + + maven-assembly-plugin + + + src/main/assembly/bin.xml + src/main/assembly/src.xml + + + + + make-assembly + site-deploy + + attached + + + + + + + org.codehaus.groovy.maven + gmaven-plugin + + + + generateStubs + compile + generateTestStubs + testCompile + + + + + + + + + + net.fortuna.ical4j + ical4j + 1.0-rc3-SNAPSHOT + + + junit + junit + 4.7 + test + + + + + + + + + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + + http://svn.mnode.org/tools/checkstyle/mnode_checks.xml + etc/checkstyle-suppressions.xml + + + + + \ No newline at end of file diff --git a/src/main/java/net/fortuna/ical4j/extensions/property/LotusCharset.java b/src/main/java/net/fortuna/ical4j/extensions/property/LotusCharset.java new file mode 100755 index 0000000..fb9465e --- /dev/null +++ b/src/main/java/net/fortuna/ical4j/extensions/property/LotusCharset.java @@ -0,0 +1,84 @@ +package net.fortuna.ical4j.extensions.property; + +import net.fortuna.ical4j.model.ParameterList; +import net.fortuna.ical4j.model.Property; +import net.fortuna.ical4j.model.PropertyFactory; +import net.fortuna.ical4j.model.ValidationException; + +/** + * @author fortuna + * + */ +public class LotusCharset extends Property { + + private static final long serialVersionUID = -3514682572599864426L; + + private static final String NAME = "X-LOTUS-CHARSET"; + + public static final PropertyFactory FACTORY = new Factory(); + + public static final LotusCharset UTF8 = new LotusCharset(new ParameterList(true), FACTORY, "UTF-8"); + + private String value; + + /** + * @param factory + */ + public LotusCharset(PropertyFactory factory) { + super(NAME, factory); + } + + /** + * @param aList + * @param factory + */ + public LotusCharset(ParameterList aList, PropertyFactory factory, String value) { + super(NAME, aList, factory); + setValue(value); + } + + /** + * {@inheritDoc} + */ + @Override + public void setValue(String aValue) { + this.value = aValue; + } + + /** + * {@inheritDoc} + */ + @Override + public void validate() throws ValidationException { + // TODO Auto-generated method stub + + } + + /** + * {@inheritDoc} + */ + @Override + public String getValue() { + return value; + } + + private static class Factory implements PropertyFactory { + + private static final long serialVersionUID = 596282786680252116L; + + public Property createProperty(String name) { + return new LotusCharset(this); + } + + public Property createProperty(String name, ParameterList parameters, String value) { + LotusCharset property = null; + if (UTF8.getValue().equals(value)) { + property = UTF8; + } + else { + property = new LotusCharset(parameters, this, value); + } + return property; + } + } +} diff --git a/src/test/groovy/net/fortuna/ical4j/extensions/property/LotusCharsetTest.groovy b/src/test/groovy/net/fortuna/ical4j/extensions/property/LotusCharsetTest.groovy new file mode 100755 index 0000000..90406e7 --- /dev/null +++ b/src/test/groovy/net/fortuna/ical4j/extensions/property/LotusCharsetTest.groovy @@ -0,0 +1,16 @@ +package net.fortuna.ical4j.extensions.property + + + +/** + * @author fortuna + * + */ +public class LotusCharsetTest extends GroovyTestCase { + + void testFactory() { + def prop = LotusCharset.FACTORY.createProperty(null, null, "UTF-8") + assert prop.value == LotusCharset.UTF8 + } + +} diff --git a/src/test/java/net/fortuna/ical4j/extensions/property/LotusCharsetTest.java b/src/test/java/net/fortuna/ical4j/extensions/property/LotusCharsetTest.java new file mode 100755 index 0000000..938b585 --- /dev/null +++ b/src/test/java/net/fortuna/ical4j/extensions/property/LotusCharsetTest.java @@ -0,0 +1,42 @@ +/** + * This file is part of Base Modules. + * + * Copyright (c) 2009, Ben Fortuna [fortuna@micronode.com] + * + * Base Modules is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Base Modules is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Base Modules. If not, see . + */ + +package net.fortuna.ical4j.extensions.property; + +import java.io.IOException; +import java.net.URISyntaxException; +import java.text.ParseException; + +import junit.framework.Assert; + +import org.junit.Test; + + +/** + * @author fortuna + * + */ +public class LotusCharsetTest { + + @Test + public void testFactoryUTF8() throws IOException, URISyntaxException, ParseException { + LotusCharset property = (LotusCharset) LotusCharset.FACTORY.createProperty(null, null, "UTF-8"); + Assert.assertEquals(LotusCharset.UTF8, property); + } +}