Compare commits

..

29 commits

Author SHA1 Message Date
324f5b1005 Git cleanup. 2017-06-07 14:45:06 -07:00
3937236341 Added outer root directory in zip archive. 2004-02-09 00:56:15 +00:00
4b001a9178 Added src build target. 2004-02-09 00:51:29 +00:00
191381492e Initial import. 2004-01-13 00:23:43 +00:00
6c7ec8561a TagUnit 1.0 2004-01-13 00:22:57 +00:00
f1051407d1 Added UML diagram. 2004-01-12 10:54:43 +00:00
b76a82804e Added UML diagram. 2003-12-20 21:02:39 +00:00
fa3135e4e9 Added Jars Rated Top 25% logo. 2003-11-21 13:45:05 +00:00
eb9073e559 1.0.1 release. 2003-10-20 14:18:15 +00:00
af5d5d9cf6 Added support for CHANGES.txt 2003-10-19 01:14:49 +00:00
f89c920917 Initial import. 2003-10-19 01:13:44 +00:00
b974192d49 Added more instructions. 2003-10-19 01:09:01 +00:00
ee4c39cd6b Update instructions with new target names. 2003-10-19 00:21:02 +00:00
9faefeb8b5 Added Arjun. 2003-10-18 17:58:26 +00:00
4647992dcc Turned off local VCS. 2003-10-18 17:30:56 +00:00
6a4f116fd3 Added tagunit target.
Renamed war target to examples.
Renamed tld target to tlds. (1.1 and 1.2 TLDs)
2003-10-18 17:30:26 +00:00
825e535229 Added JSP 1.2 Tag Lib Descriptor (TLD) 2003-10-18 17:27:37 +00:00
8ecdd6f53c ReadMe for source archive. 2003-10-18 17:26:32 +00:00
b87a229cc7 TagUnit initial import. 2003-10-18 17:25:44 +00:00
0020932fcb Javadoc fixes. 2003-10-18 01:51:29 +00:00
7d90e06189 Enabled site search. 2003-10-18 01:27:51 +00:00
b1e97d1c28 Javadoc fixes. 2003-10-18 01:27:02 +00:00
70a2b27c07 Added SF logo to all pages. 2003-10-17 02:58:41 +00:00
4dbc60af5a Added support for the src and tlddoc targets. 2003-10-16 12:16:55 +00:00
2242eb2cb2 Changed the behavior of the SearchQuery tag. By default only the search keywords (or phrase) are returned. To return the full query (including preset site and file type options) the "type" attribute should be set to "full". 2003-10-14 13:01:12 +00:00
489f08cb62 Added support for specifying a file type extension in the search tag. 2003-10-14 08:15:26 +00:00
31797b7b7c Added Diego's info. 2003-10-13 23:44:03 +00:00
bed16e985b Added support for specifying a file type extension in the search tag. 2003-10-13 23:43:20 +00:00
acb262f5d7 Typos fixed. 2003-10-10 20:17:18 +00:00
131 changed files with 3972 additions and 414 deletions

View file

@ -1,6 +1,7 @@
build
dist
javadoc
tlddoc
*.bat
key.txt
ChangeLog

15
CHANGES.txt Normal file
View file

@ -0,0 +1,15 @@
Version 1.0.1 (released 20-Oct-2003)
* Added a "type" attribute to the Search tag.
- It can be used to specify the type of documents (e.g.: pdf) to be
searched.
* Changed the behavior of the SearchQuery Tag.
- By default only the specified search keywords (or phrase) are
returned. To return the full query (including preset site and
file type options) the "type" attribute should be set to "full".
Version 1.0 (released 10-Oct-2003)
* This is the first public release.
* Added support for various HTTP Proxy configuration context parameters.
===========================================================================
$Id$

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4" relativePaths="false">
<component name="LvcsConfiguration">
<option name="LOCAL_VCS_ENABLED" value="true" />
<option name="LOCAL_VCS_ENABLED" value="false" />
<option name="LOCAL_VCS_PURGING_PERIOD" value="259200000" />
</component>
<component name="NewModuleRootManager">

View file

@ -16,6 +16,7 @@
<property name="MemberChooser.showClasses" value="true" />
<property name="MemberChooser.sorted" value="false" />
<property name="GoToFile.includeJavaFiles" value="false" />
<property name="last_opened_file_path" value="C:\projects\Test" />
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
</component>
<component name="ToolWindowManager">
@ -28,7 +29,7 @@
<window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.31519508" order="2" />
<window_info id="Javadoc" active="false" anchor="right" auto_hide="true" internal_type="sliding" type="sliding" visible="false" weight="0.33028457" order="3" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33126935" order="6" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33264887" order="0" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.26283368" order="0" />
<window_info id="App Server" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="11" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.28131416" order="1" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.32970452" order="1" />
@ -36,7 +37,7 @@
<window_info id="Messages" active="false" anchor="bottom" auto_hide="true" internal_type="sliding" type="sliding" visible="false" weight="0.33490565" order="9" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.3993808" order="5" x="20" y="255" width="984" height="258" />
<window_info id="DocBrowser" active="false" anchor="left" auto_hide="true" internal_type="sliding" type="sliding" visible="false" weight="1.0" order="3" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.20225872" order="1" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.20225872" order="1" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.5209953" order="2" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2" />
<window_info id="CVS File View" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="4" />
@ -65,13 +66,7 @@
<component name="ProjectViewSettings">
<navigator currentView="ProjectPane" flattenPackages="false" showMembers="false" showModules="false" showLibraryContents="false" hideEmptyPackages="false" showStructure="false" autoscrollToSource="false" splitterProportion="0.5" />
<view id="ProjectPane">
<expanded_node type="directory" url="file://$PROJECT_DIR$/src/net/thauvin/google" />
<expanded_node type="directory" url="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs" />
<expanded_node type="directory" url="file://$PROJECT_DIR$/src/net/thauvin" />
<expanded_node type="directory" url="file://$PROJECT_DIR$/tlds" />
<expanded_node type="directory" url="file://$PROJECT_DIR$/src/net" />
<expanded_node type="directory" url="file://$PROJECT_DIR$" />
<expanded_node type="directory" url="file://$PROJECT_DIR$/src" />
</view>
<view id="PackagesPane" />
</component>
@ -100,73 +95,17 @@
</todo-panel>
</component>
<component name="FileEditorManager" split-orientation="horizontal" split-proportion="0.5">
<first-group selected-file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/KeySupport.java">
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/Search.java" pinned="false">
<first-group selected-file="file://$PROJECT_DIR$/build.properties">
<entry file="file://$PROJECT_DIR$/build.xml" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="55" column="41" selection-start="2131" selection-end="2131" vertical-scroll-proportion="0.3096539">
<state line="12" column="34" selection-start="600" selection-end="600" vertical-scroll-proportion="-4.050934">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/QuerySupport.java" pinned="false">
<entry file="file://$PROJECT_DIR$/build.properties" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="55" column="45" selection-start="2226" selection-end="2226" vertical-scroll-proportion="-0.29690346">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/StyleSupport.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="49" column="22" selection-start="1996" selection-end="1996" vertical-scroll-proportion="-1.0437158">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/SearchResultSupport.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="54" column="22" selection-start="2174" selection-end="2174" vertical-scroll-proportion="-3.3351548">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/SearchResult.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="59" column="7" selection-start="2237" selection-end="2237" vertical-scroll-proportion="0.41347906">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/CachedPage.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="87" column="8" selection-start="2437" selection-end="2989" vertical-scroll-proportion="0.66302365">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/Spelling.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="52" column="13" selection-start="2053" selection-end="2053" vertical-scroll-proportion="0.20400728">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/KeySupport.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="56" column="8" selection-start="2354" selection-end="2354" vertical-scroll-proportion="0.55737704">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/EstimatedTotal.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="48" column="13" selection-start="1970" selection-end="1970" vertical-scroll-proportion="0.4025501">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/GoogleSearchBean.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="52" column="28" selection-start="2142" selection-end="2142" vertical-scroll-proportion="0.3406193">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@ -175,78 +114,6 @@
<second-group />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/google-examples/WEB-INF/web.xml">
<provider selected="true" editor-type-id="text-editor">
<state line="8" column="70" selection-start="405" selection-end="405" vertical-scroll-proportion="0.23776224">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/TagUtility.java">
<provider selected="true" editor-type-id="text-editor">
<state line="61" column="7" selection-start="2249" selection-end="2249" vertical-scroll-proportion="0.44821733">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/htdocs/docs.html">
<provider selected="true" editor-type-id="text-editor">
<state line="374" column="59" selection-start="15401" selection-end="15409" vertical-scroll-proportion="0.3327674">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/tlds/google.tld">
<provider selected="true" editor-type-id="text-editor">
<state line="148" column="20" selection-start="4208" selection-end="4208" vertical-scroll-proportion="4.271647">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/build.xml">
<provider selected="true" editor-type-id="text-editor">
<state line="33" column="73" selection-start="1193" selection-end="1193" vertical-scroll-proportion="0.39388794">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/QuerySupport.java">
<provider selected="true" editor-type-id="text-editor">
<state line="55" column="45" selection-start="2226" selection-end="2226" vertical-scroll-proportion="-0.29690346">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/StyleSupport.java">
<provider selected="true" editor-type-id="text-editor">
<state line="49" column="22" selection-start="1996" selection-end="1996" vertical-scroll-proportion="-1.0437158">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/SearchResultSupport.java">
<provider selected="true" editor-type-id="text-editor">
<state line="54" column="22" selection-start="2174" selection-end="2174" vertical-scroll-proportion="-3.3351548">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/SearchResult.java">
<provider selected="true" editor-type-id="text-editor">
<state line="59" column="7" selection-start="2237" selection-end="2237" vertical-scroll-proportion="0.41347906">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/CachedPage.java">
<provider selected="true" editor-type-id="text-editor">
<state line="87" column="8" selection-start="2437" selection-end="2989" vertical-scroll-proportion="0.66302365">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/EstimatedTotal.java">
<provider selected="true" editor-type-id="text-editor">
<state line="48" column="13" selection-start="1970" selection-end="1970" vertical-scroll-proportion="0.4025501">
@ -254,30 +121,102 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/KeySupport.java">
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/Spelling.java">
<provider selected="true" editor-type-id="text-editor">
<state line="56" column="8" selection-start="2354" selection-end="2354" vertical-scroll-proportion="0.55737704">
<state line="52" column="13" selection-start="2053" selection-end="2053" vertical-scroll-proportion="0.21311475">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/Spelling.java">
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/CachedPage.java">
<provider selected="true" editor-type-id="text-editor">
<state line="52" column="13" selection-start="2053" selection-end="2053" vertical-scroll-proportion="0.20400728">
<state line="87" column="8" selection-start="2437" selection-end="2989" vertical-scroll-proportion="0.6643234">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/StyleSupport.java">
<provider selected="true" editor-type-id="text-editor">
<state line="49" column="22" selection-start="1996" selection-end="1996" vertical-scroll-proportion="0.032786883">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/TagUtility.java">
<provider selected="true" editor-type-id="text-editor">
<state line="147" column="53" selection-start="4211" selection-end="4211" vertical-scroll-proportion="1.010929">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/KeySupport.java">
<provider selected="true" editor-type-id="text-editor">
<state line="63" column="22" selection-start="2477" selection-end="2477" vertical-scroll-proportion="0.7741348">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/QuerySupport.java">
<provider selected="true" editor-type-id="text-editor">
<state line="55" column="45" selection-start="2226" selection-end="2226" vertical-scroll-proportion="0.54826957">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/tlds/google.tld">
<provider selected="true" editor-type-id="text-editor">
<state line="183" column="8" selection-start="5123" selection-end="5123" vertical-scroll-proportion="0.41086587">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/SearchResultSupport.java">
<provider selected="true" editor-type-id="text-editor">
<state line="114" column="16" selection-start="3167" selection-end="3167" vertical-scroll-proportion="0.3327674">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/Search.java">
<provider selected="true" editor-type-id="text-editor">
<state line="55" column="41" selection-start="2131" selection-end="2131" vertical-scroll-proportion="0.3096539">
<state line="52" column="13" selection-start="2062" selection-end="2062" vertical-scroll-proportion="0.32088286">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/taglibs/SearchQuery.java">
<provider selected="true" editor-type-id="text-editor">
<state line="47" column="10" selection-start="1951" selection-end="1951" vertical-scroll-proportion="0.12563667">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../Test/Test.iws">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="20534" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/google/GoogleSearchBean.java">
<provider selected="true" editor-type-id="text-editor">
<state line="52" column="28" selection-start="2142" selection-end="2142" vertical-scroll-proportion="0.3406193">
<state line="52" column="36" selection-start="2150" selection-end="2150" vertical-scroll-proportion="0.31748727">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/build.properties">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/build.xml">
<provider selected="true" editor-type-id="text-editor">
<state line="12" column="34" selection-start="600" selection-end="600" vertical-scroll-proportion="-4.050934">
<folding />
</state>
</provider>
@ -518,16 +457,6 @@
</component>
<component name="JavadocPlugin.JavadocProjectComponent">
<JavadocEntries>
<JavadocEntry>
<option name="path" value="$PROJECT_DIR$/../../../../jdk1.3.1_08/docs/api/" />
<option name="name" value="C/jdk1.3.1_08/docs/api/" />
<option name="indexed" value="false" />
</JavadocEntry>
<JavadocEntry>
<option name="path" value="$PROJECT_DIR$/../../../jdk1.3.1_08/docs/api/" />
<option name="name" value="C/jdk1.3.1_08/docs/api/" />
<option name="indexed" value="false" />
</JavadocEntry>
<JavadocEntry>
<option name="path" value="$PROJECT_DIR$/../../../jdk1.3.1_09/docs/api/" />
<option name="name" value="C/jdk1.3.1_09/docs/api/" />

64
README-BUILD.txt Normal file
View file

@ -0,0 +1,64 @@
Google Tag Library README (BUILD)
=================================
Overview
========
This README file describes the Google Tag Library source distribution.
With the Google JSP Tag Library, developers and designers can easily
incorporate Google queries, search results, cached pages and spelling
suggestions into any web site or application.
For more information about using the custom tag library in your own web
applications, point your browser to:
http://google-taglib.sourceforge.net/
See the "LICENSE.txt" file for licensing details.
The Google Tag Library uses the Google Web APIs, but is not associated with
or sponsored by Google, Inc.
Google Web APIs
===============
The Google Web APIs Java library is required in order to build the Google
Tag Library. The library's JAR file (googleapi.jar) should be placed into
the lib directory.
http://www.google.com/apis/download.html
Building the Source
===================
The Google Tag Library is built using Ant.
http://ant.apache.org/
To build the JAR, to do the following:
ant
To build the TLDs, do the following:
ant tlds
To build the release archives, do the following:
ant release
To build the Examples WAR, do the following:
ant examples
To list all available build targets, do the following:
ant -projecthelp
===========================================================================
$Id$

View file

@ -1,5 +1,5 @@
# Version
version=1.0
version=1.0.1
# Project
project.name=google
@ -12,13 +12,28 @@ dist.dir=dist
lib.dir=lib
tlds.dir=tlds
licenses.dir=licenses
war.dir=${project.name}-examples
# Examples
ex.dir=${project.name}-examples
# Source
src.excludes=${lib.dir}/googleapi.jar
# TagUnit
unit.lib=tagunit.jar
unit.dir=${project.name}-tagunit
# Javadoc
javadoc.dir=javadoc
javadoc.title=Google Tag Library
javadoc.packages=net.thauvin.google.*
# TLDDoc
tlddoc.dir=tlddoc
# Docs
doc.dir=htdocs
doc.license=LICENSE.txt
doc.readme=README.txt
doc.readme=README.txt
doc.src=README-BUILD.txt
doc.changes=CHANGES.txt

181
build.xml Normal file
View file

@ -0,0 +1,181 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="google" default="jar" basedir=".">
<description>Google Tag Library</description>
<!-- Load the properties -->
<property file="build.properties"/>
<!-- Build Locations -->
<property name="build.library" value="${build.dir}/${project.name}"/>
<property name="build.ex" value="${build.dir}/${ex.dir}"/>
<property name="build.unit" value="${build.dir}/${unit.dir}"/>
<property name="build.release" value="${build.dir}/${release.name}"/>
<!-- Jar excludes directories and files -->
<patternset id="jar.excludes">
<exclude name="**/*.java"/>
<exclude name="**/*.xml"/>
<exclude name="**/*.html"/>
<exclude name="**/.dependency-info/**"/>
</patternset>
<!-- Classpath -->
<path id="classpath">
<pathelement location="."/>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
</fileset>
</path>
<!-- Prepare target -->
<target name="prepare">
<mkdir dir="${build.dir}"/>
<mkdir dir="${dist.dir}"/>
<mkdir dir="${javadoc.dir}"/>
<mkdir dir="${tlddoc.dir}"/>
</target>
<!-- Compile target -->
<target name="compile" depends="prepare" description="Compiles sources">
<mkdir dir="${build.library}"/>
<javac srcdir="${src.dir}" destdir="${build.library}" target="1.1">
<classpath refid="classpath"/>
</javac>
</target>
<!-- JAR target -->
<target name="jar" depends="compile" description="Builds the JAR">
<!-- Create the JAR -->
<jar jarfile="${dist.dir}/${project.name}.jar">
<fileset dir="${build.library}">
<patternset refid="jar.excludes"/>
</fileset>
</jar>
</target>
<!-- TLDs target -->
<target name="tlds" description="Builds the TLDs">
<!-- Copy the TLDs -->
<filter token="version" value="${version}"/>
<copy file="${tlds.dir}/${project.name}.tld" todir="${dist.dir}" filtering="true"/>
<copy file="${tlds.dir}/${project.name}-1.2.tld" todir="${dist.dir}" filtering="true"/>
</target>
<!-- Examples target -->
<target name="examples" depends="jar,tlds" description="Builds the Examples WAR">
<!-- Copy the WAR dir -->
<copy todir="${build.ex}">
<fileset dir="${ex.dir}"/>
</copy>
<!-- Copy the TLD -->
<copy file="${dist.dir}/${project.name}.tld" todir="${build.ex}/WEB-INF"/>
<!-- Copy the license -->
<copy file="${licenses.dir}/${doc.license}" todir="${build.ex}"/>
<!-- Copy the JAR -->
<copy file="${dist.dir}/${project.name}.jar" todir="${build.ex}/WEB-INF/lib/"/>
<!-- Freeze the mod dates -->
<touch>
<fileset dir="${build.ex}"/>
</touch>
<!-- Create the web archive -->
<jar jarfile="${dist.dir}/${ex.dir}-${version}.war" basedir="${build.ex}"/>
</target>
<!-- TagUnit target -->
<target name="tagunit" depends="jar,tlds" description="Builds the TagUnit WAR">
<!-- Copy the WAR dir -->
<copy todir="${build.unit}">
<fileset dir="${unit.dir}"/>
</copy>
<!-- Copy the TLD -->
<copy file="${dist.dir}/${project.name}.tld" todir="${build.unit}/WEB-INF"/>
<!-- Copy the license -->
<copy file="${licenses.dir}/${doc.license}" todir="${build.unit}"/>
<!-- Copy the JAR -->
<copy file="${dist.dir}/${project.name}.jar" todir="${build.unit}/WEB-INF/lib/"/>
<!-- Copy the TagUnit lib -->
<copy file="${lib.dir}/${unit.lib}" todir="${build.unit}/WEB-INF/lib/"/>
<!-- Freeze the mod dates -->
<touch>
<fileset dir="${build.unit}"/>
</touch>
<!-- Create the web archive -->
<jar jarfile="${dist.dir}/${unit.dir}-${version}.war" basedir="${build.unit}"/>
</target>
<!-- Release target -->
<target name="release" depends="jar,tlds" description="Builds the release archives">
<mkdir dir="${build.release}"/>
<!-- Copy the TLD -->
<filter token="version" value="${version}"/>
<copy file="${tlds.dir}/${project.name}.tld" todir="${build.release}" filtering="true"/>
<!-- Copy the license -->
<copy file="${licenses.dir}/${doc.license}" todir="${build.release}"/>
<!-- Copy the readme -->
<copy file="${doc.readme}" todir="${build.release}"/>
<!-- Copy the changes -->
<copy file="${doc.changes}" todir="${build.release}"/>
<!-- Copy the JAR -->
<copy file="${dist.dir}/${project.name}.jar" todir="${build.release}"/>
<!-- Freeze the mod dates -->
<touch>
<fileset dir="${build.release}"/>
</touch>
<!-- Create the ZIP archive -->
<zip destfile="${dist.dir}/${release.name}.zip" basedir="${build.dir}" includes="${release.name}/**"/>
<!-- Create the TAR archive -->
<tar tarfile="${dist.dir}/${release.name}.tar.gz" compression="gzip">
<tarfileset dir="${build.release}" prefix="${release.name}" mode="644"/>
</tar>
</target>
<!-- Src target -->
<target name="src" description="Builds the source archive">
<!-- Create the TAR archive -->
<tar tarfile="${dist.dir}/${release.name}-src.tar.gz" compression="gzip">
<tarfileset dir="${basedir}" prefix="${release.name}">
<include name="${src.dir}/**"/>
<include name="${tlds.dir}/**"/>
<include name="${lib.dir}/**"/>
<include name="${licenses.dir}/**"/>
<include name="${ex.dir}/**"/>
<include name="${unit.dir}/**"/>
<include name="${doc.readme}"/>
<include name="${doc.changes}"/>
<include name="${doc.src}"/>
<include name="${doc.dir}/**"/>
<include name="build.*"/>
<exclude name="${src.excludes}"/>
</tarfileset>
</tar>
</target>
<!-- Javadoc target -->
<target name="javadoc" depends="prepare" description="Builds the Javadoc">
<delete quiet="true" includeEmptyDirs="true">
<fileset dir="${javadoc.dir}" includes="*,*/**"/>
</delete>
<javadoc sourcepath="${src.dir}" destdir="${javadoc.dir}" packagenames="${javadoc.packages}" windowtitle="${javadoc.title}" verbose="false" failonerror="true" additionalparam="-breakiterator -tag created:Xt:&quot;Created:&quot;">
<classpath refid="classpath"/>
</javadoc>
</target>
<!-- TLDDoc target -->
<target name="tlddoc" depends="prepare,tlds" description="Builds the TLD documentation">
<delete quiet="true" includeEmptyDirs="true">
<fileset dir="${tlddoc.dir}" includes="*,*/**"/>
</delete>
<java jar="${lib.dir}/tlddoc.jar" failonerror="true" fork="true">
<arg line="-windowtitle &quot;${javadoc.title}&quot; -doctitle &quot;${javadoc.title}&quot; -d ${tlddoc.dir} ${dist.dir}/${project.name}-1.2.tld"/>
</java>
</target>
<!-- DocCheck target -->
<target name="doccheck" depends="prepare" description="Checks the Javadoc">
<delete quiet="true" includeEmptyDirs="true">
<fileset dir="${javadoc.dir}" includes="*,*/**"/>
</delete>
<javadoc sourcepath="${src.dir}" packagenames="${javadoc.packages}" destdir="${javadoc.dir}" verbose="false" failonerror="true" doclet="com.sun.tools.doclets.doccheck.DocCheck" docletpath="${lib.dir}/doccheck.jar">
<classpath refid="classpath"/>
</javadoc>
</target>
<!-- Clean Build target -->
<target name="clean-build" description="Cleans the build directory">
<delete quiet="true" includeEmptyDirs="true">
<fileset dir="${build.dir}" includes="*,*/**"/>
</delete>
<mkdir dir="${build.library}"/>
</target>
<!-- Clean target -->
<target name="clean" depends="clean-build" description="Cleans the build and dist directories">
<delete quiet="true" includeEmptyDirs="true">
<fileset dir="${dist.dir}" includes="*,*/**"/>
</delete>
</target>
</project>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>google-tagunit</display-name>
<description>This webapp is a starting point for testing the Google Tag Library.</description>
<servlet>
<servlet-name>TagUnitTestController</servlet-name>
<servlet-class>org.tagunit.controller.FrontController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TagUnitTestController</servlet-name>
<url-pattern>/test/servlet/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>

16
google-tagunit/index.html Normal file
View file

@ -0,0 +1,16 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Set Google Key</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<!--
Copyright (c) 2002-2003, Erik C. Thauvin
All rights reserved.
-->
<body bgcolor="#FFFFFF" text="#000000">
<form action="index.jsp" method="post">
<input size="35" name="key" value="">&nbsp;<input type="submit" value="Set Google Key" name="btnG">
</form>
</body>
</html>

20
google-tagunit/index.jsp Normal file
View file

@ -0,0 +1,20 @@
<%
// Copyright (c) 2002-2003, Erik C. Thauvin
// All rights reserved.
String key = request.getParameter("key");
if ((key != null)&& (key.trim().length() > 0))
{
pageContext.setAttribute("google_key", key, PageContext.APPLICATION_SCOPE);
%>
<jsp:forward page="test/servlet/RunTests?uri=/test/google/index.jsp"/>
<%
}
else
{
%>
<%@include file="index.html"%>
<%
}
%>

View file

@ -0,0 +1,19 @@
<%@ page isErrorPage="true" %>
<%@ taglib uri="http://www.tagunit.org/tagunit/display" prefix="tagunit" %>
<html>
<head>
<title>TagUnit - Error</title>
<tagunit:base/>
<link rel="stylesheet" href="page.css">
</head>
<body>
<h2>Oops, there has been a problem...</h2>
<pre><%= org.tagunit.util.ExceptionUtils.getStackTraceAsString(exception) %></pre>
</body>
</html>

View file

@ -0,0 +1,5 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertBodyContent name="JSP"/>
<tagunit:assertAttribute name="key" required="false" rtexprvalue="true"/>

View file

@ -0,0 +1,6 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertAttribute name="name" required="true" rtexprvalue="true"/>
<tagunit:assertAttribute name="target" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="style" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="css" required="false" rtexprvalue="true"/>

View file

@ -0,0 +1,3 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertNoAttributes/>

View file

@ -0,0 +1,3 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertNoAttributes/>

View file

@ -0,0 +1,7 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:testTagLibrary uri="/test/google">
<tagunit:tagLibraryDescriptor uri="/WEB-INF/google.tld"/>
</tagunit:testTagLibrary>

View file

@ -0,0 +1,7 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertBodyContent name="JSP"/>
<tagunit:assertAttribute name="target" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="style" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="css" required="false" rtexprvalue="true"/>

View file

@ -0,0 +1,7 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertBodyContent name="JSP"/>
<tagunit:assertAttribute name="target" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="style" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="css" required="false" rtexprvalue="true"/>

View file

@ -0,0 +1,14 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertBodyContent name="JSP"/>
<tagunit:assertAttribute name="key" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="start" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="maxResults" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="filter" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="restrict" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="safeSearch" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="lr" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="cache" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="site" required="false" rtexprvalue="true"/>
<tagunit:assertAttribute name="type" required="false" rtexprvalue="true"/>

View file

@ -0,0 +1,3 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertNoAttributes/>

View file

@ -0,0 +1,5 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertBodyContent name="empty"/>
<tagunit:assertAttribute name="type" required="false" rtexprvalue="true"/>

View file

@ -0,0 +1,5 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertBodyContent name="JSP"/>
<tagunit:assertNoAttributes/>

View file

@ -0,0 +1,3 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertNoAttributes/>

View file

@ -0,0 +1,3 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertNoAttributes/>

View file

@ -0,0 +1,5 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertBodyContent name="JSP"/>
<tagunit:assertAttribute name="key" required="false" rtexprvalue="true"/>

View file

@ -0,0 +1,3 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<tagunit:assertNoAttributes/>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 789 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 B

View file

@ -0,0 +1,17 @@
<%@ taglib uri="http://www.tagunit.org/tagunit/core" prefix="tagunit" %>
<%--
Tests for TagUnit tag libraries
-------------------------------
This page contains the tests required to automatically test the basics of
the tag libraries that are a part of the TagUnit framework
--%>
<tagunit:testTagLibrary uri="/test/tagunit">
<tagunit:tagLibraryDescriptor jar="tagunit.jar" name="tagunit-core.tld"/>
</tagunit:testTagLibrary>
<tagunit:testTagLibrary uri="/test/tagunit">
<tagunit:tagLibraryDescriptor jar="tagunit.jar" name="tagunit-display.tld"/>
</tagunit:testTagLibrary>

View file

@ -0,0 +1,45 @@
<html>
<head>
<title>TagUnit</title>
<link rel="stylesheet" href="page.css">
</head>
<body>
<p>
<h1>TagUnit license information</h1>
</p>
<pre>Copyright (c) 2002, Simon Brown
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- 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.
- Neither the name of TagUnit nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS 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 COPYRIGHT OWNER OR 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.</pre>
</body>
</html>

View file

@ -0,0 +1,50 @@
body, p, table, thead, tbody {
font-family: verdana, arial, helvetica;
font-size: 8pt;
font-style: normal;
font-weight: normal;
text-align: left
}
h1 {
font-size: 18pt;
font-weight: bold;
}
h2 {
font-size: 14pt;
font-weight: bold;
}
a:link, a:visited, a:active {
color: #000000;
}
.pass {
color: 00CC00;
}
.warning {
color: FF9900;
}
.fail {
color: #CC0000;
}
.error {
color: #CC0000;
}
.message {
font-size: 8pt;
}
.banner {
font-size: 8pt;
border-top: solid black 2px;
border-right: solid black 2px;
border-bottom: solid black 2px;
border-left: solid black 2px;
color: white;
}

View file

@ -0,0 +1,206 @@
<!--
normal = 6699CC
red = CC0000
warning = CC6600
pass = 00CC00
-->
<%@ page import="org.tagunit.*" %>
<%@ page errorPage="error.jsp" %>
<%
String color = "#6699CC";
TestContextContainer testContext = (TestContextContainer)session.getAttribute(Constants.TEST_CONTEXT);
if (testContext != null && testContext.getStatus().equals(TestContext.PASS)) {
color = "#00CC00";
} else if (testContext != null && testContext.getStatus().equals(TestContext.WARNING)) {
color = "#CC6600";
} else if (testContext != null && (testContext.getStatus().equals(TestContext.FAIL) || testContext.getStatus().equals(TestContext.ERROR))) {
color = "#CC0000";
}
%>
<%@ taglib uri="http://www.tagunit.org/tagunit/display" prefix="tagunit" %>
<html>
<head>
<title>TagUnit - Test Results</title>
<tagunit:base/>
<link rel="stylesheet" href="page.css">
</head>
<body>
<table width="100%" cellpadding="0" cellspacing="2" class="banner">
<tr>
<td width="200">
<a href="../index.jsp"><img src="images/tagunit.gif" alt="Banner image" border="0" /></a></td>
<td bgcolor="<%= color %>" valign="top" align="right">
Version <tagunit:getProperty name="version"/>&nbsp;
</td>
</tr>
</table>
<table width="100%" border="0">
<tr>
<td>
<h2>Test results</h2>
</td>
<td align="right">
<a href="servlet/ViewResults?showPasses=false&showWarnings=true">Hide passes</a>
|
<a href="servlet/ViewResults?showPasses=false&showWarnings=false">Hide warnings</a>
|
<a href="servlet/ViewResults?showPasses=true&showWarnings=true">Show all</a>
<br>
Ignore Warnings -
<a href="servlet/ViewResults?showPasses=true&showWarnings=true&ignoreWarnings=true">Yes</a>
|
<a href="servlet/ViewResults?showPasses=true&showWarnings=true&ignoreWarnings=false">No</a>
</td>
</tr>
</table>
<div align="center">
<br />
<br />
<table>
<tr>
<td>
<table>
<tr height="1">
<td width="64"></td>
<td width="400" bgcolor="#000000"></td>
<td width="32"></td>
</tr>
</table>
<table>
<tr>
<td width="64">
<b>Passes</b>
</td>
<td width="<%= (testContext.getNumberOfPasses()*400)/testContext.getNumberOfTests() %>" bgcolor="#00CC00"></td>
<td width="32">
<jsp:getProperty name="testContext" property="numberOfPasses"/>
</td>
</tr>
</table>
<%
if (!org.tagunit.TagUnitProperties.getInstance().getIgnoreWarnings()) {
%>
<table>
<tr>
<td width="64">
<b>Warnings</b>
</td>
<td width="<%= (testContext.getNumberOfWarnings()*400)/testContext.getNumberOfTests() %>" bgcolor="#CC6600"></td>
<td width="32">
<jsp:getProperty name="testContext" property="numberOfWarnings"/>
</td>
</tr>
</table>
<%
}
%>
<table>
<tr>
<td width="64">
<b>Failures</b>
</td>
<td width="<%= (testContext.getNumberOfFailures()*400)/testContext.getNumberOfTests() %>" bgcolor="#CC0000"></td>
<td width="32">
<jsp:getProperty name="testContext" property="numberOfFailures"/>
</td>
</tr>
</table>
<table>
<tr>
<td width="64">
<b>Errors</b>
</td>
<td width="<%= (testContext.getNumberOfErrors()*400)/testContext.getNumberOfTests() %>" bgcolor="#CC0000"></td>
<td width="32">
<jsp:getProperty name="testContext" property="numberOfErrors"/>
</td>
</tr>
</table>
<table>
<tr height="1">
<td width="64"></td>
<td width="400" bgcolor="#000000"></td>
<td width="32"></td>
</tr>
</table>
</td>
</tr>
</table>
<br />
<br />
</div>
<table width="100%" border="0">
<tagunit:testResults id="result">
<tagunit:showLevel level="1">
<tr><td colspan="2">&nbsp;</td></tr>
</tagunit:showLevel>
<tr>
<td>
<img src="images/spacer.gif" width="<%= level.intValue()*16 %>" height="1">
<tagunit:hasChildren><b></tagunit:hasChildren>
<%
if (result instanceof org.tagunit.TagTestContext) {
org.tagunit.TagTestContext ttc = (org.tagunit.TagTestContext)result;
out.print("<a name=\"" + ttc.getTagInfo().getName() + "\">");
out.print("<a href=\"servlet/ViewResults?&tag=" + ttc.getTagInfo().getName() + "#" + ttc.getTagInfo().getName() + "\">");
}
%>
<jsp:getProperty name="result" property="name"/>
<%
if (result instanceof org.tagunit.TagTestContext) {
out.print("</a>");
}
%>
<tagunit:hasChildren></b></tagunit:hasChildren>
</td>
<td>
<tagunit:hasChildren><b></tagunit:hasChildren>
<tagunit:pass><span class="pass">Pass</span></tagunit:pass>
<tagunit:warning><span class="warning">Warning</span></tagunit:warning>
<tagunit:failure><span class="fail">Fail</span></tagunit:failure>
<tagunit:error><span class="error">Error</span></tagunit:error>
<tagunit:hasChildren></b></tagunit:hasChildren>
</td>
</tr>
<tagunit:hasMessage>
<tagunit:warning>
<tr><td><span class="warning"><img src="images/spacer.gif" width="<%= level.intValue()*24 %>" height="1">Warning : <tagunit:filter><jsp:getProperty name="result" property="message"/></tagunit:filter></span></td><td>&nbsp;</td></tr>
</tagunit:warning>
<tagunit:failure>
<tr><td><span class="fail"><code><img src="images/spacer.gif" width="<%= level.intValue()*24 %>" height="1">Failure : <tagunit:filter><jsp:getProperty name="result" property="message"/></tagunit:filter></code></span></td><td>&nbsp;</td></tr>
</tagunit:failure>
<tagunit:error>
<tr><td><span class="error"><code><img src="images/spacer.gif" width="<%= level.intValue()*24 %>" height="1">Error : <tagunit:filter><jsp:getProperty name="result" property="message"/></tagunit:filter></code></span></td><td>&nbsp;</td></tr>
</tagunit:error>
</tagunit:hasMessage>
</tagunit:testResults>
</table>
<br />
<br />
<div align="center">
<a href="license.html">License</a>
</div>
</body>
</html>

View file

@ -23,35 +23,39 @@ body,td,font,p,a{font-family:arial,sans-serif}
<table border="0" cellpadding="0" cellspacing="0" width="95%">
<tr>
<td width="143" valign="top">
<p>
<small><br>
&nbsp;&nbsp;<a href="index.html">Overview</a> <br>
&nbsp;&nbsp;<a href="http://sourceforge.net/project/showfiles.php?group_id=90444">Download</a> <br>
&nbsp;&nbsp;<a href="docs.html">Documentation</a> <br>
&nbsp;&nbsp;<a href="howto.html">HowTo</a> <br>
&nbsp;&nbsp;<a href="javadoc/index.html">Javadoc</a> <br>
&nbsp;&nbsp;<a href="tlddoc/index.html">TLD</a><br>
&nbsp;&nbsp;<a href="uml.html">UML</a></br>
<img src="images/yellowarrow.gif" alt="arrow" width="4" height="8"><b>&nbsp;<font color="#cc9900">About</font></b>
</small>
</p>
<img width="145" height="0" alt="">
<p>
<table cellpadding="1" width="120">
<tr>
<td style="background-color: #efefef"><small>
<!-- <div class="sidesearch">
<form action="http://googlesite.google.com/search" method="get">
<div class="sidesearch">
<form action="http://www.thauvin.net/gtlib-search/search.jsp" method="post">
<div align="center">
<font size="-2"><input type="hidden" name="output" value="googleabout"><input type="hidden" name="site" value="googlesite">
<font size="-2">
<i>Find on this site:</i><br>
<input type="text" name="q" size="10"><br><input type="submit" value="Search" name="submit">
<br>
</font>
</div>
</form>
</div> -->
</div>
</small>
</td>
</tr>
</table>
<p>
&nbsp;<a href="http://sourceforge.net/projects/google-taglib"><img src="http://sourceforge.net/sflogo.php?group_id=9044&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo"/></a>
</p>
</td>
<td style="background-color: #cccccc" width="1" valign="top"><img alt="" width="1" height="1"></td>
<td style="background-color: #ffffff" width="10" valign="top"><img alt="" width="1" height="1"></td>
@ -71,11 +75,12 @@ body,td,font,p,a{font-family:arial,sans-serif}
<li>
<a href="http://www.postneo.com/">Matt Croydon</a>
</li>
<!--
<li>
<a href="http://www.dynamicobjects.com/d2r/">Diego Doval</a>
</li>
-->
<li>
<a href="http://www.jroller.com/page/arjunram/">Arjun Ram</a>
</li>
</ul>
</font>
<p>

View file

@ -28,35 +28,38 @@ code {font-size:10pt}
<table border="0" cellpadding="0" cellspacing="0" width="95%">
<tr>
<td width="143" valign="top">
<p>
<small><br>
&nbsp;&nbsp;<a href="index.html">Overview</a> <br>
&nbsp;&nbsp;<a href="http://sourceforge.net/project/showfiles.php?group_id=90444">Download</a> <br>
<img src="images/yellowarrow.gif" alt="arrow" width="4" height="8"><b>&nbsp;<font color="#CC9900">Documentation</font></b>
<br>
<img src="images/yellowarrow.gif" alt="arrow" width="4" height="8"><b>&nbsp;<font color="#CC9900">Documentation</font></b><br>
&nbsp;&nbsp;<a href="howto.html">HowTo</a> <br>
&nbsp;&nbsp;<a href="javadoc/index.html">Javadoc</a> <br>
&nbsp;&nbsp;<a href="tlddoc/index.html">TLD</a><br>
&nbsp;&nbsp;<a href="uml.html">UML</a></br>
&nbsp;&nbsp;<a href="about.html">About</a> </small>
</p>
<img width="145" height="0" alt="">
<p>
<table cellpadding="1" width="120">
<tr>
<td style="background-color: #efefef"><small>
<!-- <div class="sidesearch">
<form action="http://googlesite.google.com/search" method="get">
<div class="sidesearch">
<form action="http://www.thauvin.net/gtlib-search/search.jsp" method="post">
<div align="center">
<font size="-2"><input type="hidden" name="output" value="googleabout"><input type="hidden" name="site" value="googlesite">
<font size="-2">
<i>Find on this site:</i><br>
<input type="text" name="q" size="10"><br><input type="submit" value="Search" name="submit">
<br>
</font>
</div>
</form>
</div> -->
</div>
</small>
</td>
</tr>
</table>
<p>
&nbsp;<a href="http://sourceforge.net/projects/google-taglib"><img src="http://sourceforge.net/sflogo.php?group_id=9044&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo"/></a>
</p>
</td>
<td style="background-color: #cccccc" width="1" valign="top"><img alt="" width="1" height="1"></td>
<td style="background-color: #ffffff" width="10" valign="top"><img alt="" width="1" height="1"></td>
@ -427,13 +430,22 @@ code {font-size:10pt}
<tr>
<td>
<div align="center">
<font size="-1"><b>site</b></font>
<font size="-1"><a name="2_1_site"><b>site</b></a></font>
</div>
</td>
<td><font size="-1">Restricts the search to documents within the specfied
<td><font size="-1">Restricts the search to documents within the specified
site.</font></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
<div align="center">
<font size="-1"><a name="2_1_filetype"><b>type</b></a></font>
</div>
</td>
<td><font size="-1">Specifies the <a href="http://www.google.com/help/faq_filetypes.html">file type</a> to be searched. (e.g.: pdf)</font></td>
<td>&nbsp;</td>
</tr>
</table>
<p>
<font size="-1">For detailed information on the above Google search options,
@ -666,12 +678,9 @@ code {font-size:10pt}
</table>
<p>
<font size="-1">The <code>&lt;google:next/&gt;</code> tag is used to
used to display a link to more search results.<br>
The <code>&lt;google:previous/&gt;</code> tag is used to used to display a link
to previous search results.</font>
<p>
<font size="-1"><strong>Tag Syntax</strong></font>
<p>
@ -730,11 +739,8 @@ code {font-size:10pt}
</tr>
</table>
<p>
<font size="-1"></font> <font size="-1">The <code>&lt;google:searchComments/&gt;</code>
tag is used to
display the comments (if any) included with the current result set.</font>
<font size="-1">The <code>&lt;google:searchComments/&gt;</code>
tag is used to display the comments (if any) included with the current result set.</font>
<p>
<a name="2_8" id="2_8"></a>
@ -746,14 +752,15 @@ code {font-size:10pt}
</tr>
</table>
<p>
<font size="-1"></font> <font size="-1">The <code>&lt;google:searchQuery/&gt;</code>
tag is used to
display the text of the current query.
<font size="-1">The <code>&lt;google:searchQuery/&gt;</code> tag is used to display
the text of the current query.
</font>
<p>
<font size="-1">The specified search keywords (or phrase) are returned by default.
To display the full query (including preset <a href="#2_1_site">site</a> and
<a href="#2_1_filetype">file type</a> options), set the <code>type</code> attribute
to <code>full</a>.</font>
<p>
<a name="2_9" id="2_9"></a>
<table bgcolor="#fff9e4" cellpadding="2" width="100%" border="0">
@ -764,12 +771,9 @@ code {font-size:10pt}
</tr>
</table>
<p>
<font size="-1"></font> <font size="-1">The <code>&lt;google:searchTime/&gt;</code>
tag is used to
display the total server time used to return the search results, measured in
seconds.</font>
<font size="-1">The <code>&lt;google:searchTime/&gt;</code>
tag is used to display the total server time used to return the search results,
measured in seconds.</font>
<p>
<a name="2_10" id="2_10"></a>
@ -781,11 +785,9 @@ code {font-size:10pt}
</tr>
</table>
<p>
<font size="-1"></font> <font size="-1">The <code>&lt;google:searchTips/&gt;</code>
tag is used to
display the tips (if any) included with the current result set.</font>
<font size="-1">The <code>&lt;google:searchTips/&gt;</code>
tag is used to display the tips (if any) included with the current result
set.</font>
</blockquote>
<p>
<a name="cached" id="cached"></a>

View file

@ -27,35 +27,38 @@ body,td,font,.p,a{font-family:arial,sans-serif}
<table border="0" cellpadding="0" cellspacing="0" width="95%">
<tr>
<td width="143" valign="top">
<p>
<small><br>
&nbsp;&nbsp;<a href="index.html">Overview</a> <br>
&nbsp;&nbsp;<a href="http://sourceforge.net/project/showfiles.php?group_id=90444">Download</a> <br>
&nbsp;&nbsp;<a href="docs.html">Documentation</a> <br>
<img src="images/yellowarrow.gif" alt="arrow" width="4" height="8"><b>&nbsp;<font color="#CC9900">HowTo</font></b>
<br>
&nbsp;&nbsp;<a href="javadoc/index.html">Javadoc</a> <br>
<img src="images/yellowarrow.gif" alt="arrow" width="4" height="8"><b>&nbsp;<font color="#CC9900">HowTo</font></b><br>
&nbsp;&nbsp;<a href="javadoc/index.html">Javadoc</a><br>
&nbsp;&nbsp;<a href="tlddoc/index.html">TLD</a><br>
&nbsp;&nbsp;<a href="uml.html">UML</a></br>
&nbsp;&nbsp;<a href="about.html">About</a> </small>
</p>
<img alt="" width="143" height="0">
<p>
<table cellpadding="1" width="120">
<tr>
<td style="background-color: #efefef"><small>
<!-- <div class="sidesearch">
<form action="http://googlesite.google.com/search" method="get">
<div class="sidesearch">
<form action="http://www.thauvin.net/gtlib-search/search.jsp" method="post">
<div align="center">
<font size="-2"><input type="hidden" name="output" value="googleabout"><input type="hidden" name="site" value="googlesite">
<i>Find on this site:</i> <br>
<font size="-2">
<i>Find on this site:</i><br>
<input type="text" name="q" size="10"><br><input type="submit" value="Search" name="submit">
<br>
</font>
</div>
</form>
</div> -->
</div>
</small>
</td>
</tr>
</table>
<p>
&nbsp;<a href="http://sourceforge.net/projects/google-taglib"><img src="http://sourceforge.net/sflogo.php?group_id=9044&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo"/></a>
</p>
</td>
<td style="background-color: #cccccc" width="1" valign="top"><img alt="" width="1" height="1"></td>
<td style="background-color: #ffffff" width="10" valign="top"><img alt="" width="1" height="1"></td>
@ -71,7 +74,7 @@ body,td,font,.p,a{font-family:arial,sans-serif}
</table>
<p>
<font size="-1"><b>&nbsp; &nbsp; 1. <a href="#search">Search &amp; Display the
Results of a Goggle Search</a></b> </font>
Results of a Google Search</a></b> </font>
<blockquote>
<font size="-1">1.1 <a href="#1_1">Create a Search Form </a> <br>
1.2 <a href="#1_2">Create a Result Page</a> <br>
@ -79,7 +82,7 @@ body,td,font,.p,a{font-family:arial,sans-serif}
</blockquote>
<font size="-1">
<p>
<b>&nbsp; &nbsp; 2. <a href="#cached">Display a Page Cached by Goggle</a></b> </font>
<b>&nbsp; &nbsp; 2. <a href="#cached">Display a Page Cached by Google</a></b> </font>
<blockquote>
<font size="-1">2.1 <a href="#2_1">Create a Search From </a> <br>
2.2 <a href="#2_2">Create a Result Page</a> <br>
@ -88,7 +91,7 @@ body,td,font,.p,a{font-family:arial,sans-serif}
<font size="-1">
<p>
</p>
<b>&nbsp; &nbsp; 3. <a href="#spelling">Display a Goggle Spelling Suggestion </a></b></font>
<b>&nbsp; &nbsp; 3. <a href="#spelling">Display a Google Spelling Suggestion </a></b></font>
<blockquote>
<font size="-1">3.1 <a href="#3_1">Create a Search Form</a> <br>
3.2 <a href="#3_2">Create a Result Page </a> <br>

View file

Before

Width:  |  Height:  |  Size: 58 B

After

Width:  |  Height:  |  Size: 58 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 751 B

After

Width:  |  Height:  |  Size: 751 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Before After
Before After

BIN
htdocs/images/jars25.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Before After
Before After

BIN
htdocs/images/uml.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

View file

Before

Width:  |  Height:  |  Size: 100 B

After

Width:  |  Height:  |  Size: 100 B

Before After
Before After

View file

@ -22,36 +22,39 @@ body,td,font,p,a{font-family:arial,sans-serif}
<table border="0" cellpadding="0" cellspacing="0" width="95%">
<tr>
<td width="143" valign="top">
<p>
<small><br>
<img src="images/yellowarrow.gif" alt="arrow" width="4" height="8"><b>&nbsp;<font color="#CC9900">Overview</font></b>
<br>
&nbsp;&nbsp;<a href="http://sourceforge.net/project/showfiles.php?group_id=90444">Download</a> <br>
&nbsp;&nbsp;<a href="docs.html">Documentation</a> <br>
&nbsp;&nbsp;<a href="howto.html">HowTo</a> <br>
&nbsp;&nbsp;<a href="javadoc/index.html">Javadoc</a> <br>
&nbsp;&nbsp;<a href="javadoc/index.html">Javadoc</a><br>
&nbsp;&nbsp;<a href="tlddoc/index.html">TLD</a><br>
&nbsp;&nbsp;<a href="uml.html">UML</a></br>
&nbsp;&nbsp;<a href="about.html">About</a> </small>
</p>
<img alt="" width="143" height="0">
<p>
<table cellpadding="1" width="120">
<tr>
<td style="background-color: #efefef"><small>
<!-- <div class="sidesearch">
<form action="http://googlesite.google.com/search" method="get">
<div class="sidesearch">
<form action="http://www.thauvin.net/gtlib-search/search.jsp" method="post">
<div align="center">
<font size="-2"><input type="hidden" name="output" value="googleabout"><input type="hidden" name="site" value="googlesite">
<i>Find on this site:</i> <br>
<font size="-2">
<i>Find on this site:</i><br>
<input type="text" name="q" size="10"><br><input type="submit" value="Search" name="submit">
<br>
</font>
</div>
</form>
</div> -->
</div>
</small>
</td>
</tr>
</table>
<p>
&nbsp;<a href="http://www.jars.com" target="_blank"><img src="images/jars25.gif" alt="Rated Jars Top 25%" border="0"></a>
<p>
&nbsp;<a href="http://sourceforge.net/projects/google-taglib"><img src="http://sourceforge.net/sflogo.php?group_id=9044&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo"/></a>
</p>
</td>
@ -79,12 +82,8 @@ body,td,font,p,a{font-family:arial,sans-serif}
The <a href="http://sourceforge.net/project/showfiles.php?group_id=90444">download</a> includes the tag library and associated TLD.</font></td>
</tr>
<tr>
<td>&nbsp;
</td>
<td>&nbsp;
</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td style="background-color: #FFEBAE"><font face="arial,sans-serif" size="5"><b>2</b></font></td>
@ -93,12 +92,8 @@ body,td,font,p,a{font-family:arial,sans-serif}
a license key</a>.</font></td>
</tr>
<tr>
<td>&nbsp;
</td>
<td>&nbsp;
</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td style="background-color: #FFEBAE"><font size="5"><b>3</b></font></td>
@ -114,7 +109,7 @@ body,td,font,p,a{font-family:arial,sans-serif}
<tr>
<td>
<div align="center">
<img src="images/duktumbl.gif" width="130" height="80" alt="Google Web APIs" hspace="5">
<img src="images/duktumbl.gif" width="130" height="80" alt="Tumbling Duke" hspace="5">
</div>
</td>
</tr>

View file

@ -22,35 +22,39 @@ body,td,font,p,a{font-family:arial,sans-serif}
<table border="0" cellpadding="0" cellspacing="0" width="95%">
<tr>
<td width="143" valign="top">
<p>
<small><br>
&nbsp;&nbsp;<a href="index.html">Overview</a> <br>
&nbsp;&nbsp;<a href="http://sourceforge.net/project/showfiles.php?group_id=90444">Download</a> <br>
&nbsp;&nbsp;<a href="docs.html">Documentation</a> <br>
&nbsp;&nbsp;<a href="howto.html">HowTo</a> <br>
&nbsp;&nbsp;<a href="javadoc/index.html">Javadoc</a> <br>
&nbsp;&nbsp;<a href="tlddoc/index.html">TLD</a><br>
&nbsp;&nbsp;<a href="uml.html">UML</a></br>
<img src="images/yellowarrow.gif" alt="arrow" width="4" height="8"><b>&nbsp;<font color="#cc9900">About</font></b>
</small>
</p>
<img width="145" height="0" alt="">
<p>
<table cellpadding="1" width="120">
<tr>
<td style="background-color: #efefef"><small>
<!-- <div class="sidesearch">
<form action="http://googlesite.google.com/search" method="get">
<div class="sidesearch">
<form action="http://www.thauvin.net/gtlib-search/search.jsp" method="post">
<div align="center">
<font size="-2"><input type="hidden" name="output" value="googleabout"><input type="hidden" name="site" value="googlesite">
<font size="-2">
<i>Find on this site:</i><br>
<input type="text" name="q" size="10"><br><input type="submit" value="Search" name="submit">
<br>
</font>
</div>
</form>
</div> -->
</div>
</small>
</td>
</tr>
</table>
<p>
&nbsp;<a href="http://sourceforge.net/projects/google-taglib"><img src="http://sourceforge.net/sflogo.php?group_id=9044&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo"/></a>
</p>
</td>
<td style="background-color: #cccccc" width="1" valign="top"><img alt="" width="1" height="1"></td>
<td style="background-color: #ffffff" width="10" valign="top"><img alt="" width="1" height="1"></td>

12
htdocs/uml.html Normal file
View file

@ -0,0 +1,12 @@
<html>
<head>
<link rel="stylesheet" href="includes/google.css">
<title>Google Tag Library: UML</title>
</head>
<body topmargin="2">
<img src="images/uml.jpg" border="0" alt="UML" usemap="#Map">
<map name="Map">
<area shape="rect" coords="67,6,164,16" href="http://www.sparxsystems.com.au/" alt="Enterprise Architect">
</map>
</body>
</html>

BIN
lib/tagunit.jar Normal file

Binary file not shown.

BIN
lib/tlddoc.jar Normal file

Binary file not shown.

View file

@ -0,0 +1,29 @@
Copyright (c) 2002/2003, Simon Brown
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- 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.
- Neither the name of TagUnit nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS 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 COPYRIGHT OWNER OR 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.

3
rss/.cvsignore Normal file
View file

@ -0,0 +1,3 @@
build
dist
*.bat

44
rss/GoogleRSS.iml Normal file
View file

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4" relativePaths="false">
<component name="LvcsConfiguration">
<option name="LOCAL_VCS_ENABLED" value="false" />
<option name="LOCAL_VCS_PURGING_PERIOD" value="259200000" />
</component>
<component name="ModuleRootManager" />
<component name="NewModuleRootManager">
<output url="file://$MODULE_DIR$/build/google-rss" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="jdk" jdkName="1.4.x" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library name="googleapi">
<CLASSES>
<root url="jar://C:/Documents and Settings/erik/My Documents/My Projects/sourceforge/google-taglib/lib/googleapi.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="google">
<CLASSES>
<root url="jar://C:/projects/sourceforge/google-taglib/dist/google.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="servlet">
<CLASSES>
<root url="jar://C:/projects/sourceforge/google-taglib/lib/servlet.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>

93
rss/GoogleRSS.ipr Normal file
View file

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4" relativePaths="false">
<component name="AntConfiguration">
<buildFile url="file://$PROJECT_DIR$/build.xml">
<useEmacsModeOutput value="true" />
<maximumHeapSize value="128" />
<useCustomJdk value="false" />
<useJavaw value="false" />
<includeProjectClasspath value="false" />
<includeParser value="true" />
</buildFile>
</component>
<component name="CodeStyleSettingsManager">
<option name="PER_PROJECT_SETTINGS" />
<option name="USE_PER_PROJECT_SETTINGS" value="false" />
</component>
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<option name="CLEAR_OUTPUT_DIRECTORY" value="false" />
<resourceExtensions>
<entry name=".+\.(properties|xml|html|dtd|tld)" />
<entry name=".+\.(gif|png|jpeg|jpg)" />
</resourceExtensions>
</component>
<component name="DataSourceManager" />
<component name="EntryPointsManager">
<entry_points />
</component>
<component name="ExportToHTMLSettings">
<option name="PRINT_LINE_NUMBERS" value="false" />
<option name="OPEN_IN_BROWSER" value="false" />
<option name="OUTPUT_DIRECTORY" />
</component>
<component name="GUI Designer component loader factory" />
<component name="ImportConfiguration">
<option name="VENDOR" />
<option name="RELEASE_TAG" />
<option name="LOG_MESSAGE" />
<option name="CHECKOUT_AFTER_IMPORT" value="true" />
<option name="KEYWORD_SUBSTITUTION_WRAPPERS" value="" />
</component>
<component name="J2EEManager" />
<component name="JavacSettings">
<option name="DEBUGGING_INFO" value="true" />
<option name="GENERATE_NO_WARNINGS" value="false" />
<option name="DEPRECATION" value="true" />
<option name="ADDITIONAL_OPTIONS_STRING" value="" />
<option name="MAXIMUM_HEAP_SIZE" value="128" />
<option name="USE_GENERICS_COMPILER" value="false" />
</component>
<component name="JavadocGenerationManager">
<option name="OUTPUT_DIRECTORY" />
<option name="OPTION_SCOPE" value="protected" />
<option name="OPTION_HIERARCHY" value="true" />
<option name="OPTION_NAVIGATOR" value="true" />
<option name="OPTION_INDEX" value="true" />
<option name="OPTION_SEPARATE_INDEX" value="true" />
<option name="OPTION_DOCUMENT_TAG_USE" value="true" />
<option name="OPTION_DOCUMENT_TAG_AUTHOR" value="true" />
<option name="OPTION_DOCUMENT_TAG_VERSION" value="true" />
<option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true" />
<option name="OPTION_DEPRECATED_LIST" value="true" />
<option name="OTHER_OPTIONS" />
<option name="HEAP_SIZE" />
<option name="OPEN_IN_BROWSER" value="true" />
</component>
<component name="JikesSettings">
<option name="JIKES_PATH" value="" />
<option name="DEBUGGING_INFO" value="true" />
<option name="DEPRECATION" value="true" />
<option name="GENERATE_NO_WARNINGS" value="false" />
<option name="IS_EMACS_ERRORS_MODE" value="true" />
<option name="ADDITIONAL_OPTIONS_STRING" value="" />
</component>
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/GoogleRSS.iml" filepath="$PROJECT_DIR$/GoogleRSS.iml" />
</modules>
</component>
<component name="ProjectRootManager" version="2" assert-keyword="false" />
<component name="UI designer component loader factory" />
<component name="WebManager">
<option enabled="true" />
</component>
<component name="WebRootContainer">
<root url="file://$PROJECT_DIR$/google-rss-examples" name="google-rss-examples" validate="false" />
</component>
<component name="libraryTable" />
<component name="uidesigner-configuration">
<option name="INSTRUMENT_CLASSES" value="true" />
</component>
</project>

740
rss/GoogleRSS.iws Normal file
View file

@ -0,0 +1,740 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4" relativePaths="false">
<component name="AppServerRunManager" />
<component name="AspectsView" />
<component name="BookmarkManager" />
<component name="CheckinPanelState" />
<component name="Commander">
<leftPanel />
<rightPanel />
<splitter proportion="0.5" />
</component>
<component name="CompilerWorkspaceConfiguration">
<option name="COMPILE_IN_BACKGROUND" value="false" />
<option name="AUTO_SHOW_ERRORS_IN_EDITOR" value="true" />
</component>
<component name="Cvs2Configuration">
<option name="ON_FILE_ADDING" value="0" />
<option name="ON_FILE_REMOVING" value="0" />
<option name="PRUNE_EMPTY_DIRECTORIES" value="true" />
<option name="SHOW_UPDATE_OPTIONS" value="true" />
<option name="SHOW_ADD_OPTIONS" value="true" />
<option name="SHOW_REMOVE_OPTIONS" value="true" />
<option name="MERGING_MODE" value="0" />
<option name="MERGE_WITH_BRANCH1_NAME" value="HEAD" />
<option name="MERGE_WITH_BRANCH2_NAME" value="HEAD" />
<option name="RESET_STICKY" value="false" />
<option name="CREATE_NEW_DIRECTORIES" value="true" />
<option name="DEFAULT_TEXT_FILE_SUBSTITUTION" value="v" />
<option name="PROCESS_UNKNOWN_FILES" value="false" />
<option name="PROCESS_DELETED_FILES" value="false" />
<option name="SHOW_EDIT_DIALOG" value="false" />
<option name="RESERVED_EDIT" value="false" />
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
<option name="SHOW_CHECKOUT_OPTIONS" value="true" />
<option name="CHECKOUT_DATE_OR_REVISION_SETTINGS">
<value>
<option name="BRANCH" value="" />
<option name="DATE" value="" />
<option name="USE_BRANCH" value="false" />
<option name="USE_DATE" value="false" />
</value>
</option>
<option name="UPDATE_DATE_OR_REVISION_SETTINGS">
<value>
<option name="BRANCH" value="" />
<option name="DATE" value="" />
<option name="USE_BRANCH" value="false" />
<option name="USE_DATE" value="false" />
</value>
</option>
<option name="SHOW_CHANGES_REVISION_SETTINGS">
<value>
<option name="BRANCH" value="" />
<option name="DATE" value="" />
<option name="USE_BRANCH" value="false" />
<option name="USE_DATE" value="false" />
</value>
</option>
<option name="SHOW_OUTPUT" value="false" />
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
<option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
<option name="ADD_WATCH_INDEX" value="0" />
<option name="REMOVE_WATCH_INDEX" value="0" />
<option name="UPDATE_KEYWORD_SUBSTITUTION" />
<option name="MAKE_NEW_FILES_READONLY" value="false" />
<option name="PUT_FOCUS_INTO_COMMENT" value="false" />
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
<option name="LAST_COMMIT_MESSAGE" value="" />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="OPTIMIZE_IMPORTS_BEFORE_FILE_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
<option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
<option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
</component>
<component name="DaemonCodeAnalyzer">
<disable_hints />
</component>
<component name="DebuggerManager">
<line_breakpoints />
<exception_breakpoints>
<breakpoint_any>
<option name="NOTIFY_CAUGHT" value="true" />
<option name="NOTIFY_UNCAUGHT" value="true" />
<option name="ENABLED" value="false" />
<option name="SUSPEND_VM" value="true" />
<option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" />
<option name="LOG_MESSAGE" value="" />
<option name="COUNT_FILTER_ENABLED" value="false" />
<option name="COUNT_FILTER" value="0" />
<option name="CONDITION_ENABLED" value="false" />
<option name="CONDITION" value="" />
<option name="CLASS_FILTERS_ENABLED" value="false" />
<option name="INSTANCE_FILTERS_ENABLED" value="false" />
</breakpoint_any>
</exception_breakpoints>
<field_breakpoints />
<method_breakpoints />
</component>
<component name="DebuggerSettings">
<option name="TRACING_FILTERS_ENABLED" value="true" />
<option name="VALUE_LOOKUP_DELAY" value="700" />
<option name="DEBUGGER_TRANSPORT" value="0" />
<option name="FORCE_CLASSIC_VM" value="true" />
<option name="HIDE_DEBUGGER_ON_PROCESS_TERMINATION" value="false" />
<option name="SKIP_SYNTHETIC_METHODS" value="true" />
<option name="SKIP_CONSTRUCTORS" value="false" />
<option name="STEP_THREAD_SUSPEND_POLICY" value="SuspendThread" />
<option name="RUN_HOTSWAP_AFTER_COMPILE" value="RunHotswapAsk" />
<filter>
<option name="PATTERN" value="com.sun.*" />
<option name="ENABLED" value="true" />
</filter>
<filter>
<option name="PATTERN" value="java.*" />
<option name="ENABLED" value="true" />
</filter>
<filter>
<option name="PATTERN" value="javax.*" />
<option name="ENABLED" value="true" />
</filter>
<filter>
<option name="PATTERN" value="org.omg.*" />
<option name="ENABLED" value="true" />
</filter>
<filter>
<option name="PATTERN" value="sun.*" />
<option name="ENABLED" value="true" />
</filter>
<filter>
<option name="PATTERN" value="junit.*" />
<option name="ENABLED" value="true" />
</filter>
<data_representation>
<array_representation qualified_name="java.lang.Object[]" use_class_filters="true">
<option name="NAME" value="Arrays defaults" />
<option name="ENABLED" value="false" />
<label>
<option name="LABEL_EXPRESSION_ENABLED" value="false" />
<option name="SHOW_OBJECTID" value="true" />
<option name="LABEL_EXPRESSION" value="toString()" />
</label>
<children>
<option name="START_INDEX" value="0" />
<option name="END_INDEX" value="500" />
<option name="HIDE_NULL_ARRAY_ELEMENTS" value="false" />
</children>
</array_representation>
<class_representation qualified_name="java.lang.Object" use_class_filters="true">
<option name="NAME" value="Classes defaults" />
<option name="ENABLED" value="false" />
<label>
<option name="LABEL_EXPRESSION_ENABLED" value="false" />
<option name="SHOW_OBJECTID" value="true" />
<option name="LABEL_EXPRESSION" value="toString()" />
</label>
<children>
<option name="CHILDREN_EXPRESSION_ENABLED" value="false" />
<option name="SORT_ASCENDING" value="false" />
<option name="SHOW_SYNTHETICS" value="true" />
<option name="SHOW_STATIC" value="true" />
<option name="SHOW_STATIC_FINAL" value="true" />
<option name="CHILDREN_EXPRESSION" value="" />
</children>
</class_representation>
<primitive_representation>
<option name="NAME" value="Primitives defaults" />
<option name="ENABLED" value="false" />
<option name="SHOW_HEX" value="false" />
</primitive_representation>
<group>
<option name="NAME" value="Alternative collections view" />
<option name="ENABLED" value="false" />
<renderers>
<class_representation qualified_name="java.util.Map$Entry" use_class_filters="true">
<option name="NAME" value="view key and value" />
<option name="ENABLED" value="true" />
<label>
<option name="LABEL_EXPRESSION_ENABLED" value="true" />
<option name="SHOW_OBJECTID" value="true" />
<option name="LABEL_EXPRESSION" value="getKey() + &quot; -&gt; &quot; + getValue()" />
</label>
<children>
<option name="CHILDREN_EXPRESSION_ENABLED" value="true" />
<option name="SORT_ASCENDING" value="false" />
<option name="SHOW_SYNTHETICS" value="false" />
<option name="SHOW_STATIC" value="true" />
<option name="SHOW_STATIC_FINAL" value="false" />
<option name="CHILDREN_EXPRESSION" value="new Object() { Object key = getKey(); Object value = getValue(); }" />
</children>
<filters>
<option name="PATTERN" value="*" />
<option name="ENABLED" value="true" />
</filters>
</class_representation>
<class_representation qualified_name="java.util.Collection" use_class_filters="true">
<option name="NAME" value="view 'size()'" />
<option name="ENABLED" value="true" />
<label>
<option name="LABEL_EXPRESSION_ENABLED" value="true" />
<option name="SHOW_OBJECTID" value="true" />
<option name="LABEL_EXPRESSION" value="&quot;size = &quot; + size()" />
</label>
<filters>
<option name="PATTERN" value="*" />
<option name="ENABLED" value="true" />
</filters>
</class_representation>
<class_representation qualified_name="java.util.Set" use_class_filters="true">
<option name="NAME" value="view 'toArray()'" />
<option name="ENABLED" value="true" />
<children>
<option name="CHILDREN_EXPRESSION_ENABLED" value="true" />
<option name="SORT_ASCENDING" value="false" />
<option name="SHOW_SYNTHETICS" value="false" />
<option name="SHOW_STATIC" value="true" />
<option name="SHOW_STATIC_FINAL" value="false" />
<option name="CHILDREN_EXPRESSION" value="toArray()" />
</children>
<filters>
<option name="PATTERN" value="*" />
<option name="ENABLED" value="true" />
</filters>
</class_representation>
<class_representation qualified_name="java.util.List" use_class_filters="true">
<option name="NAME" value="view 'toArray()'" />
<option name="ENABLED" value="true" />
<children>
<option name="CHILDREN_EXPRESSION_ENABLED" value="true" />
<option name="SORT_ASCENDING" value="false" />
<option name="SHOW_SYNTHETICS" value="false" />
<option name="SHOW_STATIC" value="true" />
<option name="SHOW_STATIC_FINAL" value="false" />
<option name="CHILDREN_EXPRESSION" value="toArray()" />
</children>
<filters>
<option name="PATTERN" value="*" />
<option name="ENABLED" value="true" />
</filters>
</class_representation>
<class_representation qualified_name="java.util.Map" use_class_filters="true">
<option name="NAME" value="view 'entrySet()'" />
<option name="ENABLED" value="true" />
<children>
<option name="CHILDREN_EXPRESSION_ENABLED" value="true" />
<option name="SORT_ASCENDING" value="false" />
<option name="SHOW_SYNTHETICS" value="false" />
<option name="SHOW_STATIC" value="true" />
<option name="SHOW_STATIC_FINAL" value="false" />
<option name="CHILDREN_EXPRESSION" value="entrySet().toArray()" />
</children>
<filters>
<option name="PATTERN" value="*" />
<option name="ENABLED" value="true" />
</filters>
</class_representation>
</renderers>
</group>
<group>
<option name="NAME" value="Type wrappers" />
<option name="ENABLED" value="true" />
<renderers>
<class_representation qualified_name="java.lang.Integer" use_class_filters="true">
<option name="NAME" value="view 'intValue()'" />
<option name="ENABLED" value="true" />
<label>
<option name="LABEL_EXPRESSION_ENABLED" value="true" />
<option name="SHOW_OBJECTID" value="true" />
<option name="LABEL_EXPRESSION" value="intValue()" />
</label>
</class_representation>
<class_representation qualified_name="java.lang.Byte" use_class_filters="true">
<option name="NAME" value="view 'byteValue()'" />
<option name="ENABLED" value="true" />
<label>
<option name="LABEL_EXPRESSION_ENABLED" value="true" />
<option name="SHOW_OBJECTID" value="true" />
<option name="LABEL_EXPRESSION" value="byteValue()" />
</label>
</class_representation>
<class_representation qualified_name="java.lang.Double" use_class_filters="true">
<option name="NAME" value="view 'doubleValue()'" />
<option name="ENABLED" value="true" />
<label>
<option name="LABEL_EXPRESSION_ENABLED" value="true" />
<option name="SHOW_OBJECTID" value="true" />
<option name="LABEL_EXPRESSION" value="doubleValue()" />
</label>
</class_representation>
<class_representation qualified_name="java.lang.Float" use_class_filters="true">
<option name="NAME" value="view 'floatValue()'" />
<option name="ENABLED" value="true" />
<label>
<option name="LABEL_EXPRESSION_ENABLED" value="true" />
<option name="SHOW_OBJECTID" value="true" />
<option name="LABEL_EXPRESSION" value="floatValue()" />
</label>
</class_representation>
<class_representation qualified_name="java.lang.Long" use_class_filters="true">
<option name="NAME" value="view 'longValue()'" />
<option name="ENABLED" value="true" />
<label>
<option name="LABEL_EXPRESSION_ENABLED" value="true" />
<option name="SHOW_OBJECTID" value="true" />
<option name="LABEL_EXPRESSION" value="longValue()" />
</label>
</class_representation>
<class_representation qualified_name="java.lang.Short" use_class_filters="true">
<option name="NAME" value="view 'shortValue()'" />
<option name="ENABLED" value="true" />
<label>
<option name="LABEL_EXPRESSION_ENABLED" value="true" />
<option name="SHOW_OBJECTID" value="true" />
<option name="LABEL_EXPRESSION" value="shortValue()" />
</label>
</class_representation>
</renderers>
</group>
<class_representation qualified_name="java.lang.Object" use_class_filters="true">
<option name="NAME" value="Show 'toString()'" />
<option name="ENABLED" value="false" />
<label>
<option name="LABEL_EXPRESSION_ENABLED" value="true" />
<option name="SHOW_OBJECTID" value="false" />
<option name="LABEL_EXPRESSION" value="toString()" />
</label>
</class_representation>
</data_representation>
</component>
<component name="ErrorTreeViewConfiguration">
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
<option name="HIDE_WARNINGS" value="false" />
</component>
<component name="FileEditorManager" split-orientation="vertical" split-proportion="0.5">
<first-group selected-file="file://$PROJECT_DIR$/src/com/clevercactus/google/taglibs/SearchResults.java">
<entry file="file://$PROJECT_DIR$/LICENSE.txt" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="2" column="19" selection-start="51" selection-end="51" vertical-scroll-proportion="0.055829227">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.txt" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/clevercactus/google/taglibs/SearchResults.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="40" column="26" selection-start="1829" selection-end="1829" vertical-scroll-proportion="0.028619528">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</first-group>
<second-group />
</component>
<component name="HierarchyBrowserManager">
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
<option name="SORT_ALPHABETICALLY" value="false" />
<option name="HIDE_CLASSES_WHERE_METHOD_NOT_IMPLEMENTED" value="false" />
</component>
<component name="InspectionManager">
<option name="AUTOSCROLL_TO_SOURCE" value="false" />
<option name="SPLITTER_PROPORTION" value="0.5" />
<profile name="Default" />
</component>
<component name="J2EEProjectPane" />
<component name="LvcsProjectConfiguration">
<option name="ADD_LABEL_ON_PROJECT_OPEN" value="true" />
<option name="ADD_LABEL_ON_PROJECT_COMPILATION" value="true" />
<option name="ADD_LABEL_ON_FILE_PACKAGE_COMPILATION" value="true" />
<option name="ADD_LABEL_ON_PROJECT_MAKE" value="true" />
<option name="ADD_LABEL_ON_RUNNING" value="true" />
<option name="ADD_LABEL_ON_DEBUGGING" value="true" />
<option name="ADD_LABEL_ON_UNIT_TEST_PASSED" value="true" />
<option name="ADD_LABEL_ON_UNIT_TEST_FAILED" value="true" />
</component>
<component name="PackagesPane" />
<component name="ProjectPane">
<expanded_node url="file://$PROJECT_DIR$" module="GoogleRSS" type="directory" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" splitterProportion="0.5">
<flattenPackages />
<showMembers />
<showLibraryContents />
<flattenPackages />
<hideEmptyPackages />
<showStructure ProjectPane="false" />
<autoscrollToSource />
</navigator>
</component>
<component name="PropertiesComponent">
<property name="MemberChooser.copyJavadoc" value="false" />
<property name="GoToClass.includeLibraries" value="false" />
<property name="MemberChooser.showClasses" value="true" />
<property name="MemberChooser.sorted" value="false" />
<property name="GoToFile.includeJavaFiles" value="false" />
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
</component>
<component name="RunManager">
<option name="SHOW_SETTINGS_BEFORE_RUNNING" value="true" />
<option name="COMPILE_BEFORE_RUNNING" value="true" />
<activeType name="WebApp" />
<configuration name="&lt;template&gt;" type="Application" default="true" selected="false">
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<module name="GoogleRSS" />
</configuration>
<configuration name="&lt;template&gt;" type="Applet" default="true" selected="false">
<module name="" />
<option name="MAIN_CLASS_NAME" />
<option name="HTML_FILE_NAME" />
<option name="HTML_USED" value="false" />
<option name="WIDTH" value="400" />
<option name="HEIGHT" value="300" />
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<option name="VM_PARAMETERS" />
</configuration>
<configuration name="&lt;template&gt;" type="JUnit" default="true" selected="false">
<module name="GoogleRSS" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" />
<option name="VM_PARAMETERS" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ADDITIONAL_CLASS_PATH" />
</configuration>
<configuration name="&lt;template&gt;" type="Remote" default="true" selected="false">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
</configuration>
<configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
<module name="" />
<WebServerIntegration name="" />
<Host>localhost</Host>
<Port>5050</Port>
<LaunchServer>false</LaunchServer>
</configuration>
<configuration name="&lt;template&gt;" type="WebLogic Instance" default="true" selected="false">
<option name="WEBLOGIC_INSTANCE_CONFIGURATION_NAME" />
</configuration>
<configuration name="RSSGenerator" type="Application" default="false" selected="true">
<option name="MAIN_CLASS_NAME" value="com.clevercactus.google.RSSGenerator" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<module name="GoogleRSS" />
</configuration>
<configuration name="Examples" type="WebApp" default="false" selected="true">
<module name="GoogleRSS" />
<WebServerIntegration name="Tomcat 4.0.x Server">
<option name="MAIN_CLASS" value="org.apache.catalina.startup.Bootstrap" />
<option name="TOMCAT_HOME" value="C:/Program Files/Apache Group/Tomcat 4.1" />
<option name="CONFIG_DIRECTORY" value="C:/Program Files/Apache Group/Tomcat 4.1/conf" />
<option name="CONTEXT_PATH" value="/google-examples" />
<option name="VM_ARGUMENTS" value="" />
<option name="INCLUDE_MODULE_CLASSPATH" value="false" />
</WebServerIntegration>
<Host>localhost</Host>
<Port>5050</Port>
<LaunchServer>false</LaunchServer>
</configuration>
</component>
<component name="SelectInManager" />
<component name="StarteamConfiguration">
<option name="SERVER" value="" />
<option name="PORT" value="49201" />
<option name="USER" value="" />
<option name="PASSWORD" value="" />
<option name="PROJECT" value="" />
<option name="VIEW" value="" />
<option name="ALTERNATIVE_WORKING_PATH" value="" />
<option name="PUT_FOCUS_INTO_COMMENT" value="false" />
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
<option name="LAST_COMMIT_MESSAGE" value="" />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="OPTIMIZE_IMPORTS_BEFORE_FILE_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
<option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
<option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
</component>
<component name="StructureViewFactory">
<option name="SORT_MODE" value="0" />
<option name="GROUP_INHERITED" value="true" />
<option name="AUTOSCROLL_MODE" value="true" />
<option name="SHOW_FIELDS" value="true" />
<option name="AUTOSCROLL_FROM_SOURCE" value="false" />
<option name="GROUP_GETTERS_AND_SETTERS" value="true" />
<option name="SHOW_INHERITED" value="false" />
<option name="HIDE_NOT_PUBLIC" value="false" />
</component>
<component name="TodoView" selected-index="0">
<todo-panel id="selected-file">
<are-packages-shown value="false" />
<flatten-packages value="false" />
<is-autoscroll-to-source value="true" />
</todo-panel>
<todo-panel id="all">
<are-packages-shown value="true" />
<flatten-packages value="false" />
<is-autoscroll-to-source value="true" />
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="-4" y="-4" width="1032" height="776" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="8" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="7" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.30816326" order="0" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33026114" order="1" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.2489796" order="1" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33024693" order="8" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="6" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.18673469" order="1" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33026114" order="2" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2" />
<window_info id="CVS File View" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="4" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="sliding" type="sliding" visible="false" weight="0.4" order="0" />
<window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="0" />
<window_info id="Aspects" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
<window_info id="EJB" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="3" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="5" />
</layout>
</component>
<component name="VCS.FileViewConfiguration">
<option name="SELECTED_STATUSES" value="DEFAULT" />
<option name="SELECTED_COLUMNS" value="DEFAULT" />
<option name="SHOW_FILTERS" value="true" />
<option name="CUSTOMIZE_VIEW" value="true" />
<option name="SHOW_FILE_HISTORY_AS_TREE" value="true" />
</component>
<component name="VcsManagerConfiguration">
<option name="ACTIVE_VCS_NAME" value="CVS" />
</component>
<component name="VssConfiguration">
<CheckoutOptions>
<option name="COMMENT" value="" />
<option name="DO_NOT_GET_LATEST_VERSION" value="false" />
<option name="REPLACE_WRITABLE" value="false" />
<option name="RECURSIVE" value="false" />
</CheckoutOptions>
<CheckinOptions>
<option name="COMMENT" value="" />
<option name="KEEP_CHECKED_OUT" value="false" />
<option name="RECURSIVE" value="false" />
</CheckinOptions>
<AddOptions>
<option name="COMMENT" value="" />
<option name="STORE_ONLY_LATEST_VERSION" value="false" />
<option name="CHECK_OUT_IMMEDIATELY" value="false" />
<option name="FILE_TYPE" value="0" />
</AddOptions>
<UndocheckoutOptions>
<option name="MAKE_WRITABLE" value="false" />
<option name="REPLACE_LOCAL_COPY" value="0" />
<option name="RECURSIVE" value="false" />
</UndocheckoutOptions>
<GetOptions>
<option name="REPLACE_WRITABLE" value="0" />
<option name="MAKE_WRITABLE" value="false" />
<option name="RECURSIVE" value="false" />
</GetOptions>
<option name="CLIENT_PATH" value="" />
<option name="SRCSAFEINI_PATH" value="" />
<option name="USER_NAME" value="" />
<option name="PWD" value="" />
<option name="SHOW_CHECKOUT_OPTIONS" value="true" />
<option name="SHOW_ADD_OPTIONS" value="true" />
<option name="VSS_IS_INITIALIZED" value="false" />
<option name="SHOW_UNDOCHECKOUT_OPTIONS" value="true" />
<option name="SHOW_DIFF_OPTIONS" value="true" />
<option name="SHOW_GET_OPTIONS" value="true" />
<option name="REUSE_LAST_COMMENT" value="false" />
<option name="PUT_FOCUS_INTO_COMMENT" value="false" />
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
<option name="LAST_COMMIT_MESSAGE" value="" />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="OPTIMIZE_IMPORTS_BEFORE_FILE_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
<option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
<option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
</component>
<component name="WebViewSettings">
<webview flattenPackages="false" showMembers="false" autoscrollToSource="false" />
</component>
<component name="antWorkspaceConfiguration">
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
<option name="FILTER_TARGETS" value="false" />
<buildFile url="file://$PROJECT_DIR$/build.xml">
<runInBackground value="false" />
<viewClosedWhenNoErrors value="false" />
<treeView value="true" />
<verbose value="true" />
</buildFile>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/tlds/google-rss.tld">
<provider selected="true" editor-type-id="text-editor">
<state line="16" column="23" selection-start="779" selection-end="779" vertical-scroll-proportion="0.7619048">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/build.properties">
<provider selected="true" editor-type-id="text-editor">
<state line="16" column="29" selection-start="257" selection-end="257" vertical-scroll-proportion="0.7619048">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/google-rss-examples/WEB-INF/web.xml">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/google-rss-examples/rss.jsp">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="193" selection-start="193" selection-end="193" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/build.xml">
<provider selected="true" editor-type-id="text-editor">
<state line="90" column="62" selection-start="3459" selection-end="3459" vertical-scroll-proportion="2.562814">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/clevercactus/google/RSSGenerator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="48" column="6" selection-start="1975" selection-end="1975" vertical-scroll-proportion="1.464991">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/clevercactus/google/AtomGenerator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="48" column="6" selection-start="1975" selection-end="1975" vertical-scroll-proportion="0.8330341">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/clevercactus/google/FeedGenerationException.java">
<provider selected="true" editor-type-id="text-editor">
<state line="42" column="6" selection-start="1842" selection-end="1842" vertical-scroll-proportion="0.33213645">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/clevercactus/google/FeedGenerator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="56" column="6" selection-start="2305" selection-end="2305" vertical-scroll-proportion="1.1310593">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/clevercactus/google/FeedGeneratorFactory.java">
<provider selected="true" editor-type-id="text-editor">
<state line="41" column="6" selection-start="1704" selection-end="1704" vertical-scroll-proportion="0.33213645">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/clevercactus/google/GoogleResultsWrapper.java">
<provider selected="true" editor-type-id="text-editor">
<state line="33" column="0" selection-start="1616" selection-end="1616" vertical-scroll-proportion="0.9389587">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/clevercactus/google/GoogleResultsWrapperItem.java">
<provider selected="true" editor-type-id="text-editor">
<state line="33" column="0" selection-start="1616" selection-end="1616" vertical-scroll-proportion="0.49371633">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/LICENSE.txt">
<provider selected="true" editor-type-id="text-editor">
<state line="2" column="19" selection-start="51" selection-end="51" vertical-scroll-proportion="0.055829227">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.txt">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/clevercactus/google/taglibs/SearchResults.java">
<provider selected="true" editor-type-id="text-editor">
<state line="40" column="26" selection-start="1829" selection-end="1829" vertical-scroll-proportion="0.028619528">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>

30
rss/LICENSE.txt Normal file
View file

@ -0,0 +1,30 @@
Google RSS Tag Library License
Copyright (c) 2003-2004, clevercactus ltd.
Copyright (c) 2003-2004, Erik C. Thauvin (erik@thauvin.net)
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list
of conditions and the following disclaimer.
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.
Neither the name of the author nor the names of its contributors may be used to
endorse or promote products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS 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 COPYRIGHT OWNER OR 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.

67
rss/README-BUILD.txt Normal file
View file

@ -0,0 +1,67 @@
Google RSS Tag Library README (BUILD)
=====================================
Overview
========
This README file describes the Google RSS Tag Library source distribution.
The Google RSS Tag Library is an extension to, and thus requires, the
Google Tag Library, which can be found at:
<http://google-taglib.sourceforge.net/>
See the "LICENSE.txt" file for licensing details.
The Google RSS Tag Library uses the Google Web APIs, but is not associated
with or sponsored by Google, Inc.
Google Web APIs
===============
The Google Web APIs Java library is required in order to build the Google
RSS Tag Library. The library's JAR file (googleapi.jar) should be placed
into the lib directory.
http://www.google.com/apis/download.html
Building the Source
===================
The Google RSS Tag Library is intended to be build directly within the
Google Tag Library source tree:
/google-taglib/rss/
The Google RSS Tag Library is built using Ant.
http://ant.apache.org/
To build the JAR, to do the following:
ant
To build the TLD, do the following:
ant tld
To build the release archive, do the following:
ant release
To build the Examples WAR, do the following:
ant examples
To list all available build targets, do the following:
ant -projecthelp
===========================================================================
$Id$

71
rss/README.txt Normal file
View file

@ -0,0 +1,71 @@
Google RSS Tag Library README
=============================
Overview
========
This README file describes the Google RSS Tag Library distribution.
The Google RSS Tag Library is an extension to, and thus requires, the
Google Tag Library, which can be found at:
<http://google-taglib.sourceforge.net/>
See the "LICENSE.txt" file for licensing details.
The Google RSS Tag Library uses the Google Web APIs, but is not associated
with or sponsored by Google, Inc.
Installation
============
The Google RSS Tag Library requires a JSP (1.1 or higher) container, such
as Tomcat.
To use the Google RSS Tag Library, simply copy the library's JAR file
(google-rss.jar) to your application's WEB-INF/lib directory. The Tag Library
Descriptor (google-rss.tld) should be placed in your application's WEB-INF
directory.
You should also modify your web application deployment descriptor (web.xml)
file to map the Google RSS Tag Library TLD URI to its location:
<taglib>
<taglib-uri>/google-rss-taglib</taglib-uri>
<taglib-location>/WEB-INF/google-rss.tld</taglib-location>
</taglib>
TagLib Directive
================
Using the Google RSS Tag Library is easy; you simply need to import it into
your JSP pages using the taglib directive. For instance, you would include
the following line at the top of your JSP page:
<%@taglib uri="/google-rss-taglib" prefix="rss"%>
SearchResults Tag
=================
The <rss:searchResults/> tag is used to display the search results returned
by a Google search (performed using the Google Tag Library) in RSS format.
For example:
<%@ page contentType="text/xml" %>
<%@ taglib uri="/google-taglib" prefix="google" %>
<%@ taglib uri="/google-rss-taglib" prefix="rss" %>
<google:search>my search query</google:search>
<rss:searchResults>
Please refer to the Google Tag Library documentation for detailed information
on performing searches.
===========================================================================
$Id$

30
rss/build.properties Normal file
View file

@ -0,0 +1,30 @@
# Version
version=1.0
# Project
project.name=google-rss
release.name=${project.name}-taglib-${version}
# Google Tag Library
google.dir=..
google.target=jar
google.jar=../dist/google.jar
google.tld=../dist/google.tld
# Locations
src.dir=src
build.dir=build
dist.dir=dist
lib.dir=${google.dir}/lib
tlds.dir=tlds
# Examples
ex.dir=${project.name}-examples
# Source
src.excludes=${lib.dir}/googleapi.jar
# Docs
doc.license=LICENSE.txt
doc.readme=README.txt
doc.src=README-BUILD.txt

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="google" default="jar" basedir=".">
<description>Google Tag Library</description>
<project name="google-rss" default="jar" basedir=".">
<description>Google RSS Tag Library</description>
<!-- Load the properties -->
<property file="build.properties"/>
<!-- Build Locations -->
<property name="build.library" value="${build.dir}/${project.name}"/>
<property name="build.war" value="${build.dir}/${war.dir}"/>
<property name="build.ex" value="${build.dir}/${ex.dir}"/>
<property name="build.release" value="${build.dir}/${release.name}"/>
<!-- Jar excludes directories and files -->
<patternset id="jar.excludes">
@ -17,6 +17,7 @@
<!-- Classpath -->
<path id="classpath">
<pathelement location="."/>
<pathelement location="${google.jar}"/>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
@ -24,14 +25,14 @@
</path>
<!-- Prepare target -->
<target name="prepare">
<ant dir="${google.dir}" inheritAll="false" inheritRefs="false" target="${google.target}"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${dist.dir}"/>
<mkdir dir="${javadoc.dir}"/>
</target>
<!-- Compile target -->
<target name="compile" depends="prepare" description="Compiles sources">
<mkdir dir="${build.library}"/>
<javac srcdir="${src.dir}" destdir="${build.library}" target="1.1">
<javac srcdir="${src.dir}" destdir="${build.library}" target="1.2">
<classpath refid="classpath"/>
</javac>
</target>
@ -44,66 +45,72 @@
</fileset>
</jar>
</target>
<!-- WAR target -->
<target name="war" depends="jar" description="Builds the WAR">
<!-- Copy the WAR dir -->
<copy todir="${build.war}">
<fileset dir="${war.dir}"/>
</copy>
<!-- Copy the TLD -->
<!-- TLD target -->
<target name="tld" description="Builds the TLD">
<!-- Copy the TLDs -->
<filter token="version" value="${version}"/>
<copy file="${tlds.dir}/${project.name}.tld" todir="${build.war}/WEB-INF" filtering="true"/>
<!-- Copy the license -->
<copy file="${licenses.dir}/${doc.license}" todir="${build.war}"/>
<!-- Copy the JAR -->
<copy file="${dist.dir}/${project.name}.jar" todir="${build.war}/WEB-INF/lib/"/>
<!-- Freeze the mod dates -->
<touch>
<fileset dir="${build.war}"/>
</touch>
<!-- Create the web archive -->
<jar jarfile="${dist.dir}/${war.dir}-${version}.war" basedir="${build.war}"/>
<copy file="${tlds.dir}/${project.name}.tld" todir="${dist.dir}" filtering="true"/>
</target>
<!-- Release target -->
<target name="release" depends="jar" description="Builds the release archives">
<target name="release" depends="jar,tld" description="Builds the release archives">
<mkdir dir="${build.release}"/>
<!-- Copy the TLD -->
<filter token="version" value="${version}"/>
<copy file="${tlds.dir}/${project.name}.tld" todir="${build.release}" filtering="true"/>
<!-- Copy the license -->
<copy file="${licenses.dir}/${doc.license}" todir="${build.release}"/>
<!-- Copy the readme -->
<copy file="${doc.readme}" todir="${build.release}"/>
<!-- Copy the license -->
<copy file="${doc.license}" todir="${build.release}"/>
<!-- Copy the JAR -->
<copy file="${dist.dir}/${project.name}.jar" todir="${build.release}"/>
<!-- Freeze the mod dates -->
<touch>
<fileset dir="${build.release}"/>
</touch>
<fileset dir="${build.release}"/>
</touch>
<!-- Create the ZIP archive -->
<zip destfile="${dist.dir}/${release.name}.zip" basedir="${build.release}"/>
<zip destfile="${dist.dir}/${release.name}.zip" basedir="${build.dir}" includes="${release.name}/**"/>
<!-- Create the TAR archive -->
<tar tarfile="${dist.dir}/${release.name}.tar.gz" compression="gzip">
<tarfileset dir="${build.release}" prefix="${release.name}" mode="644"/>
</tar>
<tarfileset dir="${build.release}" prefix="${release.name}" mode="644"/>
</tar>
</target>
<!-- Javadoc target -->
<target name="javadoc" depends="prepare" description="Builds the Javadoc">
<delete quiet="true" includeEmptyDirs="true">
<fileset dir="${javadoc.dir}" includes="*,*/**"/>
</delete>
<javadoc sourcepath="${src.dir}" destdir="${javadoc.dir}" packagenames="${javadoc.packages}" windowtitle="${javadoc.title}" verbose="false" failonerror="true" additionalparam="-breakiterator -tag created:Xt:&quot;Created:&quot;">
<classpath refid="classpath"/>
</javadoc>
<!-- Examples target -->
<target name="examples" depends="jar,tld" description="Builds the Examples WAR">
<!-- Copy the WAR dir -->
<copy todir="${build.ex}">
<fileset dir="${ex.dir}"/>
</copy>
<!-- Copy the TLD -->
<copy file="${dist.dir}/${project.name}.tld" todir="${build.ex}/WEB-INF"/>
<!-- Copy the license -->
<copy file="${doc.license}" todir="${build.ex}"/>
<!-- Copy the JAR -->
<copy file="${dist.dir}/${project.name}.jar" todir="${build.ex}/WEB-INF/lib/"/>
<!-- Copy the Google JAR -->
<copy file="${google.jar}" todir="${build.ex}/WEB-INF/lib/"/>
<!-- Copy the Google TLD -->
<copy file="${google.tld}" todir="${build.ex}/WEB-INF/"/>
<!-- Freeze the mod dates -->
<touch>
<fileset dir="${build.ex}"/>
</touch>
<!-- Create the web archive -->
<jar jarfile="${dist.dir}/${ex.dir}-${version}.war" basedir="${build.ex}"/>
</target>
<!-- DocCheck target -->
<target name="doccheck" depends="prepare" description="Checks the Javadoc">
<delete quiet="true" includeEmptyDirs="true">
<fileset dir="${javadoc.dir}" includes="*,*/**"/>
</delete>
<javadoc sourcepath="${src.dir}" packagenames="${javadoc.packages}" destdir="${javadoc.dir}" verbose="false" failonerror="true" doclet="com.sun.tools.doclets.doccheck.DocCheck" docletpath="${lib.dir}\doccheck.jar">
<classpath refid="classpath"/>
</javadoc>
<!-- Src target -->
<target name="src" description="Builds the source archive">
<!-- Create the TAR archive -->
<tar tarfile="${dist.dir}/${release.name}-src.tar.gz" compression="gzip">
<tarfileset dir="${basedir}" prefix="${release.name}">
<include name="${src.dir}/**"/>
<include name="${tlds.dir}/**"/>
<include name="${ex.dir}/**"/>
<include name="${doc.readme}"/>
<include name="${doc.license}"/>
<include name="${doc.src}"/>
<include name="build.*"/>
</tarfileset>
</tar>
</target>
<!-- Clean Build target -->
<target name="clean-build" description="Cleans the build directory">

View file

@ -0,0 +1,66 @@
Google RSS Tag Library Examples README
======================================
Overview
========
This README file describes the Google RSS Tag Library Examples web
application.
This web application contains a collection of examples demonstrating the
usage of the Google JSP RSS Tag Library. For more information about using
the custom tag library in your own web applications, please refer to the
Google RSS Tag Library documentation.
The Google RSS Tag Library is an extension to the Google Tag Library, which
can be found at:
<http://google-taglib.sourceforge.net/>
See the "LICENSE.txt" file for licensing details.
The Google RSS Tag Library uses the Google Web APIs, but is not associated
with or sponsored by Google, Inc.
Google Web APIs
===============
The Google Web APIs Java library is required in order to use the Examples web
application. The library's JAR file (googleapi.jar) should be placed into the
application's WEB-INF/lib directory.
http://www.google.com/apis/download.html
You must also register with Google (free) in order to obtain a license key.
The license key is required to access Google's Web Services.
https://www.google.com/accounts/NewAccount
Google License Key
==================
The license key can be specified as a context parameter in the web
application deployment descriptor (web.xml) as follows:
<context-param>
<param-name>google_key</param-name>
<param-value>000000000000000000000000</param-value>
</context-param>
The license key can also be temporarily specified from the index page of
the web application.
Examples
========
The following example is included:
- Perform a simple Google RSS search
===========================================================================
$Id$

View file

@ -0,0 +1,42 @@
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>google-rss-examples</display-name>
<description>Google RSS Examples Web Application</description>
<context-param>
<param-name>google_key</param-name>
<param-value/>
<description>The Google Web APIs client authorization key.</description>
</context-param>
<context-param>
<param-name>google_proxy_host</param-name>
<param-value/>
<description>The host to use as an HTTP proxy.</description>
</context-param>
<context-param>
<param-name>google_proxy_port</param-name>
<param-value/>
<description>The port to use as an HTTP proxy.</description>
</context-param>
<context-param>
<param-name>google_proxy_username</param-name>
<param-value/>
<description>The username required for the HTTP proxy.</description>
</context-param>
<context-param>
<param-name>google_proxy_password</param-name>
<param-value/>
<description>The password required for the HTTP proxy.</description>
</context-param>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>/google-taglib</taglib-uri>
<taglib-location>/WEB-INF/google.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/google-rss-taglib</taglib-uri>
<taglib-location>/WEB-INF/google-rss.tld</taglib-location>
</taglib>
</web-app>

View file

@ -0,0 +1,71 @@
<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Google RSS Tag Library Examples</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {font-family:arial,sans-serif}
-->
</style>
</head>
<!--
Copyright (c) 2003-2004, Erik C. Thauvin
All rights reserved.
-->
<body bgcolor="#FFFFFF" text="#000000">
<b><font size="+2">Google RSS Tag Library Examples</font></b>
<p>
This is a collection of examples demonstrating the usage of the <a href="http://google-taglib.sourceforge.net">Google RSS JSP Tag Library</a>.
</p>
<p>
The Google RSS Tag Library is an extension to the <a href="http://google-taglib.sourceforge.net">Google Tag Library</a>.
</p>
<p>
The Google Web APIs Java library is required in order to use the Google RSS Tag
Library. The library's JAR file (<code>googleapi.jar</code>) should be placed
into the application's <code>WEB-INF/lib</code> directory.
</p>
<ul>
<li>
<a href="http://www.google.com/apis/download.html"><b>Download the Google Web
APIs developer's kit</b></a>
</li>
</ul>
<p>
You must also register with Google (free) in order to obtain a license key. The
license key is required to access Google's Web Services.
</p>
<ul>
<li>
<a href="https://www.google.com/accounts/NewAccount"><b>Sign up for a Google
account</b></a>
</ul>
<p>
The license key can be specified as a context parameter in the web application
deployment descriptor (<code>web.xml</code>) as follows:
</p>
<blockquote>
<pre>&lt;context-param&gt;<br> &lt;param-name&gt;google_key&lt;/param-name&gt;<br> &lt;param-value&gt;000000000000000000000000&lt;/param-value&gt;<br>&lt;/context-param&gt;</pre>
</blockquote>
<p>
The license key can also be temporarily specified using the following:
</p>
<ul>
<li>
<a href="key.html"><b>Set the Google Web APIs license key</b></a>
</li>
</ul>
<p>
The included examples will allow you to:
</p>
<ul>
<li> <a href="search.html"><b>Perform a simple Google RSS search</b></a></li>
</ul>
<p>&nbsp;</p>
<p>
<small>The Google RSS Tag Library uses the Google Web APIs, but is not associated with or sponsored by Google, Inc.<br>
Click <a href="LICENSE.txt">here</a> for licensing information.</small>
</p>
</body>
</html>

View file

@ -0,0 +1,16 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Set Google Key</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<!--
Copyright (c) 2002-2004, Erik C. Thauvin
All rights reserved.
-->
<body bgcolor="#FFFFFF" text="#000000">
<form action="key.jsp" method="post">
<input size="35" name="key" value="">&nbsp;<input type="submit" value="Set Google Key" name="btnG">
</form>
</body>
</html>

View file

@ -0,0 +1,21 @@
<%
// Copyright (c) 2002-2004, Erik C. Thauvin
// All rights reserved.
String key = request.getParameter("key");
if ((key != null)&& (key.trim().length() > 0))
{
pageContext.setAttribute("google_key", key, PageContext.APPLICATION_SCOPE);
%>
<%@include file="search.html"%>
<%
}
else
{
%>
<%@include file="key.html"%>
<%
}
%>

View file

@ -0,0 +1 @@
<%@ page contentType="text/xml" %><%@ taglib uri="/google-taglib" prefix="google" %><%@ taglib uri="/google-rss-taglib" prefix="rss" %><google:search/><rss:searchResults/>

View file

@ -0,0 +1,16 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Search Google</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<!--
Copyright (c) 2002-2004, Erik C. Thauvin
All rights reserved.
-->
<body bgcolor="#FFFFFF" text="#000000">
<form action="rss.jsp" method="get">
<input type="hidden" name="maxResults" value="5"><input maxLength="255" size="35" name="q" value="">&nbsp;<input type="submit" value="Google RSS Search" name="btnG">
</form>
</body>
</html>

View file

@ -0,0 +1,222 @@
/*
* Copyright (c) 2003-2004 clevercactus ltd.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 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.
*
* Neither the name of the author nor the names of its contributors may be
* used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND ANY EXPRESS 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 COPYRIGHT OWNER OR
* 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.
*
*/
package com.clevercactus.google;
import org.xml.sax.SAXException;
import java.io.PrintWriter;
import java.util.Date;
/**
* A class that uses JAXP and SAX to print an SearchResults 2.0 feed to a PrintWriter.
* Output of the SearchResults happens as data is added. See the main() method for a
* simple usage example.
*
* @version 1.0, 29/08/2003
* @author Diego Doval
*/
public
class AtomGenerator
extends FeedGenerator
{
/**
* The one and only constructor.
*/
public
AtomGenerator()
{
}
/**
* Prints a valid SearchResults 2.0 header based on the information passed.
*
* @param title feed title
* @param link feed link
* @param description feed description
* @param author feed author (must be an email address)
* @param lastBuildDate the date the feed was built
* @throws FeedGenerationException
*/
public
void
printHeader(String title, String link, String description, String author, Date lastBuildDate)
throws FeedGenerationException
{
try {
String language = "en-us";
String generatorName = "clevercactus atom generator 1.0";
String generatorURL = "http://www.clevercactus.com/google/";
String copyright = "Copyright (c) 2003-2004 clevercactus ltd.";
String authorName = "Diego Doval";
feedAttributes_d.clear();
feedAttributes_d.addAttribute("", "", "version", "", "0.2");
feedAttributes_d.addAttribute("", "", "xmlns", "", "http://purl.org/atom/ns#");
feedAttributes_d.addAttribute("", "", "xml:lang", "", "en");
transformerHandler_d.startElement("","","feed",feedAttributes_d);
feedAttributes_d.clear();
transformerHandler_d.startElement("","","author",feedAttributes_d);
transformerHandler_d.startElement("","","name",feedAttributes_d);
transformerHandler_d.characters(authorName.toCharArray(),0,authorName.length());
transformerHandler_d.endElement("","","name");
transformerHandler_d.endElement("","","author");
feedAttributes_d.clear();
transformerHandler_d.startElement("","","title",feedAttributes_d);
transformerHandler_d.characters(title.toCharArray(),0,title.length());
transformerHandler_d.endElement("","","title");
transformerHandler_d.startElement("","","link",feedAttributes_d);
transformerHandler_d.characters(link.toCharArray(),0,link.length());
transformerHandler_d.endElement("","","link");
transformerHandler_d.startElement("","","tagline", feedAttributes_d);
transformerHandler_d.characters(description.toCharArray(),0,description.length());
transformerHandler_d.endElement("","","tagline");
transformerHandler_d.startElement("","","modified",elementAttributes_d);
String dtString = getAsISO8601String(lastBuildDate);
transformerHandler_d.characters(dtString.toCharArray(),0,dtString.length());
transformerHandler_d.endElement("","","modified");
feedAttributes_d.addAttribute("", "", "name", "", generatorName);
transformerHandler_d.startElement("","","generator", feedAttributes_d);
transformerHandler_d.characters(generatorURL.toCharArray(),0, generatorURL.length());
transformerHandler_d.endElement("","","generator");
feedAttributes_d.clear();
transformerHandler_d.startElement("","","copyright", feedAttributes_d);
transformerHandler_d.characters(copyright.toCharArray(),0,copyright.length());
transformerHandler_d.endElement("","","copyright");
}
catch (SAXException e) {
throw new FeedGenerationException(e);
}
}
/**
* Prints a valid SearchResults 2.0 item based on the information passed.
*
* @param title the entry title
* @param description the entry body/description
* @param link the entry's GUID
* @param date the entry publication date
* @throws FeedGenerationException
*/
public
void
printItem(String title, String description, String link, Date date)
throws FeedGenerationException
{
try {
elementAttributes_d.clear();
transformerHandler_d.startElement("","","entry",elementAttributes_d);
transformerHandler_d.startElement("","","title",elementAttributes_d);
transformerHandler_d.characters(title.toCharArray(),0,title.length());
transformerHandler_d.endElement("","","title");
transformerHandler_d.startElement("","","issued",elementAttributes_d);
String dtString = getAsISO8601String(date);
transformerHandler_d.characters(dtString.toCharArray(),0,dtString.length());
transformerHandler_d.endElement("","","issued");
transformerHandler_d.startElement("","","modified",elementAttributes_d);
transformerHandler_d.characters(dtString.toCharArray(),0,dtString.length());
transformerHandler_d.endElement("","","modified");
transformerHandler_d.startElement("","","created",elementAttributes_d);
transformerHandler_d.characters(dtString.toCharArray(),0,dtString.length());
transformerHandler_d.endElement("","","created");
transformerHandler_d.startElement("","","link",elementAttributes_d);
transformerHandler_d.characters(link.toCharArray(),0,link.length());
transformerHandler_d.endElement("","","link");
transformerHandler_d.startElement("","","id",elementAttributes_d);
transformerHandler_d.characters(link.toCharArray(),0,link.length());
transformerHandler_d.endElement("","","id");
elementAttributes_d.clear();
elementAttributes_d.addAttribute("", "", "type", "", "text/html");
elementAttributes_d.addAttribute("", "", "mode", "", "escaped");
elementAttributes_d.addAttribute("", "", "xml:lang", "", "en");
transformerHandler_d.startElement("","","content",elementAttributes_d);
transformerHandler_d.startCDATA();
transformerHandler_d.characters(description.toCharArray(),0,description.length());
transformerHandler_d.endCDATA();
transformerHandler_d.endElement("","","content");
transformerHandler_d.endElement("","","entry");
}
catch (SAXException e) {
throw new FeedGenerationException(e);
}
}
/**
* Closes the feed's main elements (i.e., "rss" and "channel").
* @throws FeedGenerationException
*/
public
void
close()
throws FeedGenerationException
{
try {
transformerHandler_d.endElement("","","feed");
transformerHandler_d.endDocument();
}
catch (SAXException e) {
throw new FeedGenerationException(e);
}
}
/**
* Simple test to generate a 2.0 feed.
*/
public static
void
main(String[] args)
{
try {
AtomGenerator gen = new AtomGenerator();
gen.init(new PrintWriter(System.out));
gen.printHeader("Test feed", "http://something/", "test feed desc", "test@test.com", new Date());
gen.printItem("Item title 1", "Item <b>desc</b> 1", "http://guid/1234", new Date());
gen.printItem("Item title 2", "Item <b>desc</b> 2", "http://guid/12342", new Date());
gen.close();
}
catch (FeedGenerationException e) {
e.printStackTrace();
}
}
}

View file

@ -0,0 +1,68 @@
/*
* Copyright (c) 2003-2004 clevercactus ltd.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 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.
*
* Neither the name of the author nor the names of its contributors may be
* used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND ANY EXPRESS 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 COPYRIGHT OWNER OR
* 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.
*
*/
package com.clevercactus.google;
/**
* Used to simplify exception handling in the RSSGenerator class. Internal
* Exceptions in that class will be wrapped in an FeedGenerationException.
*
* @version 1.0, 29/08/2003
* @author Diego Doval
*/
public
class FeedGenerationException
extends Exception
{
public
FeedGenerationException()
{
}
public
FeedGenerationException(Throwable cause)
{
super(cause);
}
public
FeedGenerationException(String message)
{
super(message);
}
public
FeedGenerationException(String message, Throwable cause)
{
super(message, cause);
}
}

Some files were not shown because too many files have changed in this diff Show more