You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by hu...@apache.org on 2006/12/20 22:10:13 UTC

svn commit: r489200 [1/4] - in /struts/sandbox/trunk/overdrive/PhoneBook2: ./ Properties/ projects/ projects/Core/ projects/Core/Properties/ projects/Test/ projects/Test/Properties/ projects/src/ projects/src/Properties/ projects/src/client/ projects/s...

Author: husted
Date: Wed Dec 20 13:10:10 2006
New Revision: 489200

URL: http://svn.apache.org/viewvc?view=rev&rev=489200
Log:
Starter layout for VS 2005 PhoneBook2 project, with JSON (Jayrock) and Google Web Tools setup. 

Added:
    struts/sandbox/trunk/overdrive/PhoneBook2/
    struts/sandbox/trunk/overdrive/PhoneBook2/PhoneBook2.csproj
    struts/sandbox/trunk/overdrive/PhoneBook2/PhoneBook2.sln
    struts/sandbox/trunk/overdrive/PhoneBook2/Properties/
    struts/sandbox/trunk/overdrive/PhoneBook2/Properties/AssemblyInfo.cs
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Class1.cs
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.csproj
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.csproj.user
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.resharper.user
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.sln
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.suo   (with props)
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Properties/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Properties/AssemblyInfo.cs
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Class1.cs
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Properties/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Properties/AssemblyInfo.cs
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.csproj
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.resharper.user
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.sln
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Properties/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Properties/AssemblyInfo.cs
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Web Site.csproj
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Web Site.csproj.user
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/client/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/client/website.java
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/Demo.ashx
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/HelloWorld.ashx
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/HelloWorld.html
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/json.js
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/website.html
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/src.sln
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/website.gwt.xml
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/website-compile.cmd
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/website-shell.cmd
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/164EFC80C3677ACFDEDEF6A4AF66FE04.cache.html
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/164EFC80C3677ACFDEDEF6A4AF66FE04.cache.xml
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/174B37857C972F54B63152687D8A7FFC.cache.html
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/174B37857C972F54B63152687D8A7FFC.cache.xml
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/72204518A52416D9AEE1E670AA59DC83.cache.html
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/72204518A52416D9AEE1E670AA59DC83.cache.xml
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/Bin/
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/CD79F874819AA339F6BB2786D042E43F.cache.html
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/CD79F874819AA339F6BB2786D042E43F.cache.xml
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/Default.aspx
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/Default.aspx.cs
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/Demo.ashx
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/HelloWorld.ashx
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/HelloWorld.html
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/Web.Config
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/gwt.js
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/history.html
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/json.js
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/tree_closed.gif   (with props)
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/tree_open.gif   (with props)
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/tree_white.gif   (with props)
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/website.html
    struts/sandbox/trunk/overdrive/PhoneBook2/projects/www/website/website.nocache.html

Added: struts/sandbox/trunk/overdrive/PhoneBook2/PhoneBook2.csproj
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/PhoneBook2.csproj?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/PhoneBook2.csproj (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/PhoneBook2.csproj Wed Dec 20 13:10:10 2006
@@ -0,0 +1,46 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{EB1F252E-0AA5-4485-966D-9D7AAC18AC5E}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>PhoneBook2</RootNamespace>
+    <AssemblyName>PhoneBook2</AssemblyName>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: struts/sandbox/trunk/overdrive/PhoneBook2/PhoneBook2.sln
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/PhoneBook2.sln?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/PhoneBook2.sln (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/PhoneBook2.sln Wed Dec 20 13:10:10 2006
@@ -0,0 +1,84 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "C:\...\website\", "projects\www\website\", "{E7DB67ED-E784-4A1B-9654-B37C25F7B6CE}"
+	ProjectSection(WebsiteProperties) = preProject
+		ProjectReferences = "{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}|PhoneBook2.Core.dll;"
+		Debug.AspNetCompiler.VirtualPath = "/website"
+		Debug.AspNetCompiler.PhysicalPath = "projects\www\website\"
+		Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\website\"
+		Debug.AspNetCompiler.Updateable = "true"
+		Debug.AspNetCompiler.ForceOverwrite = "true"
+		Debug.AspNetCompiler.FixedNames = "false"
+		Debug.AspNetCompiler.Debug = "True"
+		Release.AspNetCompiler.VirtualPath = "/website"
+		Release.AspNetCompiler.PhysicalPath = "projects\www\website\"
+		Release.AspNetCompiler.TargetPath = "PrecompiledWeb\website\"
+		Release.AspNetCompiler.Updateable = "true"
+		Release.AspNetCompiler.ForceOverwrite = "true"
+		Release.AspNetCompiler.FixedNames = "false"
+		Release.AspNetCompiler.Debug = "False"
+		VWDPort = "2350"
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "projects\Core\Core.csproj", "{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "projects\Test\Test.csproj", "{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Web Site", "projects\src\Web Site.csproj", "{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|.NET = Debug|.NET
+		Debug|Any CPU = Debug|Any CPU
+		Debug|Mixed Platforms = Debug|Mixed Platforms
+		Release|.NET = Release|.NET
+		Release|Any CPU = Release|Any CPU
+		Release|Mixed Platforms = Release|Mixed Platforms
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{E7DB67ED-E784-4A1B-9654-B37C25F7B6CE}.Debug|.NET.ActiveCfg = Debug|.NET
+		{E7DB67ED-E784-4A1B-9654-B37C25F7B6CE}.Debug|.NET.Build.0 = Debug|.NET
+		{E7DB67ED-E784-4A1B-9654-B37C25F7B6CE}.Debug|Any CPU.ActiveCfg = Debug|.NET
+		{E7DB67ED-E784-4A1B-9654-B37C25F7B6CE}.Debug|Mixed Platforms.ActiveCfg = Debug|.NET
+		{E7DB67ED-E784-4A1B-9654-B37C25F7B6CE}.Debug|Mixed Platforms.Build.0 = Debug|.NET
+		{E7DB67ED-E784-4A1B-9654-B37C25F7B6CE}.Release|.NET.ActiveCfg = Debug|.NET
+		{E7DB67ED-E784-4A1B-9654-B37C25F7B6CE}.Release|.NET.Build.0 = Debug|.NET
+		{E7DB67ED-E784-4A1B-9654-B37C25F7B6CE}.Release|Any CPU.ActiveCfg = Debug|.NET
+		{E7DB67ED-E784-4A1B-9654-B37C25F7B6CE}.Release|Mixed Platforms.ActiveCfg = Debug|.NET
+		{E7DB67ED-E784-4A1B-9654-B37C25F7B6CE}.Release|Mixed Platforms.Build.0 = Debug|.NET
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Debug|.NET.ActiveCfg = Debug|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Release|.NET.ActiveCfg = Release|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Debug|.NET.ActiveCfg = Debug|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Release|.NET.ActiveCfg = Release|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Debug|.NET.ActiveCfg = Debug|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Release|.NET.ActiveCfg = Release|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

Added: struts/sandbox/trunk/overdrive/PhoneBook2/Properties/AssemblyInfo.cs
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/Properties/AssemblyInfo.cs?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/Properties/AssemblyInfo.cs (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/Properties/AssemblyInfo.cs Wed Dec 20 13:10:10 2006
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("PhoneBook2")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("PhoneBook2")]
+[assembly: AssemblyCopyright("Copyright ©  2006")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("e7d22efd-af8a-4a6c-ab93-3afb71e1c7f7")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Class1.cs
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Class1.cs?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Class1.cs (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Class1.cs Wed Dec 20 13:10:10 2006
@@ -0,0 +1,7 @@
+
+namespace PhoneBook2.Core
+{
+    public class Class1
+    {
+    }
+}

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.csproj
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.csproj?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.csproj (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.csproj Wed Dec 20 13:10:10 2006
@@ -0,0 +1,47 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>PhoneBook2.Core</RootNamespace>
+    <AssemblyName>PhoneBook2.Core</AssemblyName>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Class1.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.csproj.user
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.csproj.user?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.csproj.user (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.csproj.user Wed Dec 20 13:10:10 2006
@@ -0,0 +1,5 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ProjectView>ShowAllFiles</ProjectView>
+  </PropertyGroup>
+</Project>
\ No newline at end of file

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.resharper.user
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.resharper.user?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.resharper.user (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.resharper.user Wed Dec 20 13:10:10 2006
@@ -0,0 +1,27 @@
+<Configuration>
+  <CompletionStatisticsManager />
+  <EditorManager>
+    <RecentFiles>
+      <File id="F65FCC91-C9CB-40CE-87A6-C0CB00F73592/f:Class1.cs" caret="133" visual-x="0" visual-y="0" />
+    </RecentFiles>
+  </EditorManager>
+  <FileStructureView>
+    <AutoScrollToSource>False</AutoScrollToSource>
+    <TrackCaretLocation>False</TrackCaretLocation>
+  </FileStructureView>
+  <NAntValidationSettings>
+    <NAntPath value="" />
+  </NAntValidationSettings>
+  <ReFormatCode>
+    <OptimizeUsings>False</OptimizeUsings>
+    <RemoveRedundantThis>False</RemoveRedundantThis>
+    <ShortenReferences>False</ShortenReferences>
+    <DecorateModifiers>False</DecorateModifiers>
+  </ReFormatCode>
+  <SharedSolutionDisabledTemplatesManager>
+    <DisabledTemplates />
+  </SharedSolutionDisabledTemplatesManager>
+  <UserSolutionDisabledTemplatesManager>
+    <DisabledTemplates />
+  </UserSolutionDisabledTemplatesManager>
+</Configuration>
\ No newline at end of file

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.sln
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.sln?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.sln (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.sln Wed Dec 20 13:10:10 2006
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "Core.csproj", "{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.suo
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.suo?view=auto&rev=489200
==============================================================================
Binary file - no diff available.

Propchange: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Core.suo
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Properties/AssemblyInfo.cs
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Properties/AssemblyInfo.cs?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Properties/AssemblyInfo.cs (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/Core/Properties/AssemblyInfo.cs Wed Dec 20 13:10:10 2006
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Core")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Core")]
+[assembly: AssemblyCopyright("Copyright ©  2006")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("e5f56cab-000a-42bd-9f13-9f50039e3f80")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Class1.cs
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Class1.cs?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Class1.cs (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Class1.cs Wed Dec 20 13:10:10 2006
@@ -0,0 +1,24 @@
+using PhoneBook2.Core;
+using NUnit.Framework;
+
+namespace PhoneBook2.Core
+{
+    [TestFixture]
+    public class Class1Fixture
+    {
+
+        Class1 class1;
+        
+        [SetUp]
+        public void SetUp()
+        {
+            class1 = new Class1();            
+        }
+        
+        [Test]
+        public void Class1Test ()
+        {
+            Assert.IsNotNull(class1,"SetUp failed!");
+        }
+    }
+}

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Properties/AssemblyInfo.cs
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Properties/AssemblyInfo.cs?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Properties/AssemblyInfo.cs (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Properties/AssemblyInfo.cs Wed Dec 20 13:10:10 2006
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Test")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Test")]
+[assembly: AssemblyCopyright("Copyright ©  2006")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("91b59cae-8eba-40d7-b2ae-fc945d16242a")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.csproj
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.csproj?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.csproj (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.csproj Wed Dec 20 13:10:10 2006
@@ -0,0 +1,54 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>PhoneBook2.Core</RootNamespace>
+    <AssemblyName>PhoneBook2.Test</AssemblyName>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="nunit.framework, Version=2.2.0.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" />
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Class1.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Core\Core.csproj">
+      <Project>{F65FCC91-C9CB-40CE-87A6-C0CB00F73592}</Project>
+      <Name>Core</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.resharper.user
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.resharper.user?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.resharper.user (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.resharper.user Wed Dec 20 13:10:10 2006
@@ -0,0 +1,27 @@
+<Configuration>
+  <CompletionStatisticsManager />
+  <EditorManager>
+    <RecentFiles>
+      <File id="C461D986-BC3C-4A48-8B6F-B4EFA47033E6/f:Class1.cs" caret="0" visual-x="0" visual-y="0" />
+    </RecentFiles>
+  </EditorManager>
+  <FileStructureView>
+    <AutoScrollToSource>False</AutoScrollToSource>
+    <TrackCaretLocation>False</TrackCaretLocation>
+  </FileStructureView>
+  <NAntValidationSettings>
+    <NAntPath value="" />
+  </NAntValidationSettings>
+  <ReFormatCode>
+    <OptimizeUsings>False</OptimizeUsings>
+    <RemoveRedundantThis>False</RemoveRedundantThis>
+    <ShortenReferences>False</ShortenReferences>
+    <DecorateModifiers>False</DecorateModifiers>
+  </ReFormatCode>
+  <SharedSolutionDisabledTemplatesManager>
+    <DisabledTemplates />
+  </SharedSolutionDisabledTemplatesManager>
+  <UserSolutionDisabledTemplatesManager>
+    <DisabledTemplates />
+  </UserSolutionDisabledTemplatesManager>
+</Configuration>
\ No newline at end of file

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.sln
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.sln?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.sln (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/Test/Test.sln Wed Dec 20 13:10:10 2006
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test.csproj", "{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C461D986-BC3C-4A48-8B6F-B4EFA47033E6}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Properties/AssemblyInfo.cs
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Properties/AssemblyInfo.cs?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Properties/AssemblyInfo.cs (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Properties/AssemblyInfo.cs Wed Dec 20 13:10:10 2006
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("src")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("src")]
+[assembly: AssemblyCopyright("Copyright ©  2006")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("3fc99961-2fd6-447c-aa52-15767a73562a")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Web Site.csproj
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Web%20Site.csproj?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Web Site.csproj (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Web Site.csproj Wed Dec 20 13:10:10 2006
@@ -0,0 +1,64 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>src</RootNamespace>
+    <AssemblyName>src</AssemblyName>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Jayrock, Version=0.9.8316.0, Culture=neutral">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\local-cache\jayrock\Jayrock.dll</HintPath>
+    </Reference>
+    <Reference Include="Jayrock.Json, Version=0.9.8316.0, Culture=neutral">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\local-cache\jayrock\Jayrock.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="client\website.java" />
+    <Content Include="public\HelloWorld.html" />
+    <Content Include="public\json.js" />
+    <Content Include="public\website.html" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="public\Demo.ashx" />
+    <None Include="public\HelloWorld.ashx" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Web Site.csproj.user
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Web%20Site.csproj.user?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Web Site.csproj.user (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/Web Site.csproj.user Wed Dec 20 13:10:10 2006
@@ -0,0 +1,5 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ProjectView>ShowAllFiles</ProjectView>
+  </PropertyGroup>
+</Project>
\ No newline at end of file

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/client/website.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/client/website.java?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/client/website.java (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/client/website.java Wed Dec 20 13:10:10 2006
@@ -0,0 +1,39 @@
+package client;
+
+import com.google.gwt.core.client.EntryPoint;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.RootPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * Entry point classes define <code>onModuleLoad()</code>.
+ */
+public class website implements EntryPoint {
+
+  /**
+   * This is the entry point method.
+   */
+  public void onModuleLoad() {
+    final Button button = new Button("Click me");
+    final Label label = new Label();
+
+    button.addClickListener(new ClickListener() {
+      public void onClick(Widget sender) {
+        if (label.getText().equals(""))
+          label.setText("Hello World!");
+        else
+          label.setText("");
+      }
+    });
+
+    // Assume that the host HTML has elements defined whose
+    // IDs are "slot1", "slot2".  In a real app, you probably would not want
+    // to hard-code IDs.  Instead, you could, for example, search for all 
+    // elements with a particular CSS class and replace them with widgets.
+    //
+    RootPanel.get("slot1").add(button);
+    RootPanel.get("slot2").add(label);
+  }
+}

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/Demo.ashx
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/Demo.ashx?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/Demo.ashx (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/Demo.ashx Wed Dec 20 13:10:10 2006
@@ -0,0 +1,312 @@
+<%@ WebHandler Class="JayrockWeb.DemoService" Language="C#" %>
+
+namespace JayrockWeb
+{
+    using System;
+    using System.Configuration;
+    using System.Data;
+    using System.Data.SqlClient;
+    using System.Collections;
+    using System.Collections.Specialized;
+    using System.Web;
+    using System.Web.SessionState;
+    using System.Web.UI;
+    using System.Web.UI.WebControls;
+    using System.Drawing;
+    using Jayrock.Json;
+    using Jayrock.JsonRpc;
+    using Jayrock.JsonRpc.Web;
+
+    [ JsonRpcHelp("This is a JSON-RPC service that demonstrates the basic features of the Jayrock library.") ]    
+    public class DemoService : JsonRpcHandler, IRequiresSessionState 
+    {
+        [ JsonRpcMethod("echo", Idempotent = true)]
+        [ JsonRpcHelp("Echoes back the text sent as input.") ]
+        public string Echo(string text)
+        {
+            return text;
+        }
+
+        [ JsonRpcMethod("echoObject", Idempotent = true)]
+        [ JsonRpcHelp("Echoes back the object sent as input.") ]
+        public object EchoOject(object o)
+        {
+            return o;
+        }
+
+        [ JsonRpcMethod("echoArgs", Idempotent = true)]
+        [ JsonRpcHelp("Echoes back the arguments sent as input. This method demonstrates variable number of arguments.") ]
+        public object EchoArgs(params object[] args)
+        {
+            return args;
+        }
+
+        [ JsonRpcMethod("echoAsStrings", Idempotent = true)]
+        [ JsonRpcHelp("Echoes back the arguments as an array of strings. This method demonstrates working with variable number of arguments.") ]
+        public object EchoAsStrings(params object[] args)
+        {
+            string[] strings = new string[args.Length];
+
+            for (int i = 0; i < args.Length; i++)
+            {
+                if (args[i] != null)
+                    strings[i] = args[i].ToString();
+            }
+                
+            return strings;
+        }
+
+        [ JsonRpcMethod("echoGuid", Idempotent = true)]
+        [ JsonRpcHelp("Echoes back the given GUID. This method demonstrates working with an argument typed as System.Guid.") ]
+        public Guid EchoGuid(Guid id)
+        {
+            return id;
+        }
+
+        [ JsonRpcMethod("sum", Idempotent = true)]
+        [ JsonRpcHelp("Return the sum of two integers.") ]
+        [ JsonRpcObsolete("Use the total method instead.") ]
+        public int Sum(int a, int b)
+        {
+            return a + b;
+        }
+        
+        [ JsonRpcMethod("getStringArray", Idempotent = true)]
+        [ JsonRpcHelp("Returns an array of city names. Demonstrates returning a strongly-typed array.") ]
+        public string[] GetCities()
+        {
+            return new string[] { "London", "Zurich", "Paris", "New York" };
+        }
+        
+        [ JsonRpcMethod("now", Idempotent = true)]
+        [ JsonRpcHelp("Returns the local time on the server. Demonstrates how DateTime is returned simply as a string using the ISO 8601 format.") ]
+        public DateTime Now()
+        {
+            return DateTime.Now;
+        }
+
+        [ JsonRpcMethod("newGuid", Idempotent = true)]
+        [ JsonRpcHelp("Generates and returns a GUID as a string.") ]
+        public Guid NewGuid()
+        {
+            return Guid.NewGuid();
+        }
+
+        [ JsonRpcMethod("cookies", Idempotent = true)]
+        [ JsonRpcHelp("Returns the cookie names seen by the server.") ]
+        public HttpCookieCollection Cookies()
+        {
+            return Request.Cookies;
+        }
+        
+        [ JsonRpcMethod("serverVariables", Idempotent = true)]
+        [ JsonRpcHelp("Returns the server variables collection at the server. Demonstrates returning NameValueCollection.") ]
+        public NameValueCollection ServerVariables()
+        {
+            return Request.ServerVariables;
+        }
+
+        [ JsonRpcMethod("getAuthor", Idempotent = true)]
+        [ JsonRpcHelp("Returns information about the author. Demonstrates how a Hashtable from the server is automatically converted into an object on the client-side.") ]
+        public IDictionary GetAuthor()
+        {
+            Hashtable author = new Hashtable();
+            author["FirstName"] = "Atif";
+            author["LastName"] = "Aziz";
+            return author;
+        }
+
+        [ JsonRpcMethod("getCouple", Idempotent = true) ]
+        [ JsonRpcHelp("Returns a server-typed object representing a couple. Demonstrates to returning server-typed objects.")]
+        public Marriage GetCouple()
+        {
+            return new Marriage(
+                new Person("Mickey", "Mouse"),
+                new Person("Minnie", "Mouse"));
+        }
+
+        [ JsonRpcMethod("swapNames", Idempotent = true)]
+        [ JsonRpcHelp("Swaps first and last name of person. Demonstrates receiving and returning a server-typed object.")]
+        public Person SwapPersonNames(Person p)
+        {
+            return p == null ? new Person() : new Person(p.LastName, p.FirstName);
+        }
+
+        [JsonRpcMethod("getDataSet", Idempotent = true)]
+        [ JsonRpcHelp("Returns the Northwind employees as a DataSet.") ]
+        public DataSet GetEmployeeSet()
+        {
+            using (SqlConnection connection = new SqlConnection(ConfigurationSettings.AppSettings["NorthwindConnectionString"]))
+            {
+                SqlDataAdapter a = new SqlDataAdapter();
+                a.SelectCommand = new SqlCommand("SELECT EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath FROM Employees", connection);
+                DataSet ds = new DataSet();
+                a.Fill(ds, "Employee");
+                return ds;
+            }
+        }
+        
+        [ JsonRpcMethod("getDataTable", Idempotent = true)]
+        [ JsonRpcHelp("Returns the Northwind employees as a DataTable.") ]
+        public DataTable GetEmployeeTable()
+        {
+            return GetEmployeeSet().Tables[0];
+        }
+
+        [ JsonRpcMethod("getRowArray", Idempotent = true)]
+        [ JsonRpcHelp("Returns the Northwind employees as an array of DataRow objects.") ]
+        public DataRow[] GetEmployeeRowArray()
+        {
+            return GetEmployeeSet().Tables[0].Select();
+        }
+
+        [ JsonRpcMethod("getRowCollection", Idempotent = true)]
+        [ JsonRpcHelp("Returns the Northwind employees as a DataRowCollection.") ]
+        public DataRowCollection GetEmployeeRows()
+        {
+            return GetEmployeeSet().Tables[0].Rows;
+        }
+
+        [ JsonRpcMethod("getDataView", Idempotent = true)]
+        [ JsonRpcHelp("Returns the Northwind employees as a DataView object.") ]
+        public DataView GetEmployeeView()
+        {
+            return GetEmployeeSet().Tables[0].DefaultView;
+        }
+
+        [ JsonRpcMethod("getFirstDataRow", Idempotent = true)]
+        [ JsonRpcHelp("Returns the first Northwind employee as a DataRow object.") ]
+        public DataRow GetFirstEmployeeRow()
+        {
+            return GetEmployeeSet().Tables[0].Rows[0];
+        }
+
+        [ JsonRpcMethod("getFirstDataRowView", Idempotent = true)]
+        [ JsonRpcHelp("Returns the first Northwind employee as a DataRowView object.") ]
+        public DataRowView GetFirstEmployeeRowView()
+        {
+            return GetEmployeeSet().Tables[0].DefaultView[0];
+        }
+
+        [ JsonRpcMethod("getDropDown", Idempotent = true)]
+        [ JsonRpcHelp("Returns a data-bound DropDownList to the client as HTML.") ]
+        public Control EmployeeDropDown()
+        {
+            DropDownList ddl = new DropDownList();
+            DataSet ds = GetEmployeeSet();
+            ds.Tables[0].Columns.Add("FullName", typeof(string), "FirstName + ' ' + LastName");
+            ddl.DataSource = ds;
+            ddl.DataMember = "Employee";
+            ddl.DataTextField = "FullName";
+            ddl.DataValueField = "EmployeeID";
+            ddl.DataBind();
+            return ddl;
+        }
+        
+        [ JsonRpcMethod("getDataGrid", Idempotent = true)]
+        [ JsonRpcHelp("Returns a data-bound DataGrid to the client as HTML.") ]
+        public Control EmployeeDataGrid()
+        {
+            DataGrid grid = new DataGrid();
+            grid.DataSource = GetEmployeeSet();
+            grid.DataBind();
+            return grid;
+        }
+
+        [ JsonRpcMethod("total", Idempotent = true)]
+        [ JsonRpcHelp("Returns the total of all integers sent in an array.") ]
+        public int Total(int[] values)
+        {
+            int total = 0;
+            
+            if (values != null)
+            {
+                foreach (int value in values)
+                    total += value;
+            }
+            
+            return total;
+        }
+        
+        [ JsonRpcMethod("sleep", Idempotent = true) ]
+        [ JsonRpcHelp("Blocks the request for the specified number of milliseconds (maximum 7 seconds).") ]
+        public void Sleep(int milliseconds)
+        {
+            System.Threading.Thread.Sleep(Math.Min(7000, milliseconds));
+        }
+        
+        [ JsonRpcMethod("throwError", Idempotent = true)]
+        [ JsonRpcHelp("Throws an error if you try to call this method.") ]
+        public void ThrowError()
+        {
+            throw new ApplicationException();
+        }
+
+        [ JsonRpcMethod("format", Idempotent = true)]
+        [ JsonRpcHelp("Formats placeholders in a format specification with supplied replacements. This method demonstrates fixed and variable arguments.") ]
+        public string Format(string format, params object[] args)
+        {
+            return string.Format(format, args);
+        }
+        
+        [ JsonRpcMethod("counter", Idempotent = true)]
+        [ JsonRpcHelp("Increments a counter and returns its new value. Demonstrates use of session state.") ]
+        public int SessionCounter()
+        {
+            int counter = 0;
+            object counterObject = Session["Counter"];
+            if (counterObject != null)
+                counter = (int) counterObject;
+            Session["Counter"] = ++counter;
+            return counter;
+        }
+
+        [ JsonRpcMethod("encode", Idempotent = true)]
+        [ JsonRpcHelp("Returns the bytes of a string in a given encoding that are transmitted as a Base64 string.") ]
+        public byte[] EncodeBytes(string s, string encoding)
+        {
+            return System.Text.Encoding.GetEncoding(encoding).GetBytes(s);
+        }
+
+        [JsonRpcMethod("decode", Idempotent = true)]
+        [JsonRpcHelp("Returns the string from encoded bytes (transmitted as a Base64 string).")]
+        public string DecodeString(byte[] bytes, string encoding)
+        {
+            return System.Text.Encoding.GetEncoding(encoding).GetString(bytes);
+        }
+        
+        //
+        // NOTE: To send and receive typed objects, use public types only 
+        // that have a default constructor. Only public read/write fields
+        // and properties are convert to and from JSON.
+        //
+
+        public class Marriage
+        {
+            public Person Husband;
+            public Person Wife;
+
+            public Marriage() { }
+
+            public Marriage(Person husband, Person wife)
+            {
+                this.Husband = husband;
+                this.Wife = wife;
+            }
+        }
+
+        public class Person
+        {
+            public string FirstName;
+            public string LastName;
+
+            public Person() { }
+
+            public Person(string fn, string ln)
+            {
+                this.FirstName = fn;
+                this.LastName = ln;
+            }
+        }
+    }
+}

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/HelloWorld.ashx
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/HelloWorld.ashx?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/HelloWorld.ashx (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/HelloWorld.ashx Wed Dec 20 13:10:10 2006
@@ -0,0 +1,19 @@
+<%@ WebHandler Class="JayrockWeb.HelloWorld"  Language="C#" %>
+
+namespace JayrockWeb
+{
+    using System;
+    using System.Web;
+    using Jayrock.Json;
+    using Jayrock.JsonRpc;
+    using Jayrock.JsonRpc.Web;
+
+    public class HelloWorld : JsonRpcHandler
+    {
+        [ JsonRpcMethod("greetings") ]
+        public string Greetings()
+        {
+            return "Welcome to Jayrock!";
+        }
+    }
+}
\ No newline at end of file

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/HelloWorld.html
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/HelloWorld.html?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/HelloWorld.html (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/HelloWorld.html Wed Dec 20 13:10:10 2006
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+    <title>Hello Jayrock</title>
+    <script type="text/javascript" src="json.js"></script>
+    <script type="text/javascript" src="helloworld.ashx?proxy"></script>
+    <script type="text/javascript">
+/* <![CDATA[ */
+
+window.onload = function() 
+{
+    var s = new HelloWorld();
+
+    alert("sync:" + s.greetings());
+
+    s.greetings(function(response) { 
+      alert("async:" + response.result) 
+    });
+}
+
+/* ]]> */
+    </script>
+</head>
+<body>
+    <p>This page tests the HelloWorld service with Jayrock.</p>
+</body>

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/json.js
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/json.js?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/json.js (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/json.js Wed Dec 20 13:10:10 2006
@@ -0,0 +1,378 @@
+/*
+Copyright (c) 2005 JSON.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The Software shall be used for Good, not Evil.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+
+/*
+    The global object JSON contains two methods.
+
+    JSON.stringify(value) takes a JavaScript value and produces a JSON text.
+    The value must not be cyclical.
+
+    JSON.parse(text) takes a JSON text and produces a JavaScript value. It will
+    return false if there is an error.
+*/
+var JSON = function () {
+    var m = {
+            '\b': '\\b',
+            '\t': '\\t',
+            '\n': '\\n',
+            '\f': '\\f',
+            '\r': '\\r',
+            '"' : '\\"',
+            '\\': '\\\\'
+        },
+        s = {
+            'boolean': function (x) {
+                return String(x);
+            },
+            number: function (x) {
+                return isFinite(x) ? String(x) : 'null';
+            },
+            string: function (x) {
+                if (/["\\\x00-\x1f]/.test(x)) {
+                    x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) {
+                        var c = m[b];
+                        if (c) {
+                            return c;
+                        }
+                        c = b.charCodeAt();
+                        return '\\u00' +
+                            Math.floor(c / 16).toString(16) +
+                            (c % 16).toString(16);
+                    });
+                }
+                return '"' + x + '"';
+            },
+            object: function (x) {
+                if (x) {
+                    var a = [], b, f, i, l, v;
+                    if (x instanceof Array) {
+                        a[0] = '[';
+                        l = x.length;
+                        for (i = 0; i < l; i += 1) {
+                            v = x[i];
+                            f = s[typeof v];
+                            if (f) {
+                                v = f(v);
+                                if (typeof v == 'string') {
+                                    if (b) {
+                                        a[a.length] = ',';
+                                    }
+                                    a[a.length] = v;
+                                    b = true;
+                                }
+                            }
+                        }
+                        a[a.length] = ']';
+                    } else if (x instanceof Object) {
+                        a[0] = '{';
+                        for (i in x) {
+                            v = x[i];
+                            f = s[typeof v];
+                            if (f) {
+                                v = f(v);
+                                if (typeof v == 'string') {
+                                    if (b) {
+                                        a[a.length] = ',';
+                                    }
+                                    a.push(s.string(i), ':', v);
+                                    b = true;
+                                }
+                            }
+                        }
+                        a[a.length] = '}';
+                    } else {
+                        return;
+                    }
+                    return a.join('');
+                }
+                return 'null';
+            }
+        };
+    return {
+        copyright: '(c)2005 JSON.org',
+        license: 'http://www.crockford.com/JSON/license.html',
+/*
+    Stringify a JavaScript value, producing a JSON text.
+*/
+        stringify: function (v) {
+            var f = s[typeof v];
+            if (f) {
+                v = f(v);
+                if (typeof v == 'string') {
+                    return v;
+                }
+            }
+            return null;
+        },
+/*
+    Parse a JSON text, producing a JavaScript value.
+    It returns false if there is a syntax error.
+*/
+        eval: function (text) {
+            try {
+                if (/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(text)) {
+                    return eval('(' + text + ')');
+                }
+            } catch (e) {
+            }
+            throw new SyntaxError("eval");
+        },
+
+        parse: function (text) {
+            var at = 0;
+            var ch = ' ';
+
+            function error(m) {
+                throw {
+                    name: 'JSONError',
+                    message: m,
+                    at: at - 1,
+                    text: text
+                };
+            }
+
+            function next() {
+                ch = text.charAt(at);
+                at += 1;
+                return ch;
+            }
+
+            function white() {
+                while (ch) {
+                    if (ch <= ' ') {
+                        next();
+                    } else if (ch == '/') {
+                        switch (next()) {
+                            case '/':
+                                while (next() && ch != '\n' && ch != '\r') {}
+                                break;
+                            case '*':
+                                next();
+                                for (;;) {
+                                    if (ch) {
+                                        if (ch == '*') {
+                                            if (next() == '/') {
+                                                next();
+                                                break;
+                                            }
+                                        } else {
+                                            next();
+                                        }
+                                    } else {
+                                        error("Unterminated comment");
+                                    }
+                                }
+                                break;
+                            default:
+                                error("Syntax error");
+                        }
+                    } else {
+                        break;
+                    }
+                }
+            }
+
+            function string() {
+                var i, s = '', t, u;
+
+                if (ch == '"') {
+    outer:          while (next()) {
+                        if (ch == '"') {
+                            next();
+                            return s;
+                        } else if (ch == '\\') {
+                            switch (next()) {
+                            case 'b':
+                                s += '\b';
+                                break;
+                            case 'f':
+                                s += '\f';
+                                break;
+                            case 'n':
+                                s += '\n';
+                                break;
+                            case 'r':
+                                s += '\r';
+                                break;
+                            case 't':
+                                s += '\t';
+                                break;
+                            case 'u':
+                                u = 0;
+                                for (i = 0; i < 4; i += 1) {
+                                    t = parseInt(next(), 16);
+                                    if (!isFinite(t)) {
+                                        break outer;
+                                    }
+                                    u = u * 16 + t;
+                                }
+                                s += String.fromCharCode(u);
+                                break;
+                            default:
+                                s += ch;
+                            }
+                        } else {
+                            s += ch;
+                        }
+                    }
+                }
+                error("Bad string");
+            }
+
+            function array() {
+                var a = [];
+
+                if (ch == '[') {
+                    next();
+                    white();
+                    if (ch == ']') {
+                        next();
+                        return a;
+                    }
+                    while (ch) {
+                        a.push(value());
+                        white();
+                        if (ch == ']') {
+                            next();
+                            return a;
+                        } else if (ch != ',') {
+                            break;
+                        }
+                        next();
+                        white();
+                    }
+                }
+                error("Bad array");
+            }
+
+            function object() {
+                var k, o = {};
+
+                if (ch == '{') {
+                    next();
+                    white();
+                    if (ch == '}') {
+                        next();
+                        return o;
+                    }
+                    while (ch) {
+                        k = string();
+                        white();
+                        if (ch != ':') {
+                            break;
+                        }
+                        next();
+                        o[k] = value();
+                        white();
+                        if (ch == '}') {
+                            next();
+                            return o;
+                        } else if (ch != ',') {
+                            break;
+                        }
+                        next();
+                        white();
+                    }
+                }
+                error("Bad object");
+            }
+
+            function number() {
+                var n = '', v;
+                if (ch == '-') {
+                    n = '-';
+                    next();
+                }
+                while (ch >= '0' && ch <= '9') {
+                    n += ch;
+                    next();
+                }
+                if (ch == '.') {
+                    n += '.';
+                    while (next() && ch >= '0' && ch <= '9') {
+                        n += ch;
+                    }
+                }
+                if (ch == 'e' || ch == 'E') {
+                    n += 'e';
+                    next();
+                    if (ch == '-' || ch == '+') {
+                        n += ch;
+                        next();
+                    }
+                    while (ch >= '0' && ch <= '9') {
+                        n += ch;
+                        next();
+                    }
+                }
+                v = +n;
+                if (!isFinite(v)) {
+                    ////error("Bad number");
+                } else {
+                    return v;
+                }
+            }
+
+            function word() {
+                switch (ch) {
+                    case 't':
+                        if (next() == 'r' && next() == 'u' && next() == 'e') {
+                            next();
+                            return true;
+                        }
+                        break;
+                    case 'f':
+                        if (next() == 'a' && next() == 'l' && next() == 's' &&
+                                next() == 'e') {
+                            next();
+                            return false;
+                        }
+                        break;
+                    case 'n':
+                        if (next() == 'u' && next() == 'l' && next() == 'l') {
+                            next();
+                            return null;
+                        }
+                        break;
+                }
+                error("Syntax error");
+            }
+
+            function value() {
+                white();
+                switch (ch) {
+                    case '{':
+                        return object();
+                    case '[':
+                        return array();
+                    case '"':
+                        return string();
+                    case '-':
+                        return number();
+                    default:
+                        return ch >= '0' && ch <= '9' ? number() : word();
+                }
+            }
+
+            return value();
+        }
+    };
+}();
\ No newline at end of file

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/website.html
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/website.html?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/website.html (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/public/website.html Wed Dec 20 13:10:10 2006
@@ -0,0 +1,60 @@
+<html>
+	<head>
+	
+		<!--                                           -->
+		<!-- Any title is fine                         -->
+		<!--                                           -->
+		<title>Wrapper HTML for website</title>
+
+		<!--                                           -->
+		<!-- Use normal html, such as style            -->
+		<!--                                           -->
+		<style>
+			body,td,a,div,.p{font-family:arial,sans-serif}
+			div,td{color:#000000}
+			a:link,.w,.w a:link{color:#0000cc}
+			a:visited{color:#551a8b}
+			a:active{color:#ff0000}
+		</style>
+
+		<!--                                           -->
+		<!-- The module reference below is the link    -->
+		<!-- between html and your Web Toolkit module  -->		
+		<!--                                           -->
+		<meta name='gwt:module' content='website'>
+		
+	</head>
+
+	<!--                                           -->
+	<!-- The body can have arbitrary html, or      -->
+	<!-- you can leave the body empty if you want  -->
+	<!-- to create a completely dynamic ui         -->
+	<!--                                           -->
+	<body>
+
+		<!--                                            -->
+		<!-- This script is required bootstrap stuff.   -->
+		<!-- You can put it in the HEAD, but startup    -->
+		<!-- is slightly faster if you include it here. -->
+		<!--                                            -->
+		<script language="javascript" src="gwt.js"></script>
+
+		<!-- OPTIONAL: include this if you want history support -->
+		<iframe id="__gwt_historyFrame" style="width:0;height:0;border:0"></iframe>
+
+		<h1>website</h1>
+
+		<p>
+			This is an example of a host page for the website application. 
+			You can attach a Web Toolkit module to any HTML page you like, 
+			making it easy to add bits of AJAX functionality to existing pages 
+			without starting from scratch.
+		</p>
+
+		<table align=center>
+			<tr>
+				<td id="slot1"></td><td id="slot2"></td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/src.sln
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/src.sln?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/src.sln (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/src.sln Wed Dec 20 13:10:10 2006
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "src", "src.csproj", "{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3EE5DA81-D2F4-4134-92E9-E65E27F5E425}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/website.gwt.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/website.gwt.xml?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/website.gwt.xml (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/src/website.gwt.xml Wed Dec 20 13:10:10 2006
@@ -0,0 +1,9 @@
+<module>
+
+	<!-- Inherit the core Web Toolkit stuff.                  -->
+	<inherits name='com.google.gwt.user.User'/>
+
+	<!-- Specify the app entry point class.                   -->
+	<entry-point class='client.website'/>
+  
+</module>

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/website-compile.cmd
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/website-compile.cmd?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/website-compile.cmd (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/website-compile.cmd Wed Dec 20 13:10:10 2006
@@ -0,0 +1 @@
+@java -cp "%~dp0\src;%~dp0\bin;C:/projects/googlecode/gwt/gwt-windows-1.2.22/gwt-user.jar;C:/projects/googlecode/gwt/gwt-windows-1.2.22/gwt-dev-windows.jar" com.google.gwt.dev.GWTCompiler -out "%~dp0\www" %* website
\ No newline at end of file

Added: struts/sandbox/trunk/overdrive/PhoneBook2/projects/website-shell.cmd
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/overdrive/PhoneBook2/projects/website-shell.cmd?view=auto&rev=489200
==============================================================================
--- struts/sandbox/trunk/overdrive/PhoneBook2/projects/website-shell.cmd (added)
+++ struts/sandbox/trunk/overdrive/PhoneBook2/projects/website-shell.cmd Wed Dec 20 13:10:10 2006
@@ -0,0 +1 @@
+@java -cp "%~dp0\src;%~dp0\bin;C:/projects/googlecode/gwt/gwt-windows-1.2.22/gwt-user.jar;C:/projects/googlecode/gwt/gwt-windows-1.2.22/gwt-dev-windows.jar" com.google.gwt.dev.GWTShell -out "%~dp0\www" %* website/website.html
\ No newline at end of file