Recreated 1.4.x branch from 1.4.0 tag.
diff --git a/trunk/Apache.NMS.MSMQ.Test.nunit b/Apache.NMS.MSMQ.Test.nunit
similarity index 100%
rename from trunk/Apache.NMS.MSMQ.Test.nunit
rename to Apache.NMS.MSMQ.Test.nunit
diff --git a/branches/1.2.x/LICENSE.txt b/LICENSE.txt
similarity index 100%
rename from branches/1.2.x/LICENSE.txt
rename to LICENSE.txt
diff --git a/branches/1.2.x/NOTICE.txt b/NOTICE.txt
similarity index 100%
rename from branches/1.2.x/NOTICE.txt
rename to NOTICE.txt
diff --git a/branches/1.2.x/README.txt b/README.txt
similarity index 100%
rename from branches/1.2.x/README.txt
rename to README.txt
diff --git a/branches/1.2.x/Apache.NMS.MSMQ.Test.nunit b/branches/1.2.x/Apache.NMS.MSMQ.Test.nunit
deleted file mode 100644
index 3b29e26..0000000
--- a/branches/1.2.x/Apache.NMS.MSMQ.Test.nunit
+++ /dev/null
@@ -1,7 +0,0 @@
-<NUnitProject>
- <Settings activeconfig="Default" />
- <Config name="Default" binpathtype="Auto">
- <assembly path="Apache.NMS.MSMQ.Test.dll" />
- <assembly path="Apache.NMS.Test.dll" />
- </Config>
-</NUnitProject>
\ No newline at end of file
diff --git a/branches/1.2.x/keyfile/NMSKey.snk b/branches/1.2.x/keyfile/NMSKey.snk
deleted file mode 100644
index fdd5b24..0000000
--- a/branches/1.2.x/keyfile/NMSKey.snk
+++ /dev/null
Binary files differ
diff --git a/branches/1.2.x/nant-common.xml b/branches/1.2.x/nant-common.xml
deleted file mode 100644
index c5797dc..0000000
--- a/branches/1.2.x/nant-common.xml
+++ /dev/null
@@ -1,602 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<project xmlns="http://nant.sourceforge.net/release/0.85/nant.xsd">
-
- <!-- ============================================================================================ -->
- <!-- P R O P E R T Y D E F I N I T I O N S -->
- <!-- ============================================================================================ -->
-
- <!-- global project settings -->
- <property name="project.cls.compliant" value="true" unless="${property::exists('project.cls.compliant')}" />
- <property name="project.release.type" value="SNAPSHOT" unless="${property::exists('project.release.type')}" />
- <property name="project.version.full" value="${project.version + if(project.release.type == 'snapshot', '-' + project.release.type, '')}" dynamic="true" />
- <property name="project.startyear" value="2005" />
- <property name="build.dir" value="${basedir}/build" />
- <property name="doc.dir" value="${build.dir}/doc" />
- <property name="lib.dir" value="${path::combine(basedir, 'lib')}" dynamic="true" />
- <property name="lib.family.dir" value="${path::combine(lib.dir, framework::get-family(framework::get-target-framework()))}" dynamic="true" />
- <property name="lib.framework.dir" value="${path::combine(lib.family.dir, version::to-string(framework::get-version(framework::get-target-framework())))}" dynamic="true" />
-
- <!-- default configuration -->
- <property name="build.defines" value="" />
- <property name="build.noskip" value="false" />
- <property name="build.skip" value="false" />
- <property name="build.skip.release" value="false" unless="${property::exists('build.skip.release')}" />
- <property name="compile.skip" value="false" unless="${property::exists('compile.skip')}" />
- <property name="current.build.config" value="${if(project.release.type == 'release', 'release', 'debug')}" overwrite="false" />
- <property name="current.build.framework" value="${framework::get-target-framework()}" overwrite="false" />
- <property name="current.build.defines" value="${build.defines}" />
- <property name="build.framework.strings" value="net-2.0,net-3.5,mono-2.0,netcf-2.0" unless="${property::exists('build.framework.strings')}"/>
- <property name="current.build.framework.assembly.dir" value="${framework::get-assembly-directory(framework::get-target-framework())}" dynamic="true" />
-
- <property name="build.config.strings" value="${if(property::exists('configuration'), configuration, if(build.skip.release == 'true', 'debug', 'debug,release'))}" dynamic="true" />
-
- <!-- Figure out the user's HOME directory -->
- <property name="user.home" value="${environment::get-variable('HOME')}"
- if="${environment::variable-exists('HOME') and platform::is-unix()}"
- unless="${property::exists('user.home')}" />
- <property name="user.home" value="${environment::get-variable('USERPROFILE')}"
- if="${environment::variable-exists('USERPROFILE') and platform::is-windows()}"
- unless="${property::exists('user.home')}" />
- <fail message="The HOME environment variable is not defined. Please set it to your home directory."
- unless="${property::exists('user.home')}" if="${platform::is-unix()}" />
- <fail message="The USERPROFILE environment variable is not defined. Please set it to your home directory."
- unless="${property::exists('user.home')}" if="${platform::is-windows()}" />
-
- <!-- Figure out the NANT repositories -->
- <property name="nant.remote.repo" value="${environment::get-variable('NANT_REMOTE_REPO')}"
- if="${environment::variable-exists('NANT_REMOTE_REPO')}"
- unless="${property::exists('nant.remote.repo')}" />
- <property name="nant.local.repo" value="${environment::get-variable('NANT_REPO')}/local"
- if="${environment::variable-exists('NANT_REPO')}"
- unless="${property::exists('nant.local.repo')}" />
- <property name="nant.local.repo" value="${user.home}/.nant/repository/local"
- unless="${property::exists('nant.local.repo')}" />
-
- <!-- Figure out the keyfile location -->
- <property name="snk.file" value="${environment::get-variable('ACTIVEMQ_DOTNET_SNK')}"
- if="${environment::variable-exists('ACTIVEMQ_DOTNET_SNK')}"
- unless="${property::exists('snk.file')}" />
- <property name="snk.file" value="${basedir}/keyfile/NMSKey.snk"
- if="${not property::exists('snk.file')}" />
-
- <!-- ============================================================================================ -->
- <!-- I N I T I A L I Z A T I O N T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="init" description="Initializes build properties">
- <!-- enabled the release or debug configuration -->
- <call target="set-${current.build.config}-configuration" />
-
- <!-- Check to see if our build setup for the target framework -->
- <if test="${not(target::exists('set-'+current.build.framework+'-framework-configuration'))}">
- <fail message="The '${current.build.framework}' framework is not supported by this version of ActiveMQ .NET" />
- </if>
- <call target="set-${current.build.framework}-framework-configuration" />
-
- <!-- Check to see current platform supports the target framework -->
- <if test="${framework::exists(current.build.framework)}">
- <property name="build.skip" value="false" />
- </if>
- <if test="${not framework::exists(current.build.framework)}">
- <if test="${build.noskip}">
- <fail message="${current.build.framework.name} is not available." />
- </if>
- <if test="${not(build.noskip)}">
- <echo message="${current.build.framework.name} is not available. Build skipped." />
- <property name="build.skip" value="true" />
- </if>
- </if>
-
- <!-- Check to see if we should skip this build framework. -->
- <if test="${not(build.skip)}">
- <if test="${property::exists('build.'+current.build.framework+'.skip')}">
- <property name="build.skip" value="true" />
- <echo message="The '${current.build.framework}' framework is not supported by this version of ActiveMQ .NET" />
- </if>
- </if>
-
- <property name="current.build.keysign" value="${current.build.framework.sign}" />
- <property name="build.bin.dir" value="${build.dir}/${nant.settings.currentframework}/${current.build.config}" />
- <if test="${not(build.skip)}">
- <echo message="Doing ${if(current.build.keysign,'a signed','an unsigned')} ${current.build.config} build for the ${current.build.framework.name} framework" />
- <mkdir dir="${build.bin.dir}" />
- </if>
- <call target="dependency-init" />
- </target>
-
- <!-- Generate four-digit build number -->
- <target name="generate-build-number">
- <if test="${not property::exists('project.version.numeric')}">
- <script language="C#">
- <imports>
- <import namespace="System.Globalization" />
- <import namespace="System.Threading" />
- </imports>
- <code>
- <!-- Format for assembly revision is the number of days from the year the project 'started', property project.startyear. -->
- <![CDATA[
- public static void ScriptMain(Project project)
- {
- int startYear = Convert.ToInt32(project.Properties["project.startyear"]);
- DateTime start = new DateTime(startYear, 1, 1);
- TimeSpan ts = DateTime.Now - start;
- project.Properties["project.version.numeric"] = project.Properties["project.version"].ToString() + "." + ts.Days.ToString();
- }
- ]]>
- </code>
- </script>
- </if>
- </target>
-
- <!-- Generate assemblyinfo.cs files -->
- <target name="generate-assemblyinfo" depends="generate-build-number" description="Generate the assembly info for the path in assemblyinfo.filename">
- <asminfo output="${assemblyinfo.filename}" language="CSharp">
- <imports>
- <import namespace="System" />
- <import namespace="System.Reflection" />
- <import namespace="System.Runtime.InteropServices" />
- </imports>
- <attributes>
- <attribute type="ComVisibleAttribute" value="false" />
- <attribute type="CLSCompliantAttribute" value="${project.cls.compliant}" />
- <attribute type="AssemblyTitleAttribute" value="${project.short_description}" />
- <attribute type="AssemblyDescriptionAttribute" value="${project.description}" />
- <attribute type="AssemblyConfigurationAttribute" value="${project.release.type}" />
- <attribute type="AssemblyCompanyAttribute" value="http://activemq.apache.org/nms" />
- <attribute type="AssemblyProductAttribute" value="${project.short_description}" />
- <attribute type="AssemblyCopyrightAttribute" value="Copyright (C) ${project.startyear}-${datetime::get-year(datetime::now())} Apache Software Foundation" />
- <attribute type="AssemblyTrademarkAttribute" value="" />
- <attribute type="AssemblyCultureAttribute" value="" />
- <attribute type="AssemblyVersionAttribute" value="${project.version.numeric}" />
- <attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" />
- </attributes>
- </asminfo>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- C O N F I G U R A T I O N T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="set-noskip-configuration" description="Disable skipping builds">
- <property name="project.noskip" value="true" />
- </target>
-
- <target name="set-debug-configuration" description="Enabled 'debug' builds">
- <property name="current.build.config" value="debug" />
- <property name="current.build.config.debug" value="true" />
- <property name="current.build.config.release" value="false" />
- <property name="current.build.defines" value="${build.defines}DEBUG,TRACE," dynamic="true" />
- <property name="csc.debug" value="Full" />
- <property name="csc.optimize" value="false" />
- </target>
-
- <target name="set-release-configuration" description="Enabled 'release' builds">
- <property name="current.build.config" value="release" />
- <property name="current.build.config.release" value="true" />
- <property name="current.build.config.debug" value="false" />
- <property name="csc.debug" value="Full" />
- <property name="csc.optimize" value="true" />
- </target>
-
- <target name="set-net-1.1-framework-configuration">
- <property name="current.build.framework" value="net-1.1" />
- <property name="current.build.framework.name" value=".NET 1.1" />
- <property name="current.build.defines" value="${build.defines}NET,NET_1_1" dynamic="true" />
- <property name="current.build.framework.sign" value="false" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-net-2.0-framework-configuration">
- <property name="current.build.framework" value="net-2.0" />
- <property name="current.build.framework.name" value=".NET 2.0" />
- <property name="current.build.defines" value="${build.defines}NET,NET_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="true" />
- <property name="link.sdkdoc.version" value="SDK_v2_0" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-net-3.5-framework-configuration">
- <property name="current.build.framework" value="net-3.5" />
- <property name="current.build.framework.name" value=".NET 3.5" />
- <property name="current.build.defines" value="${build.defines}NET,NET_2_0,NET_3_5" dynamic="true" />
- <property name="current.build.framework.sign" value="true" />
- <property name="link.sdkdoc.version" value="SDK_v6_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-netcf-2.0-framework-configuration">
- <property name="current.build.framework" value="netcf-2.0" />
- <property name="current.build.framework.name" value=".NET Compact Framework 2.0" />
- <property name="current.build.defines" value="${build.defines}PocketPC,NETCF,NETCF_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="false" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-mono-2.0-framework-configuration">
- <property name="current.build.framework" value="mono-2.0" />
- <property name="current.build.framework.name" value="Mono 2.0" />
- <property name="current.build.defines" value="${build.defines}MONO,MONO_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="true" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- C O M P I L E T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="compile-all" description="Compile all build configurations for all runtime configurations">
- <echo message="Compiling all build configurations for all runtime configurations." />
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <foreach item="String" in="${build.config.strings}" delim="," property="current.build.config">
- <call target="compile-target" />
- </foreach>
- </foreach>
- </target>
-
- <target name="compile-target" depends="init, download-vendor, conditional-compile" />
-
- <target name="conditional-compile" depends="init" unless="${build.skip or compile.skip}"
- description="Conditionaly compiles all the modules if build framework and type are supported">
- <call target="compile" />
- </target>
-
- <target name="compile" description="Compile everything">
- <call target="compile-main" cascade="false" />
- <call target="compile-test" cascade="false" />
- </target>
-
- <target name="compile-main" depends="init" description="Build the main library">
- <echo message="Building the ${project.name} library" />
- <property name="assemblyinfo.filename" value="src/main/csharp/CommonAssemblyInfo.cs" />
- <call target="generate-assemblyinfo" />
-
- <csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.dll" doc="${build.bin.dir}/${project.name}.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/main/csharp/**.cs" />
- </sources>
- <references refid="dependencies" />
- </csc>
- <csc if="${not current.build.keysign}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.dll" doc="${build.bin.dir}/${project.name}.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/main/csharp/**.cs" />
- </sources>
- <references refid="dependencies" />
- </csc>
- <call target="copy-content" />
- </target>
-
- <!-- Compile the nms-test module -->
- <target name="compile-test" depends="compile-main" description="Build the test library">
- <echo message="Building the ${project.name}.Test library" />
- <property name="assemblyinfo.filename" value="src/test/csharp/CommonAssemblyInfo.cs" />
- <call target="generate-assemblyinfo" />
-
- <csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.Test.dll" doc="${build.bin.dir}/${project.name}.Test.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/test/csharp/**.cs" />
- </sources>
- <references refid="test.dependencies" />
- </csc>
- <csc if="${not current.build.keysign}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.Test.dll" doc="${build.bin.dir}/${project.name}.Test.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/test/csharp/**.cs" />
- </sources>
- <references refid="test.dependencies" />
- </csc>
- <call target="copy-content" />
- </target>
-
- <target name="copy-content">
- <foreach item="File" property="content.filename">
- <in>
- <items refid="content.filenames" />
- </in>
- <do>
- <copy todir="${build.bin.dir}" file="${content.filename}" if="${not file::up-to-date(content.filename, '${build.bin.dir}/${content.filename}')}" />
- </do>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- I N S T A L L T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="install-all" description="Install all build configurations for all runtime configurations">
- <echo message="Installing all build configurations for all runtime configurations." />
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <foreach item="String" in="${build.config.strings}" delim="," property="current.build.config">
- <call target="install" />
- </foreach>
- </foreach>
- </target>
-
- <!-- Install the modules to the local repo -->
- <target name="install" depends="init, compile-target, conditional-install"
- description="Install the artifacts into the nant repo" />
-
- <target name="conditional-install" unless="${build.skip}"
- description="Install the artifacts into the nant repo">
- <property name="path" value="${project.group}/${project.name}/${project.version.full}/${current.build.framework}/${current.build.config}" />
- <foreach item="File" property="install.filename">
- <in>
- <items refid="install.filenames" />
- </in>
- <do>
- <property name="repo.task.artifact" value="${path}/${path::get-file-name(install.filename)}" />
- <property name="repo.task.src" value="${install.filename}" />
- <property name="repo.task.dest" value="${nant.local.repo}/${repo.task.artifact}" />
- <mkdir dir="${directory::get-parent-directory(repo.task.dest)}" />
- <copy file="${repo.task.src}" tofile="${repo.task.dest}" />
- </do>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- R E P O D O W N L O A D T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="download-vendor-all" description="Download vendor files for all runtime configurations">
- <echo message="Downloading vendor files for all runtime configurations." />
- <property name="current.build.config" value="release" />
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <call target="download-vendor" />
- </foreach>
- </target>
-
- <target name="download-vendor" depends="vendor-init, conditional-download"
- description="Download the vendor artifacts from the nant repo" />
-
- <target name="conditional-download" unless="${build.skip}"
- description="Download the artifacts from the nant repo">
- <!-- Iterate over the defined vendor filesets. -->
- <foreach item="String" in="${vendor.fileset.names}" delim="," property="current.vendor">
- <property name="vendor.name" value="${property::get-value(current.vendor + '.name')}" />
- <property name="vendor.group" value="${property::get-value(current.vendor + '.group')}" />
- <property name="vendor.version" value="${property::get-value(current.vendor + '.version')}" />
- <property name="vendor.filenames" value="${property::get-value(current.vendor + '.filenames')}" />
- <property name="local.repo.vendor.path" value="${nant.local.repo}/${vendor.group}/${vendor.name}/${vendor.version}/${current.build.framework}/${current.build.config}" />
- <property name="lib.path" value="lib/${vendor.name}/${current.build.framework}" />
- <!--
- Update the LIB folder with the latest version of the file. If there is a newer version
- installed in the local repository, then that version will be copied into the LIB folder.
- -->
- <foreach item="String" in="${vendor.filenames}" delim="," property="repo.task.artifact">
- <property name="lib.task.dest" value="${lib.path}/${repo.task.artifact}" />
- <mkdir dir="${directory::get-parent-directory(lib.task.dest)}" />
- <property name="repo.task.src" value="${local.repo.vendor.path}/${repo.task.artifact}" />
- <copy file="${repo.task.src}" tofile="${lib.task.dest}" if="${file::exists(repo.task.src)}" />
- <if test="${not file::exists(lib.task.dest)}">
- <echo message="Required dependent assembly ${repo.task.artifact} from ${vendor.name} for ${current.build.framework.name} is not available. Build skipped." />
- <property name="build.skip" value="true" />
- </if>
- </foreach>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- T E S T T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="test" depends="test-debug" description="Alias test target to test-debug" />
-
- <target name="test-all" depends="test-debug, test-release" description="Test all build configurations for all runtime configurations" />
-
- <target name="test-debug" depends="" description="Test debug build configurations for all runtime configurations">
- <property name="current.build.config" value="debug" />
- <call target="test-frameworks" />
- </target>
-
- <target name="test-release" depends="" description="Test release build configurations for all runtime configurations">
- <property name="current.build.config" value="release" />
- <call target="test-frameworks" />
- </target>
-
- <target name="test-frameworks">
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <call target="init" />
- <if test="${not build.skip}">
- <exec program="nunit-console" failonerror="true" workingdir="build/${current.build.framework}/${current.build.config}">
- <arg value="${NUnit.Projectfile}" />
- <arg value="-labels" />
- <arg value="-xml=Nunit.TestOutput.xml" />
- </exec>
- </if>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- M I S C E L L A N E O U S T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="build" depends="default" description="Build the project." />
-
- <target name="rebuild" depends="clean,build" description="Rebuild the project." />
-
- <target name="clean" description="Deletes build">
- <if test="${target::exists('clean-init')}">
- <call target="clean-init" />
- </if>
- <delete dir="build" if="${directory::exists('build')}" />
- <delete dir="obj" if="${directory::exists('obj')}" />
- <delete dir="package" if="${directory::exists('package')}" />
- </target>
-
- <target name="doc" depends="build">
- <mkdir dir="${doc.dir}" />
- <ndoc failonerror="false">
- <assemblies basedir="${build.bin.dir}">
- <include name="${project.name}.dll" />
- </assemblies>
- <summaries basedir="${basedir}/src/main/ndoc">
- <include name="NamespaceSummary.xml" />
- </summaries>
- <documenters>
- <documenter name="MSDN">
- <property name="OutputDirectory" value="${doc.dir}" />
- <property name="HtmlHelpName" value="${project.name}" />
- <property name="HtmlHelpCompilerFilename" value="hhc.exe" />
- <property name="IncludeFavorites" value="False" />
- <property name="Title" value="${project.short_description}" />
- <property name="SplitTOCs" value="False" />
- <property name="DefaulTOC" value="" />
- <!--
- <property name="ShowVisualBasic" value="True" />
- <property name="ShowMissingSummaries" value="True" />
- <property name="ShowMissingRemarks" value="True" />
- <property name="ShowMissingParams" value="True" />
- <property name="ShowMissingReturns" value="True" />
- <property name="ShowMissingValues" value="True" />
- -->
- <property name="DocumentInternals" value="False" />
- <property name="DocumentProtected" value="True" />
- <property name="DocumentPrivates" value="False" />
- <property name="DocumentEmptyNamespaces" value="False" />
- <property name="IncludeAssemblyVersion" value="True" />
- <property name="CopyrightText" value="" />
- <property name="CopyrightHref" value="" />
- </documenter>
- </documenters>
- </ndoc>
- </target>
-
- <target name="sandcastle" depends="set-release-configuration, init, conditional-compile">
- <!-- Directories -->
- <property name="sandcastle.style" value="vs2005" unless="${property::exists('sandcastle.style')}" />
- <property name="documentation.dir" value="${build.bin.dir}" />
- <property name="bin.intern.dir" value="${build.bin.dir}" />
- <property name="bin.extern.dir" value="${basedir}\vendor\NUnit\net-2.0" />
- <property name="sandcastle.dir" value="${environment::get-variable('DXROOT')}" />
- <property name="sandcastle.workingdir" value="${build.dir}\doc\${sandcastle.style}" />
- <property name="sandcastle.output.dir" value="${sandcastle.workingdir}\Output" />
-
- <!-- Executables -->
- <property name="sandcastle.mrefbuilder.exe" value="${sandcastle.dir}\productiontools\mrefbuilder.exe" />
- <property name="sandcastle.buildassembler.exe" value="${sandcastle.dir}\productiontools\buildassembler.exe" />
- <property name="sandcastle.xsltransform.exe" value="${sandcastle.dir}\productiontools\xsltransform.exe" />
- <property name="sandcastle.productiontransforms.dir" value="${sandcastle.dir}\ProductionTransforms" />
-
- <!-- Create or Cleanup Working Directory -->
- <mkdir dir="${sandcastle.workingdir}"
- if="${not directory::exists(sandcastle.workingdir)}" />
- <delete>
- <fileset basedir="${sandcastle.workingdir}">
- <include name="**\*" />
- </fileset>
- </delete>
-
- <!-- Copy configuration file, and hard code references -->
- <copy file="${sandcastle.dir}/Presentation/${sandcastle.style}/Configuration/Sandcastle.config"
- tofile="${sandcastle.workingdir}/Sandcastle.config">
- <filterchain>
- <replacestring from=""..\..\" to=""${sandcastle.dir}\" />
- <replacestring from=""..\" to=""${sandcastle.dir}\Examples\" />
- <replacestring from="".\comments.xml" to=""${documentation.dir}\${project.name}.xml" />
- <replacestring from=""%DXROOT%\Presentation\${sandcastle.style}\content\feedback_content.xml"" to=""${basedir}/src/main/sandcastle/feedback_content.xml"" />
- </filterchain>
- </copy>
-
- <!-- Run MRefBuilder (introspection on assemblies) to create basic Reflection XML -->
- <exec program="${sandcastle.mrefbuilder.exe}" workingdir="${sandcastle.workingdir}">
- <arg value="${bin.intern.dir}/${project.name}.dll" />
- <arg value="/out:reflection.int.xml" />
- <arg value="/dep:${bin.extern.dir}\*.dll" />
- </exec>
-
- <!-- Create Reflection XML -->
- <exec program="${sandcastle.xsltransform.exe}" workingdir="${sandcastle.workingdir}">
- <arg value="/xsl:"${sandcastle.productiontransforms.dir}\ApplyVSDocModel.xsl"" if="${sandcastle.style != 'prototype'}" />
- <arg value="/xsl:"${sandcastle.productiontransforms.dir}\ApplyPrototypeDocModel.xsl"" if="${sandcastle.style == 'prototype'}" />
- <arg value="/xsl:"${sandcastle.productiontransforms.dir}\AddFriendlyFilenames.xsl"" /> <!-- if="${sandcastle.style != 'prototype'}" /> -->
- <arg value="/xsl:"${sandcastle.productiontransforms.dir}\AddGuidFilenames.xsl"" if="${sandcastle.style == 'disabled'}" />
- <arg value="reflection.int.xml" />
- <arg value="/out:reflection.xml" />
- <arg value="/arg:IncludeAllMembersTopic=true" />
- <arg value="/arg:IncludeInheritedOverloadTopics=true" />
- </exec>
-
- <!-- Create Manifest (list of Topics) -->
- <exec program="${sandcastle.xsltransform.exe}" workingdir="${sandcastle.workingdir}">
- <arg value="/xsl:"${sandcastle.productiontransforms.dir}\ReflectionToManifest.xsl"" />
- <arg value="reflection.xml" />
- <arg value="/out:manifest.xml" />
- </exec>
-
- <!-- Create Output Environment -->
- <mkdir dir="${sandcastle.output.dir}" />
- <mkdir dir="${sandcastle.output.dir}/html" />
- <copy todir="${sandcastle.output.dir}">
- <fileset basedir="${sandcastle.dir}/Presentation/${sandcastle.style}">
- <include name="icons/*" />
- <include name="media/*" />
- <include name="scripts/*" />
- <include name="styles/*" />
- </fileset>
- </copy>
-
- <!-- Run BuildAssembler (create html topic files) -->
- <exec program="${sandcastle.buildassembler.exe}" workingdir="${sandcastle.workingdir}">
- <arg value="/config:Sandcastle.config" />
- <arg value="manifest.xml" />
- </exec>
- </target>
-
- <target name="sandcastle-all" description="Generate all formats of the Sandcastle documentation files.">
- <foreach item="String" in="vs2005,prototype,hana" delim="," property="sandcastle.style">
- <call target="sandcastle" />
- </foreach>
- </target>
-</project>
diff --git a/branches/1.2.x/nant.build b/branches/1.2.x/nant.build
deleted file mode 100644
index 962c4e7..0000000
--- a/branches/1.2.x/nant.build
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<project name="Apache.NMS.MSMQ" default="default" xmlns="http://nant.sourceforge.net/release/0.85/nant.xsd">
- <!-- ============================================================================================ -->
- <!-- I N I T I A L I Z A T I O N -->
- <!-- ============================================================================================ -->
- <property name="basedir" value="${project::get-base-directory()}" />
- <property name="project.name" value="Apache.NMS.MSMQ" />
- <property name="project.group" value="org.apache.activemq" />
- <property name="project.version" value="1.2.1" unless="${property::exists('project.version')}" />
- <property name="project.release.type" value="RC" unless="${property::exists('project.release.type')}" />
- <property name="project.short_description" value="Apache NMS for MSMQ Class Library" />
- <property name="project.description" value="Apache NMS for MSMQ Class Library (.Net Messaging Library Implementation): An implementation of the NMS API for MSMQ" />
-
- <!-- Repository organized as: organization/module/version/plaform/artifact, platform might be something like 'all' or 'net-2.0/release' -->
- <property name="nunit.dll" value="${basedir}/lib/NUnit/${current.build.framework}/nunit.framework.dll" dynamic="true" />
- <property name="nunit.extensions.dll" value="${basedir}/lib/NUnit/${current.build.framework}/nunit.framework.extensions.dll" dynamic="true" />
- <property name="Apache.NMS.dll" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.dll" dynamic="true" />
- <property name="Apache.NMS.pdb" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.pdb" dynamic="true" />
- <property name="Apache.NMS.Test.dll" value="${basedir}/lib/Apache.NMS/${current.build.framework}//Apache.NMS.Test.dll" dynamic="true" />
- <property name="Apache.NMS.Test.pdb" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.Test.pdb" dynamic="true" />
- <property name="NUnit.Projectfile" value="Apache.NMS.MSMQ.Test.nunit" />
-
- <!-- Skip certain frameworks, since MSMQ is not supported on those platforms. -->
- <property name="build.netcf-2.0.skip" value="true" />
- <property name="build.mono-2.0.skip" value="true" />
-
- <target name="vendor-init" description="Initializes Vendor library from local repository.">
- <!--
- Vendor specific info. The prefix of 'vendor.apache.org' is taken from the property
- 'vendor.fileset.names'. This comma-delimited list is iterated, and properties with
- well-known suffixes are used to access and copy down vendor file dependencies.
- -->
- <property name="vendor.fileset.names" value="vendor.apache.org,vendor.nunit.org" />
-
- <!-- Property grouping for 'vendor.apache.org' -->
- <property name="vendor.apache.org.name" value="Apache.NMS" />
- <property name="vendor.apache.org.group" value="org.apache.activemq" />
- <property name="vendor.apache.org.version" value="1.2.1" />
- <property name="vendor.apache.org.filenames" value="Apache.NMS.dll,Apache.NMS.pdb,Apache.NMS.Test.dll,Apache.NMS.Test.pdb" />
-
- <!-- Property grouping for 'vendor.nunit.org' -->
- <property name="vendor.nunit.org.name" value="NUnit" />
- <property name="vendor.nunit.org.group" value="org.nunit" />
- <property name="vendor.nunit.org.version" value="2.4.8" />
- <property name="vendor.nunit.org.filenames" value="nunit.framework.dll,nunit.framework.extensions.dll" />
- </target>
-
- <target name="dependency-init" description="Initializes build dependencies">
- <assemblyfileset failonempty="true" id="dependencies">
- <include name="${current.build.framework.assembly.dir}/mscorlib.dll" />
- <include name="${current.build.framework.assembly.dir}/System.dll" />
- <include name="${current.build.framework.assembly.dir}/System.Xml.dll" />
- <include name="${current.build.framework.assembly.dir}/System.Messaging.dll" />
- <include name="${Apache.NMS.dll}" />
- </assemblyfileset>
-
- <assemblyfileset failonempty="true" id="test.dependencies">
- <include name="${current.build.framework.assembly.dir}/mscorlib.dll" />
- <include name="${current.build.framework.assembly.dir}/System.dll" />
- <include name="${current.build.framework.assembly.dir}/System.Xml.dll" />
- <include name="${current.build.framework.assembly.dir}/System.Messaging.dll" />
- <include name="${Apache.NMS.dll}" />
- <include name="${Apache.NMS.Test.dll}" />
- <include name="${build.bin.dir}/${project.name}.dll" />
- <include name="${nunit.dll}" />
- <include name="${nunit.extensions.dll}" />
- </assemblyfileset>
-
- <fileset id="content.filenames">
- <include name="LICENSE.txt" />
- <include name="NOTICE.txt" />
- <include name="nmsprovider-*.config" />
- <include name="${Apache.NMS.dll}" />
- <include name="${Apache.NMS.pdb}" />
- <include name="${Apache.NMS.Test.dll}" />
- <include name="${Apache.NMS.Test.pdb}" />
- <include name="${nunit.dll}" />
- <include name="${nunit.extensions.dll}" />
- <include name="${NUnit.Projectfile}" />
- </fileset>
-
- <fileset id="install.filenames">
- <include name="LICENSE.txt" />
- <include name="NOTICE.txt" />
- <include name="${build.bin.dir}/${project.name}.dll" />
- <include name="${build.bin.dir}/${project.name}.pdb" />
- </fileset>
-
- </target>
-
- <target name="default" depends="install-all" />
-
- <!-- Load the common target definitions -->
- <include buildfile="${basedir}/nant-common.xml" />
-</project>
diff --git a/branches/1.2.x/package.ps1 b/branches/1.2.x/package.ps1
deleted file mode 100644
index 41417e0..0000000
--- a/branches/1.2.x/package.ps1
+++ /dev/null
@@ -1,69 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-$pkgname = "Apache.NMS.MSMQ"
-$pkgver = "1.2.x"
-$configurations = "release", "debug"
-$frameworks = "net-2.0", "net-3.5"
-
-write-progress "Creating package directory." "Initializing..."
-if(!(test-path package))
-{
- md package
-}
-
-if(test-path build)
-{
- pushd build
-
- $pkgdir = "..\package"
-
- write-progress "Packaging Application files." "Scanning..."
- $zipfile = "$pkgdir\$pkgname-$pkgver-bin.zip"
- zip -9 -u -j "$zipfile" ..\LICENSE.txt
- zip -9 -u -j "$zipfile" ..\NOTICE.txt
- foreach($configuration in $configurations)
- {
- foreach($framework in $frameworks)
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.xml"
- zip -9 -u "$zipfile" "$framework\$configuration\nmsprovider*.config"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.xml"
- if($framework -ieq "mono-2.0")
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll.mdb"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll.mdb"
- }
- else
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.pdb"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.pdb"
- }
- }
- }
-
- popd
-}
-
-write-progress "Packaging Source code files." "Scanning..."
-$pkgdir = "package"
-$zipfile = "$pkgdir\$pkgname-$pkgver-src.zip"
-
-zip -9 -u "$zipfile" LICENSE.txt NOTICE.txt nant-common.xml nant.build package.ps1 vs2008-msmq-test.csproj vs2008-msmq.csproj vs2008-msmq.sln
-zip -9 -u -r "$zipfile" keyfile src
-
-write-progress -Completed "Packaging" "Complete."
diff --git a/branches/1.2.x/src/main/csharp/BaseMessage.cs b/branches/1.2.x/src/main/csharp/BaseMessage.cs
deleted file mode 100644
index 16d7164..0000000
--- a/branches/1.2.x/src/main/csharp/BaseMessage.cs
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using Apache.NMS.Util;
-
-namespace Apache.NMS.MSMQ
-{
- public delegate void AcknowledgeHandler(BaseMessage baseMessage);
-
- public class BaseMessage : IMessage
- {
- private PrimitiveMap propertiesMap = new PrimitiveMap();
- private IDestination destination;
- private string correlationId;
- private TimeSpan timeToLive;
- private string messageId;
- private MsgDeliveryMode deliveryMode;
- private MsgPriority priority;
- private Destination replyTo;
- private byte[] content;
- private string type;
- private event AcknowledgeHandler Acknowledger;
- private DateTime timestamp = new DateTime();
- private bool readOnlyMsgBody = false;
-
- public bool ReadOnlyBody
- {
- get { return readOnlyMsgBody; }
- set { readOnlyMsgBody = value; }
- }
-
- // IMessage interface
-
- public void Acknowledge()
- {
- if(null != Acknowledger)
- {
- Acknowledger(this);
- }
- }
-
- /// <summary>
- /// Clears out the message body. Clearing a message's body does not clear its header
- /// values or property entries.
- ///
- /// If this message body was read-only, calling this method leaves the message body in
- /// the same state as an empty body in a newly created message.
- /// </summary>
- public virtual void ClearBody()
- {
- this.Content = null;
- this.readOnlyMsgBody = false;
- }
-
- /// <summary>
- /// Clears a message's properties.
- ///
- /// The message's header fields and body are not cleared.
- /// </summary>
- public virtual void ClearProperties()
- {
- propertiesMap.Clear();
- }
-
- // Properties
-
- public IPrimitiveMap Properties
- {
- get { return propertiesMap; }
- }
-
-
- // NMS headers
-
- /// <summary>
- /// The correlation ID used to correlate messages with conversations or long running business processes
- /// </summary>
- public string NMSCorrelationID
- {
- get { return correlationId; }
- set { correlationId = value; }
- }
-
- /// <summary>
- /// The destination of the message
- /// </summary>
- public IDestination NMSDestination
- {
- get { return destination; }
- set { destination = value; }
- }
-
- /// <summary>
- /// The time in milliseconds that this message should expire in
- /// </summary>
- public TimeSpan NMSTimeToLive
- {
- get { return timeToLive; }
- set { timeToLive = value; }
- }
-
- /// <summary>
- /// The message ID which is set by the provider
- /// </summary>
- public string NMSMessageId
- {
- get { return messageId; }
- set { messageId = value; }
- }
-
- /// <summary>
- /// Whether or not this message is persistent
- /// </summary>
- public MsgDeliveryMode NMSDeliveryMode
- {
- get { return deliveryMode; }
- set { deliveryMode = value; }
- }
-
- /// <summary>
- /// The Priority on this message
- /// </summary>
- public MsgPriority NMSPriority
- {
- get { return priority; }
- set { priority = value; }
- }
-
- /// <summary>
- /// Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully.
- /// </summary>
- public bool NMSRedelivered
- {
- get { return false; }
- }
-
-
- /// <summary>
- /// The destination that the consumer of this message should send replies to
- /// </summary>
- public IDestination NMSReplyTo
- {
- get { return replyTo; }
- set { replyTo = (Destination) value; }
- }
-
-
- /// <summary>
- /// The timestamp the broker added to the message
- /// </summary>
- public DateTime NMSTimestamp
- {
- get { return timestamp; }
- set { timestamp = value; }
- }
-
- public byte[] Content
- {
- get { return content; }
- set { this.content = value; }
- }
-
- /// <summary>
- /// The type name of this message
- /// </summary>
- public string NMSType
- {
- get { return type; }
- set { type = value; }
- }
-
-
- public object GetObjectProperty(string name)
- {
- return null;
- }
-
- public void SetObjectProperty(string name, object value)
- {
- }
-
- protected void FailIfReadOnlyBody()
- {
- if(ReadOnlyBody == true)
- {
- throw new MessageNotWriteableException("Message is in Read-Only mode.");
- }
- }
-
- protected void FailIfWriteOnlyBody()
- {
- if( ReadOnlyBody == false )
- {
- throw new MessageNotReadableException("Message is in Write-Only mode.");
- }
- }
- }
-}
-
diff --git a/branches/1.2.x/src/main/csharp/BytesMessage.cs b/branches/1.2.x/src/main/csharp/BytesMessage.cs
deleted file mode 100644
index 51ca6fa..0000000
--- a/branches/1.2.x/src/main/csharp/BytesMessage.cs
+++ /dev/null
@@ -1,511 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-using Apache.NMS.Util;
-using System.IO;
-using System;
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- ///
- /// A BytesMessage object is used to send a message containing a stream of uninterpreted
- /// bytes. It inherits from the Message interface and adds a bytes message body. The
- /// receiver of the message supplies the interpretation of the bytes.
- ///
- /// This message type is for client encoding of existing message formats. If possible,
- /// one of the other self-defining message types should be used instead.
- ///
- /// Although the NMS API allows the use of message properties with byte messages, they
- /// are typically not used, since the inclusion of properties may affect the format.
- ///
- /// When the message is first created, and when ClearBody is called, the body of the
- /// message is in write-only mode. After the first call to Reset has been made, the
- /// message body is in read-only mode. After a message has been sent, the client that
- /// sent it can retain and modify it without affecting the message that has been sent.
- /// The same message object can be sent multiple times. When a message has been received,
- /// the provider has called Reset so that the message body is in read-only mode for the
- /// client.
- ///
- /// If ClearBody is called on a message in read-only mode, the message body is cleared and
- /// the message is in write-only mode.
- ///
- /// If a client attempts to read a message in write-only mode, a MessageNotReadableException
- /// is thrown.
- ///
- /// If a client attempts to write a message in read-only mode, a MessageNotWriteableException
- /// is thrown.
- /// </summary>
- public class BytesMessage : BaseMessage, IBytesMessage
- {
- private EndianBinaryReader dataIn = null;
- private EndianBinaryWriter dataOut = null;
- private MemoryStream outputBuffer = null;
-
- // Need this later when we add compression to store true content length.
- private long length = 0;
-
- public override void ClearBody()
- {
- base.ClearBody();
- this.outputBuffer = null;
- this.dataIn = null;
- this.dataOut = null;
- this.length = 0;
- }
-
- public long BodyLength
- {
- get
- {
- InitializeReading();
- return this.length;
- }
- }
-
- public byte ReadByte()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadByte();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteByte( byte value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public bool ReadBoolean()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadBoolean();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteBoolean( bool value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public char ReadChar()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadChar();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteChar( char value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public short ReadInt16()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadInt16();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteInt16( short value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public int ReadInt32()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadInt32();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteInt32( int value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public long ReadInt64()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadInt64();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteInt64( long value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public float ReadSingle()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadSingle();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteSingle( float value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public double ReadDouble()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadDouble();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteDouble( double value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public int ReadBytes( byte[] value )
- {
- InitializeReading();
- try
- {
- return dataIn.Read( value, 0, value.Length );
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public int ReadBytes( byte[] value, int length )
- {
- InitializeReading();
- try
- {
- return dataIn.Read( value, 0, length );
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteBytes( byte[] value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value, 0, value.Length );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteBytes( byte[] value, int offset, int length )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value, offset, length );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public string ReadString()
- {
- InitializeReading();
- try
- {
- // JMS, CMS and NMS all encode the String using a 16 bit size header.
- return dataIn.ReadString16();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteString( string value )
- {
- InitializeWriting();
- try
- {
- // JMS, CMS and NMS all encode the String using a 16 bit size header.
- dataOut.WriteString16(value);
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteObject( System.Object value )
- {
- InitializeWriting();
- if( value is System.Byte )
- {
- this.dataOut.Write( (byte) value );
- }
- else if( value is Char )
- {
- this.dataOut.Write( (char) value );
- }
- else if( value is Boolean )
- {
- this.dataOut.Write( (bool) value );
- }
- else if( value is Int16 )
- {
- this.dataOut.Write( (short) value );
- }
- else if( value is Int32 )
- {
- this.dataOut.Write( (int) value );
- }
- else if( value is Int64 )
- {
- this.dataOut.Write( (long) value );
- }
- else if( value is Single )
- {
- this.dataOut.Write( (float) value );
- }
- else if( value is Double )
- {
- this.dataOut.Write( (double) value );
- }
- else if( value is byte[] )
- {
- this.dataOut.Write( (byte[]) value );
- }
- else if( value is String )
- {
- this.dataOut.WriteString16( (string) value );
- }
- else
- {
- throw new MessageFormatException("Cannot write non-primitive type:" + value.GetType());
- }
- }
-
- public void Reset()
- {
- StoreContent();
- this.dataIn = null;
- this.dataOut = null;
- this.outputBuffer = null;
- this.ReadOnlyBody = true;
- }
-
- private void InitializeReading()
- {
- FailIfWriteOnlyBody();
- if(this.dataIn == null)
- {
- if(this.Content != null)
- {
- this.length = this.Content.Length;
- }
-
- // TODO - Add support for Message Compression.
- MemoryStream bytesIn = new MemoryStream(this.Content, false);
- dataIn = new EndianBinaryReader(bytesIn);
- }
- }
-
- private void InitializeWriting()
- {
- FailIfReadOnlyBody();
- if(this.dataOut == null)
- {
- // TODO - Add support for Message Compression.
- this.outputBuffer = new MemoryStream();
- this.dataOut = new EndianBinaryWriter(outputBuffer);
- }
- }
-
- private void StoreContent()
- {
- if( dataOut != null)
- {
- dataOut.Close();
- // TODO - Add support for Message Compression.
-
- this.Content = outputBuffer.ToArray();
- this.dataOut = null;
- this.outputBuffer = null;
- }
- }
- }
-}
-
diff --git a/branches/1.2.x/src/main/csharp/Connection.cs b/branches/1.2.x/src/main/csharp/Connection.cs
deleted file mode 100644
index 096e41f..0000000
--- a/branches/1.2.x/src/main/csharp/Connection.cs
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// Represents a NMS connection MSMQ. Since the underlying MSMQ APIs are actually
- /// connectionless, NMS connection in the MSMQ case are not expensive operations.
- /// </summary>
- ///
- public class Connection : IConnection
- {
- private AcknowledgementMode acknowledgementMode = AcknowledgementMode.AutoAcknowledge;
- private IMessageConverter messageConverter = new DefaultMessageConverter();
-
- private IRedeliveryPolicy redeliveryPolicy;
- private ConnectionMetaData metaData = null;
- private bool connected;
- private bool closed;
- private string clientId;
-
- /// <summary>
- /// Starts message delivery for this connection.
- /// </summary>
- public void Start()
- {
- CheckConnected();
- }
-
- /// <summary>
- /// This property determines if the asynchronous message delivery of incoming
- /// messages has been started for this connection.
- /// </summary>
- public bool IsStarted
- {
- get { return true; }
- }
-
- /// <summary>
- /// Stop message delivery for this connection.
- /// </summary>
- public void Stop()
- {
- CheckConnected();
- }
-
- /// <summary>
- /// Creates a new session to work on this connection
- /// </summary>
- public ISession CreateSession()
- {
- return CreateSession(acknowledgementMode);
- }
-
- /// <summary>
- /// Creates a new session to work on this connection
- /// </summary>
- public ISession CreateSession(AcknowledgementMode mode)
- {
- CheckConnected();
- return new Session(this, mode);
- }
-
- public void Dispose()
- {
- closed = true;
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- public AcknowledgementMode AcknowledgementMode
- {
- get { return acknowledgementMode; }
- set { acknowledgementMode = value; }
- }
-
- public IMessageConverter MessageConverter
- {
- get { return messageConverter; }
- set { messageConverter = value; }
- }
-
- public string ClientId
- {
- get { return clientId; }
- set
- {
- if(connected)
- {
- throw new NMSException("You cannot change the ClientId once the Connection is connected");
- }
- clientId = value;
- }
- }
-
- /// <summary>
- /// Get/or set the redelivery policy for this connection.
- /// </summary>
- public IRedeliveryPolicy RedeliveryPolicy
- {
- get { return this.redeliveryPolicy; }
- set { this.redeliveryPolicy = value; }
- }
-
- /// <summary>
- /// Gets the Meta Data for the NMS Connection instance.
- /// </summary>
- public IConnectionMetaData MetaData
- {
- get { return this.metaData ?? (this.metaData = new ConnectionMetaData()); }
- }
-
- /// <summary>
- /// A delegate that can receive transport level exceptions.
- /// </summary>
- public event ExceptionListener ExceptionListener;
-
- /// <summary>
- /// An asynchronous listener that is notified when a Fault tolerant connection
- /// has been interrupted.
- /// </summary>
- public event ConnectionInterruptedListener ConnectionInterruptedListener;
-
- /// <summary>
- /// An asynchronous listener that is notified when a Fault tolerant connection
- /// has been resumed.
- /// </summary>
- public event ConnectionResumedListener ConnectionResumedListener;
-
- protected void CheckConnected()
- {
- if(closed)
- {
- throw new NMSException("Connection Closed");
- }
- if(!connected)
- {
- connected = true;
- // now lets send the connection and see if we get an ack/nak
- // TODO: establish a connection
- }
- }
-
- public void Close()
- {
- Dispose();
- }
-
- public void HandleException(Exception e)
- {
- if(ExceptionListener != null && !this.closed)
- {
- ExceptionListener(e);
- }
- else
- {
- Tracer.Error(e);
- }
- }
-
- public void HandleTransportInterrupted()
- {
- Tracer.Debug("Transport has been Interrupted.");
-
- if(this.ConnectionInterruptedListener != null && !this.closed)
- {
- try
- {
- this.ConnectionInterruptedListener();
- }
- catch
- {
- }
- }
- }
-
- public void HandleTransportResumed()
- {
- Tracer.Debug("Transport has resumed normal operation.");
-
- if(this.ConnectionResumedListener != null && !this.closed)
- {
- try
- {
- this.ConnectionResumedListener();
- }
- catch
- {
- }
- }
- }
- }
-}
diff --git a/branches/1.2.x/src/main/csharp/ConnectionFactory.cs b/branches/1.2.x/src/main/csharp/ConnectionFactory.cs
deleted file mode 100644
index 24e895d..0000000
--- a/branches/1.2.x/src/main/csharp/ConnectionFactory.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using Apache.NMS.Policies;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// A Factory that can estbalish NMS connections to MSMQ
- /// </summary>
- public class ConnectionFactory : IConnectionFactory
- {
- public const string DEFAULT_BROKER_URL = "msmq://localhost";
- public const string ENV_BROKER_URL = "MSMQ_BROKER_URL";
- private Uri brokerUri;
- private IRedeliveryPolicy redeliveryPolicy = new RedeliveryPolicy();
-
- public static string GetDefaultBrokerUrl()
- {
- string answer = Environment.GetEnvironmentVariable(ENV_BROKER_URL);
- if(answer == null)
- {
- answer = DEFAULT_BROKER_URL;
- }
- return answer;
- }
-
- public ConnectionFactory()
- : this(GetDefaultBrokerUrl())
- {
- }
-
- public ConnectionFactory(string brokerUri)
- : this(brokerUri, null)
- {
- }
-
- public ConnectionFactory(string brokerUri, string clientID)
- : this(new Uri(brokerUri), clientID)
- {
- }
-
- public ConnectionFactory(Uri brokerUri)
- : this(brokerUri, null)
- {
- }
-
- public ConnectionFactory(Uri brokerUri, string clientID)
- {
- this.brokerUri = brokerUri;
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection()
- {
- return CreateConnection(string.Empty, string.Empty, false);
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection(string userName, string password)
- {
- return CreateConnection(userName, password, false);
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection(string userName, string password, bool useLogging)
- {
- IConnection connection = new Connection();
-
- connection.RedeliveryPolicy = this.redeliveryPolicy.Clone() as IRedeliveryPolicy;
- return connection;
- }
-
- /// <summary>
- /// Get/or set the broker Uri.
- /// </summary>
- public Uri BrokerUri
- {
- get { return brokerUri; }
- set { brokerUri = value; }
- }
-
- /// <summary>
- /// Get/or set the redelivery policy that new IConnection objects are
- /// assigned upon creation.
- /// </summary>
- public IRedeliveryPolicy RedeliveryPolicy
- {
- get { return this.redeliveryPolicy; }
- set
- {
- if(value != null)
- {
- this.redeliveryPolicy = value;
- }
- }
- }
- }
-}
diff --git a/branches/1.2.x/src/main/csharp/ConnectionMetaData.cs b/branches/1.2.x/src/main/csharp/ConnectionMetaData.cs
deleted file mode 100644
index 5a305c0..0000000
--- a/branches/1.2.x/src/main/csharp/ConnectionMetaData.cs
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Reflection;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// Implements the Connection Meta-Data feature for Apache.NMS.MSMQ
- /// </summary>
- public class ConnectionMetaData : IConnectionMetaData
- {
- private int nmsMajorVersion;
- private int nmsMinorVersion;
-
- private string nmsProviderName;
- private string nmsVersion;
-
- private int providerMajorVersion;
- private int providerMinorVersion;
- private string providerVersion;
-
- private string[] nmsxProperties;
-
- public ConnectionMetaData()
- {
- Assembly self = Assembly.GetExecutingAssembly();
- AssemblyName asmName = self.GetName();
-
- this.nmsProviderName = asmName.Name;
- this.providerMajorVersion = asmName.Version.Major;
- this.providerMinorVersion = asmName.Version.Minor;
- this.providerVersion = asmName.Version.ToString();
-
- this.nmsxProperties = new String[] { };
-
- foreach(AssemblyName name in self.GetReferencedAssemblies())
- {
- if(0 == string.Compare(name.Name, "Apache.NMS", true))
- {
- this.nmsMajorVersion = name.Version.Major;
- this.nmsMinorVersion = name.Version.Minor;
- this.nmsVersion = name.Version.ToString();
-
- return;
- }
- }
-
- throw new NMSException("Could not find a reference to the Apache.NMS Assembly.");
- }
-
- public int NMSMajorVersion
- {
- get { return this.nmsMajorVersion; }
- }
-
- public int NMSMinorVersion
- {
- get { return this.nmsMinorVersion; }
- }
-
- public string NMSProviderName
- {
- get { return this.nmsProviderName; }
- }
-
- public string NMSVersion
- {
- get { return this.nmsVersion; }
- }
-
- public string[] NMSXPropertyNames
- {
- get { return this.nmsxProperties; }
- }
-
- public int ProviderMajorVersion
- {
- get { return this.providerMajorVersion; }
- }
-
- public int ProviderMinorVersion
- {
- get { return this.providerMinorVersion; }
- }
-
- public string ProviderVersion
- {
- get { return this.providerVersion; }
- }
- }
-}
diff --git a/branches/1.2.x/src/main/csharp/DefaultMessageConverter.cs b/branches/1.2.x/src/main/csharp/DefaultMessageConverter.cs
deleted file mode 100644
index 2aa3438..0000000
--- a/branches/1.2.x/src/main/csharp/DefaultMessageConverter.cs
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.IO;
-using System.Messaging;
-using System.Text;
-using Apache.NMS.Util;
-
-namespace Apache.NMS.MSMQ
-{
- public enum NMSMessageType
- {
- BaseMessage,
- TextMessage,
- BytesMessage,
- ObjectMessage,
- MapMessage,
- StreamMessage
- }
-
- public class DefaultMessageConverter : IMessageConverter
- {
- public virtual Message ToMsmqMessage(IMessage message)
- {
- Message msmqMessage = new Message();
- PrimitiveMap metaData = new PrimitiveMap();
-
- ConvertMessageBodyToMSMQ(message, msmqMessage);
-
- if(message.NMSTimeToLive != TimeSpan.Zero)
- {
- msmqMessage.TimeToBeReceived = message.NMSTimeToLive;
- }
-
- if(message.NMSCorrelationID != null)
- {
- metaData.SetString("NMSCorrelationID", message.NMSCorrelationID);
- }
-
- msmqMessage.Recoverable = (message.NMSDeliveryMode == MsgDeliveryMode.Persistent);
- msmqMessage.Priority = ToMessagePriority(message.NMSPriority);
- msmqMessage.ResponseQueue = ToMsmqDestination(message.NMSReplyTo);
- if(message.NMSType != null)
- {
- msmqMessage.Label = message.NMSType;
- }
-
- // Store the NMS meta data in the extension area
- msmqMessage.Extension = metaData.Marshal();
- return msmqMessage;
- }
-
- public virtual IMessage ToNmsMessage(Message message)
- {
- BaseMessage answer = CreateNmsMessage(message);
- // Get the NMS meta data from the extension area
- PrimitiveMap metaData = PrimitiveMap.Unmarshal(message.Extension);
-
- try
- {
- answer.NMSMessageId = message.Id;
- answer.NMSCorrelationID = metaData.GetString("NMSCorrelationID");
- answer.NMSDeliveryMode = (message.Recoverable ? MsgDeliveryMode.Persistent : MsgDeliveryMode.NonPersistent);
- answer.NMSDestination = ToNmsDestination(message.DestinationQueue);
- }
- catch(InvalidOperationException)
- {
- }
-
- try
- {
- answer.NMSType = message.Label;
- answer.NMSReplyTo = ToNmsDestination(message.ResponseQueue);
- answer.NMSTimeToLive = message.TimeToBeReceived;
- }
- catch(InvalidOperationException)
- {
- }
-
- return answer;
- }
-
- private static MessagePriority ToMessagePriority(MsgPriority msgPriority)
- {
- switch(msgPriority)
- {
- case MsgPriority.Lowest:
- return MessagePriority.Lowest;
-
- case MsgPriority.VeryLow:
- return MessagePriority.VeryLow;
-
- case MsgPriority.Low:
- case MsgPriority.AboveLow:
- return MessagePriority.Low;
-
- default:
- case MsgPriority.BelowNormal:
- case MsgPriority.Normal:
- return MessagePriority.Normal;
-
- case MsgPriority.AboveNormal:
- return MessagePriority.AboveNormal;
-
- case MsgPriority.High:
- return MessagePriority.High;
-
- case MsgPriority.VeryHigh:
- return MessagePriority.VeryHigh;
-
- case MsgPriority.Highest:
- return MessagePriority.Highest;
- }
- }
-
- protected virtual void ConvertMessageBodyToMSMQ(IMessage message, Message answer)
- {
- if(message is TextMessage)
- {
- TextMessage textMessage = message as TextMessage;
- byte[] buf = Encoding.UTF32.GetBytes(textMessage.Text);
- answer.BodyStream.Write(buf, 0, buf.Length);
- answer.AppSpecific = (int) NMSMessageType.TextMessage;
- }
- else if(message is BytesMessage)
- {
- BytesMessage bytesMessage = message as BytesMessage;
- answer.BodyStream.Write(bytesMessage.Content, 0, bytesMessage.Content.Length);
- answer.AppSpecific = (int) NMSMessageType.BytesMessage;
- }
- else if(message is ObjectMessage)
- {
- ObjectMessage objectMessage = message as ObjectMessage;
- answer.Body = objectMessage.Body;
- answer.AppSpecific = (int) NMSMessageType.ObjectMessage;
- }
- else if(message is MapMessage)
- {
- MapMessage mapMessage = message as MapMessage;
- PrimitiveMap mapBody = mapMessage.Body as PrimitiveMap;
- byte[] buf = mapBody.Marshal();
- answer.BodyStream.Write(buf, 0, buf.Length);
- answer.AppSpecific = (int) NMSMessageType.MapMessage;
- }
- else if(message is StreamMessage)
- {
- StreamMessage streamMessage = message as StreamMessage;
- answer.AppSpecific = (int) NMSMessageType.StreamMessage;
- // TODO: Implement
- }
- else if(message is BaseMessage)
- {
- answer.AppSpecific = (int) NMSMessageType.BaseMessage;
- }
- else
- {
- throw new Exception("unhandled message type");
- }
- }
-
- protected virtual BaseMessage CreateNmsMessage(Message message)
- {
- BaseMessage result = null;
-
- if((int) NMSMessageType.TextMessage == message.AppSpecific)
- {
- TextMessage textMessage = new TextMessage();
- string content = String.Empty;
-
- if(message.BodyStream != null && message.BodyStream.Length > 0)
- {
- byte[] buf = null;
- buf = new byte[message.BodyStream.Length];
- message.BodyStream.Read(buf, 0, buf.Length);
- content = Encoding.UTF32.GetString(buf);
- }
-
- textMessage.Text = content;
- result = textMessage;
- }
- else if((int) NMSMessageType.BytesMessage == message.AppSpecific)
- {
- byte[] buf = null;
-
- if(message.BodyStream != null && message.BodyStream.Length > 0)
- {
- buf = new byte[message.BodyStream.Length];
- message.BodyStream.Read(buf, 0, buf.Length);
- }
-
- BytesMessage bytesMessage = new BytesMessage();
- bytesMessage.Content = buf;
- result = bytesMessage;
- }
- else if((int) NMSMessageType.ObjectMessage == message.AppSpecific)
- {
- ObjectMessage objectMessage = new ObjectMessage();
-
- objectMessage.Body = message.Body;
- result = objectMessage;
- }
- else if((int) NMSMessageType.MapMessage == message.AppSpecific)
- {
- byte[] buf = null;
-
- if(message.BodyStream != null && message.BodyStream.Length > 0)
- {
- buf = new byte[message.BodyStream.Length];
- message.BodyStream.Read(buf, 0, buf.Length);
- }
-
- MapMessage mapMessage = new MapMessage();
- mapMessage.Body = PrimitiveMap.Unmarshal(buf);
- result = mapMessage;
- }
- else if((int) NMSMessageType.StreamMessage == message.AppSpecific)
- {
- StreamMessage streamMessage = new StreamMessage();
-
- // TODO: Implement
- result = streamMessage;
- }
- else
- {
- BaseMessage baseMessage = new BaseMessage();
-
- result = baseMessage;
- }
-
- return result;
- }
-
- public MessageQueue ToMsmqDestination(IDestination destination)
- {
- if(null == destination)
- {
- return null;
- }
-
- return new MessageQueue((destination as Destination).Path);
- }
-
- protected virtual IDestination ToNmsDestination(MessageQueue destinationQueue)
- {
- if(null == destinationQueue)
- {
- return null;
- }
-
- return new Queue(destinationQueue.Path);
- }
- }
-}
diff --git a/branches/1.2.x/src/main/csharp/Destination.cs b/branches/1.2.x/src/main/csharp/Destination.cs
deleted file mode 100644
index ba97213..0000000
--- a/branches/1.2.x/src/main/csharp/Destination.cs
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-namespace Apache.NMS.MSMQ
-{
-
- /// <summary>
- /// Summary description for Destination.
- /// </summary>
- public abstract class Destination : IDestination
- {
-
- private String path = "";
-
- /**
- * The Default Constructor
- */
- protected Destination()
- {
- }
-
- /**
- * Construct the Destination with a defined physical name;
- *
- * @param name
- */
- protected Destination(String name)
- {
- Path = name;
- }
-
- public String Path
- {
- get { return this.path; }
- set
- {
- this.path = value;
- if(!this.path.Contains("\\"))
- {
- // Queues must have paths in them. If no path specified, then
- // default to local machine.
- this.path = ".\\" + this.path;
- }
- }
- }
-
-
- public bool IsTopic
- {
- get
- {
- return DestinationType == DestinationType.Topic
- || DestinationType == DestinationType.TemporaryTopic;
- }
- }
-
- public bool IsQueue
- {
- get
- {
- return !IsTopic;
- }
- }
-
-
- public bool IsTemporary
- {
- get
- {
- return DestinationType == DestinationType.TemporaryQueue
- || DestinationType == DestinationType.TemporaryTopic;
- }
- }
-
- /**
- * @return string representation of this instance
- */
- public override String ToString()
- {
- return this.path;
- }
-
- /**
- * @return hashCode for this instance
- */
- public override int GetHashCode()
- {
- int answer = 37;
-
- if(this.path != null)
- {
- answer = path.GetHashCode();
- }
- if(IsTopic)
- {
- answer ^= 0xfabfab;
- }
- return answer;
- }
-
- /**
- * if the object passed in is equivalent, return true
- *
- * @param obj the object to compare
- * @return true if this instance and obj are equivalent
- */
- public override bool Equals(Object obj)
- {
- bool result = this == obj;
- if(!result && obj != null && obj is Destination)
- {
- Destination other = (Destination) obj;
- result = this.DestinationType == other.DestinationType
- && this.path.Equals(other.path);
- }
- return result;
- }
-
- /**
- * Factory method to create a child destination if this destination is a composite
- * @param name
- * @return the created Destination
- */
- public abstract Destination CreateDestination(String name);
-
-
- public abstract DestinationType DestinationType
- {
- get;
- }
-
- }
-}
-
diff --git a/branches/1.2.x/src/main/csharp/IMessageConverter.cs b/branches/1.2.x/src/main/csharp/IMessageConverter.cs
deleted file mode 100644
index 152377b..0000000
--- a/branches/1.2.x/src/main/csharp/IMessageConverter.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- public interface IMessageConverter
- {
-
- /// <summary>
- /// Method ToMSMQMessageQueue
- /// </summary>
- /// <param name="destination">An IDestination</param>
- /// <returns>A MessageQueue</returns>
- MessageQueue ToMsmqDestination(IDestination destination);
-
- Message ToMsmqMessage(IMessage message);
- IMessage ToNmsMessage(Message message);
- }
-}
diff --git a/branches/1.2.x/src/main/csharp/MapMessage.cs b/branches/1.2.x/src/main/csharp/MapMessage.cs
deleted file mode 100644
index e900328..0000000
--- a/branches/1.2.x/src/main/csharp/MapMessage.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using Apache.NMS.Util;
-
-namespace Apache.NMS.MSMQ
-{
- public class MapMessage : BaseMessage, IMapMessage
- {
- private IPrimitiveMap body = new PrimitiveMap();
-
- public IPrimitiveMap Body
- {
- get { return body; }
- set { body = value; }
- }
- }
-}
-
diff --git a/branches/1.2.x/src/main/csharp/MessageConsumer.cs b/branches/1.2.x/src/main/csharp/MessageConsumer.cs
deleted file mode 100644
index ee57b96..0000000
--- a/branches/1.2.x/src/main/csharp/MessageConsumer.cs
+++ /dev/null
@@ -1,231 +0,0 @@
-using System;
-using System.Messaging;
-using System.Threading;
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.NMS.Util;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// An object capable of receiving messages from some destination
- /// </summary>
- public class MessageConsumer : IMessageConsumer
- {
- protected TimeSpan zeroTimeout = new TimeSpan(0);
-
- private readonly Session session;
- private readonly AcknowledgementMode acknowledgementMode;
- private MessageQueue messageQueue;
- private event MessageListener listener;
- private int listenerCount = 0;
- private Thread asyncDeliveryThread = null;
- private AutoResetEvent pause = new AutoResetEvent(false);
- private Atomic<bool> asyncDelivery = new Atomic<bool>(false);
-
- public MessageConsumer(Session session, AcknowledgementMode acknowledgementMode, MessageQueue messageQueue)
- {
- this.session = session;
- this.acknowledgementMode = acknowledgementMode;
- this.messageQueue = messageQueue;
- if(null != this.messageQueue)
- {
- this.messageQueue.MessageReadPropertyFilter.SetAll();
- }
- }
-
- public event MessageListener Listener
- {
- add
- {
- listener += value;
- listenerCount++;
- StartAsyncDelivery();
- }
-
- remove
- {
- if(listenerCount > 0)
- {
- listener -= value;
- listenerCount--;
- }
-
- if(0 == listenerCount)
- {
- StopAsyncDelivery();
- }
- }
- }
-
- public IMessage Receive()
- {
- IMessage nmsMessage = null;
-
- if(messageQueue != null)
- {
- Message message;
-
- try
- {
- message = messageQueue.Receive(zeroTimeout);
- }
- catch
- {
- message = null;
- }
-
- if(null == message)
- {
- ReceiveCompletedEventHandler receiveMsg =
- delegate(Object source, ReceiveCompletedEventArgs asyncResult) {
- message = messageQueue.EndReceive(asyncResult.AsyncResult);
- pause.Set();
- };
-
- messageQueue.ReceiveCompleted += receiveMsg;
- messageQueue.BeginReceive();
- pause.WaitOne();
- messageQueue.ReceiveCompleted -= receiveMsg;
- }
-
- nmsMessage = ToNmsMessage(message);
- }
-
- return nmsMessage;
- }
-
- public IMessage Receive(TimeSpan timeout)
- {
- IMessage nmsMessage = null;
-
- if(messageQueue != null)
- {
- Message message = messageQueue.Receive(timeout);
- nmsMessage = ToNmsMessage(message);
- }
-
- return nmsMessage;
- }
-
- public IMessage ReceiveNoWait()
- {
- IMessage nmsMessage = null;
-
- if(messageQueue != null)
- {
- Message message = messageQueue.Receive(zeroTimeout);
- nmsMessage = ToNmsMessage(message);
- }
-
- return nmsMessage;
- }
-
- public void Dispose()
- {
- Close();
- }
-
- public void Close()
- {
- StopAsyncDelivery();
- if(messageQueue != null)
- {
- messageQueue.Dispose();
- messageQueue = null;
- }
- }
-
- protected virtual void StopAsyncDelivery()
- {
- if(asyncDelivery.CompareAndSet(true, false))
- {
- if(null != asyncDeliveryThread)
- {
- Tracer.Info("Stopping async delivery thread.");
- pause.Set();
- if(!asyncDeliveryThread.Join(10000))
- {
- Tracer.Info("Aborting async delivery thread.");
- asyncDeliveryThread.Abort();
- }
-
- asyncDeliveryThread = null;
- Tracer.Info("Async delivery thread stopped.");
- }
- }
- }
-
- protected virtual void StartAsyncDelivery()
- {
- if(asyncDelivery.CompareAndSet(false, true))
- {
- asyncDeliveryThread = new Thread(new ThreadStart(DispatchLoop));
- asyncDeliveryThread.Name = "Message Consumer Dispatch: " + messageQueue.QueueName;
- asyncDeliveryThread.IsBackground = true;
- asyncDeliveryThread.Start();
- }
- }
-
- protected virtual void DispatchLoop()
- {
- Tracer.Info("Starting dispatcher thread consumer: " + this);
- while(asyncDelivery.Value)
- {
- try
- {
- IMessage message = Receive();
- if(asyncDelivery.Value && message != null)
- {
- try
- {
- listener(message);
- }
- catch(Exception e)
- {
- HandleAsyncException(e);
- }
- }
- }
- catch(ThreadAbortException ex)
- {
- Tracer.InfoFormat("Thread abort received in thread: {0} : {1}", this, ex.Message);
- break;
- }
- catch(Exception ex)
- {
- Tracer.ErrorFormat("Exception while receiving message in thread: {0} : {1}", this, ex.Message);
- }
- }
- Tracer.Info("Stopping dispatcher thread consumer: " + this);
- }
-
- protected virtual void HandleAsyncException(Exception e)
- {
- session.Connection.HandleException(e);
- }
-
- protected virtual IMessage ToNmsMessage(Message message)
- {
- if(message == null)
- {
- return null;
- }
- return session.MessageConverter.ToNmsMessage(message);
- }
- }
-}
diff --git a/branches/1.2.x/src/main/csharp/MessageProducer.cs b/branches/1.2.x/src/main/csharp/MessageProducer.cs
deleted file mode 100644
index 26598d3..0000000
--- a/branches/1.2.x/src/main/csharp/MessageProducer.cs
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// An object capable of sending messages to some destination
- /// </summary>
- public class MessageProducer : IMessageProducer
- {
-
- private readonly Session session;
- private Destination destination;
-
- //private long messageCounter;
- private MsgDeliveryMode deliveryMode;
- private TimeSpan timeToLive;
- private MsgPriority priority;
- private bool disableMessageID;
- private bool disableMessageTimestamp;
-
- private MessageQueue messageQueue;
-
- public MessageProducer(Session session, Destination destination)
- {
- this.session = session;
- this.destination = destination;
- if(destination != null)
- {
- messageQueue = openMessageQueue(destination);
- }
- }
-
- private MessageQueue openMessageQueue(Destination dest)
- {
- MessageQueue rc = null;
- try
- {
- if(!MessageQueue.Exists(dest.Path))
- {
- // create the new message queue and make it transactional
- rc = MessageQueue.Create(dest.Path, session.Transacted);
- this.destination.Path = rc.Path;
- }
- else
- {
- rc = new MessageQueue(dest.Path);
- this.destination.Path = rc.Path;
- if(!rc.CanWrite)
- {
- throw new NMSSecurityException("Do not have write access to: " + dest);
- }
- }
- }
- catch(Exception e)
- {
- if(rc != null)
- {
- rc.Dispose();
- }
-
- throw new NMSException(e.Message + ": " + dest, e);
- }
- return rc;
- }
-
- public void Send(IMessage message)
- {
- Send(Destination, message);
- }
-
- public void Send(IMessage message, MsgDeliveryMode deliveryMode, MsgPriority priority, TimeSpan timeToLive)
- {
- Send(Destination, message, deliveryMode, priority, timeToLive);
- }
-
- public void Send(IDestination destination, IMessage message)
- {
- Send(destination, message, DeliveryMode, Priority, TimeToLive);
- }
-
- public void Send(IDestination destination, IMessage imessage, MsgDeliveryMode deliveryMode, MsgPriority priority, TimeSpan timeToLive)
- {
- BaseMessage message = (BaseMessage) imessage;
- MessageQueue mq = null;
-
- try
- {
- // Locate the MSMQ Queue we will be sending to
- if(messageQueue != null)
- {
- if(destination.Equals(this.destination))
- {
- mq = messageQueue;
- }
- else
- {
- throw new NMSException("This producer can only be used to send to: " + destination);
- }
- }
- else
- {
- mq = openMessageQueue((Destination) destination);
- }
-
- message.NMSDeliveryMode = deliveryMode;
- message.NMSTimeToLive = timeToLive;
- message.NMSPriority = priority;
- if(!DisableMessageTimestamp)
- {
- message.NMSTimestamp = DateTime.UtcNow;
- }
-
- if(!DisableMessageID)
- {
- // TODO: message.NMSMessageId =
- }
-
- // Convert the Mesasge into a MSMQ message
- Message msg = session.MessageConverter.ToMsmqMessage(message);
-
- if(mq.Transactional)
- {
- if(session.Transacted)
- {
- mq.Send(msg, session.MessageQueueTransaction);
-
- }
- else
- {
- // Start our own mini transaction here to send the message.
- using(MessageQueueTransaction transaction = new MessageQueueTransaction())
- {
- transaction.Begin();
- mq.Send(msg, transaction);
- transaction.Commit();
- }
- }
- }
- else
- {
- if(session.Transacted)
- {
- // We may want to raise an exception here since app requested
- // a transeced NMS session, but is using a non transacted message queue
- // For now silently ignore it.
- }
- mq.Send(msg);
- }
-
- }
- finally
- {
- if(mq != null && mq != messageQueue)
- {
- mq.Dispose();
- }
- }
- }
-
- public void Close()
- {
- if(messageQueue != null)
- {
- messageQueue.Dispose();
- messageQueue = null;
- }
- }
-
- public void Dispose()
- {
- Close();
- }
-
- public IMessage CreateMessage()
- {
- return session.CreateMessage();
- }
-
- public ITextMessage CreateTextMessage()
- {
- return session.CreateTextMessage();
- }
-
- public ITextMessage CreateTextMessage(String text)
- {
- return session.CreateTextMessage(text);
- }
-
- public IMapMessage CreateMapMessage()
- {
- return session.CreateMapMessage();
- }
-
- public IObjectMessage CreateObjectMessage(Object body)
- {
- return session.CreateObjectMessage(body);
- }
-
- public IBytesMessage CreateBytesMessage()
- {
- return session.CreateBytesMessage();
- }
-
- public IBytesMessage CreateBytesMessage(byte[] body)
- {
- return session.CreateBytesMessage(body);
- }
-
- public IStreamMessage CreateStreamMessage()
- {
- return session.CreateStreamMessage();
- }
-
- public MsgDeliveryMode DeliveryMode
- {
- get { return deliveryMode; }
- set { deliveryMode = value; }
- }
-
- public TimeSpan TimeToLive
- {
- get { return timeToLive; }
- set { timeToLive = value; }
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- public IDestination Destination
- {
- get { return destination; }
- set { destination = (Destination) value; }
- }
-
- public MsgPriority Priority
- {
- get { return priority; }
- set { priority = value; }
- }
-
- public bool DisableMessageID
- {
- get { return disableMessageID; }
- set { disableMessageID = value; }
- }
-
- public bool DisableMessageTimestamp
- {
- get { return disableMessageTimestamp; }
- set { disableMessageTimestamp = value; }
- }
- }
-}
diff --git a/branches/1.2.x/src/main/csharp/ObjectMessage.cs b/branches/1.2.x/src/main/csharp/ObjectMessage.cs
deleted file mode 100644
index dd9a5f5..0000000
--- a/branches/1.2.x/src/main/csharp/ObjectMessage.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System.IO;
-
-#if !(PocketPC||NETCF||NETCF_2_0)
-using System.Runtime.Serialization;
-using System.Runtime.Serialization.Formatters.Binary;
-#endif
-
-namespace Apache.NMS.MSMQ
-{
- public class ObjectMessage : BaseMessage, IObjectMessage
- {
- private object body;
-#if !(PocketPC||NETCF||NETCF_2_0)
- private IFormatter formatter;
-#endif
-
- public ObjectMessage()
- {
- }
-
- public ObjectMessage(object body)
- {
- this.body = body;
- }
-
- public object Body
- {
- get
- {
-#if !(PocketPC||NETCF||NETCF_2_0)
- if(body == null)
- {
- body = Formatter.Deserialize(new MemoryStream(Content));
- }
-#else
-#endif
- return body;
- }
-
- set
- {
-#if !(PocketPC||NETCF||NETCF_2_0)
- body = value;
-#else
- throw new NotImplementedException();
-#endif
- }
- }
-
-
-#if !(PocketPC||NETCF||NETCF_2_0)
- public IFormatter Formatter
- {
- get
- {
- if(formatter == null)
- {
- formatter = new BinaryFormatter();
- }
- return formatter;
- }
-
- set
- {
- formatter = value;
- }
- }
-
-#endif
- }
-}
-
-
-
-
-
-
diff --git a/branches/1.2.x/src/main/csharp/Queue.cs b/branches/1.2.x/src/main/csharp/Queue.cs
deleted file mode 100644
index 30efcd9..0000000
--- a/branches/1.2.x/src/main/csharp/Queue.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-namespace Apache.NMS.MSMQ
-{
-
- /// <summary>
- /// Summary description for Queue.
- /// </summary>
- public class Queue : Destination, IQueue
- {
-
- public Queue()
- : base()
- {
- }
-
- public Queue(String name)
- : base(name)
- {
- }
-
- override public DestinationType DestinationType
- {
- get
- {
- return DestinationType.Queue;
- }
- }
-
- public String QueueName
- {
- get { return Path; }
- }
-
-
- public override Destination CreateDestination(String name)
- {
- return new Queue(name);
- }
-
-
- }
-}
-
diff --git a/branches/1.2.x/src/main/csharp/Session.cs b/branches/1.2.x/src/main/csharp/Session.cs
deleted file mode 100644
index 6ee3d9e..0000000
--- a/branches/1.2.x/src/main/csharp/Session.cs
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// MSQM provider of ISession
- /// </summary>
- public class Session : ISession
- {
- private Connection connection;
- private AcknowledgementMode acknowledgementMode;
- private MessageQueueTransaction messageQueueTransaction;
- private IMessageConverter messageConverter;
-
- public Session(Connection connection, AcknowledgementMode acknowledgementMode)
- {
- this.connection = connection;
- this.acknowledgementMode = acknowledgementMode;
- MessageConverter = connection.MessageConverter;
- if(this.acknowledgementMode == AcknowledgementMode.Transactional)
- {
- MessageQueueTransaction = new MessageQueueTransaction();
- }
- }
-
- public void Dispose()
- {
- if(MessageQueueTransaction != null)
- {
- MessageQueueTransaction.Dispose();
- }
- }
-
- public IMessageProducer CreateProducer()
- {
- return CreateProducer(null);
- }
-
- public IMessageProducer CreateProducer(IDestination destination)
- {
- return new MessageProducer(this, (Destination) destination);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination)
- {
- return CreateConsumer(destination, null);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination, string selector)
- {
- return CreateConsumer(destination, selector, false);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination, string selector, bool noLocal)
- {
- if(selector != null)
- {
- throw new NotSupportedException("Selectors are not supported by MSMQ");
- }
- MessageQueue queue = MessageConverter.ToMsmqDestination(destination);
- return new MessageConsumer(this, acknowledgementMode, queue);
- }
-
- public IMessageConsumer CreateDurableConsumer(ITopic destination, string name, string selector, bool noLocal)
- {
- throw new NotSupportedException("Durable Topic subscribers are not supported by MSMQ");
- }
-
- public void DeleteDurableConsumer(string name)
- {
- throw new NotSupportedException("Durable Topic subscribers are not supported by MSMQ");
- }
-
- public IQueueBrowser CreateBrowser(IQueue queue)
- {
- throw new NotImplementedException();
- }
-
- public IQueueBrowser CreateBrowser(IQueue queue, string selector)
- {
- throw new NotImplementedException();
- }
-
- public IQueue GetQueue(string name)
- {
- return new Queue(name);
- }
-
- public ITopic GetTopic(string name)
- {
- throw new NotSupportedException("Topics are not supported by MSMQ");
- }
-
- public ITemporaryQueue CreateTemporaryQueue()
- {
- throw new NotSupportedException("Tempoary Queues are not supported by MSMQ");
- }
-
- public ITemporaryTopic CreateTemporaryTopic()
- {
- throw new NotSupportedException("Tempoary Topics are not supported by MSMQ");
- }
-
- /// <summary>
- /// Delete a destination (Queue, Topic, Temp Queue, Temp Topic).
- /// </summary>
- public void DeleteDestination(IDestination destination)
- {
- // TODO: Implement if possible. If not possible, then change exception to NotSupportedException().
- throw new NotImplementedException();
- }
-
- public IMessage CreateMessage()
- {
- BaseMessage answer = new BaseMessage();
- return answer;
- }
-
-
- public ITextMessage CreateTextMessage()
- {
- TextMessage answer = new TextMessage();
- return answer;
- }
-
- public ITextMessage CreateTextMessage(string text)
- {
- TextMessage answer = new TextMessage(text);
- return answer;
- }
-
- public IMapMessage CreateMapMessage()
- {
- return new MapMessage();
- }
-
- public IBytesMessage CreateBytesMessage()
- {
- return new BytesMessage();
- }
-
- public IBytesMessage CreateBytesMessage(byte[] body)
- {
- BytesMessage answer = new BytesMessage();
- answer.Content = body;
- return answer;
- }
-
- public IStreamMessage CreateStreamMessage()
- {
- return new StreamMessage();
- }
-
- public IObjectMessage CreateObjectMessage(Object body)
- {
- ObjectMessage answer = new ObjectMessage();
- answer.Body = body;
- return answer;
- }
-
- public void Commit()
- {
- if(!Transacted)
- {
- throw new InvalidOperationException("You cannot perform a Commit() on a non-transacted session. Acknowlegement mode is: " + acknowledgementMode);
- }
- messageQueueTransaction.Commit();
- }
-
- public void Rollback()
- {
- if(!Transacted)
- {
- throw new InvalidOperationException("You cannot perform a Commit() on a non-transacted session. Acknowlegement mode is: " + acknowledgementMode);
- }
- messageQueueTransaction.Abort();
- }
-
- // Properties
- public Connection Connection
- {
- get { return connection; }
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- public bool Transacted
- {
- get { return acknowledgementMode == AcknowledgementMode.Transactional; }
- }
-
- public AcknowledgementMode AcknowledgementMode
- {
- get { throw new NotImplementedException(); }
- }
-
- public MessageQueueTransaction MessageQueueTransaction
- {
- get
- {
- if(null != messageQueueTransaction
- && messageQueueTransaction.Status != MessageQueueTransactionStatus.Pending)
- {
- messageQueueTransaction.Begin();
- }
-
- return messageQueueTransaction;
- }
- set { messageQueueTransaction = value; }
- }
-
- public IMessageConverter MessageConverter
- {
- get { return messageConverter; }
- set { messageConverter = value; }
- }
-
- public void Close()
- {
- Dispose();
- }
- }
-}
diff --git a/branches/1.2.x/src/main/csharp/StreamMessage.cs b/branches/1.2.x/src/main/csharp/StreamMessage.cs
deleted file mode 100644
index c939867..0000000
--- a/branches/1.2.x/src/main/csharp/StreamMessage.cs
+++ /dev/null
@@ -1,893 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.IO;
-using Apache.NMS.Util;
-
-namespace Apache.NMS.MSMQ
-{
- public class StreamMessage : BaseMessage, IStreamMessage
- {
- private EndianBinaryReader dataIn = null;
- private EndianBinaryWriter dataOut = null;
- private MemoryStream byteBuffer = null;
- private int bytesRemaining = -1;
-
- public bool ReadBoolean()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.BOOLEAN_TYPE)
- {
- return this.dataIn.ReadBoolean();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Boolean.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a bool");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Boolean type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public byte ReadByte()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Byte.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a byte");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Byte type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public char ReadChar()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.CHAR_TYPE)
- {
- return this.dataIn.ReadChar();
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a char");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Char type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public short ReadInt16()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.SHORT_TYPE)
- {
- return this.dataIn.ReadInt16();
- }
- else if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Int16.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a short");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Int16 type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public int ReadInt32()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.INTEGER_TYPE)
- {
- return this.dataIn.ReadInt32();
- }
- else if(type == PrimitiveMap.SHORT_TYPE)
- {
- return this.dataIn.ReadInt16();
- }
- else if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Int32.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a int");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Int32 type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public long ReadInt64()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.LONG_TYPE)
- {
- return this.dataIn.ReadInt64();
- }
- else if(type == PrimitiveMap.INTEGER_TYPE)
- {
- return this.dataIn.ReadInt32();
- }
- else if(type == PrimitiveMap.SHORT_TYPE)
- {
- return this.dataIn.ReadInt16();
- }
- else if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Int64.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a long");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Int64 type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public float ReadSingle()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.FLOAT_TYPE)
- {
- return this.dataIn.ReadSingle();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Single.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a float");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Single type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public double ReadDouble()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.DOUBLE_TYPE)
- {
- return this.dataIn.ReadDouble();
- }
- else if(type == PrimitiveMap.FLOAT_TYPE)
- {
- return this.dataIn.ReadSingle();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Single.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a double");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Double type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public string ReadString()
- {
- InitializeReading();
-
- long startingPos = this.byteBuffer.Position;
-
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.BIG_STRING_TYPE)
- {
- return this.dataIn.ReadString32();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return this.dataIn.ReadString16();
- }
- else if(type == PrimitiveMap.LONG_TYPE)
- {
- return this.dataIn.ReadInt64().ToString();
- }
- else if(type == PrimitiveMap.INTEGER_TYPE)
- {
- return this.dataIn.ReadInt32().ToString();
- }
- else if(type == PrimitiveMap.SHORT_TYPE)
- {
- return this.dataIn.ReadInt16().ToString();
- }
- else if(type == PrimitiveMap.FLOAT_TYPE)
- {
- return this.dataIn.ReadSingle().ToString();
- }
- else if(type == PrimitiveMap.DOUBLE_TYPE)
- {
- return this.dataIn.ReadDouble().ToString();
- }
- else if(type == PrimitiveMap.CHAR_TYPE)
- {
- return this.dataIn.ReadChar().ToString();
- }
- else if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte().ToString();
- }
- else if(type == PrimitiveMap.BOOLEAN_TYPE)
- {
- return this.dataIn.ReadBoolean().ToString();
- }
- else if(type == PrimitiveMap.NULL)
- {
- return null;
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a known type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public int ReadBytes(byte[] value)
- {
- InitializeReading();
-
- if(value == null)
- {
- throw new NullReferenceException("Passed Byte Array is null");
- }
-
- try
- {
- if(this.bytesRemaining == -1)
- {
- long startingPos = this.byteBuffer.Position;
- byte type = this.dataIn.ReadByte();
-
- if(type != PrimitiveMap.BYTE_ARRAY_TYPE)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Not a byte array");
- }
-
- this.bytesRemaining = this.dataIn.ReadInt32();
- }
- else if(this.bytesRemaining == 0)
- {
- this.bytesRemaining = -1;
- return -1;
- }
-
- if(value.Length <= this.bytesRemaining)
- {
- // small buffer
- this.bytesRemaining -= value.Length;
- this.dataIn.Read(value, 0, value.Length);
- return value.Length;
- }
- else
- {
- // big buffer
- int rc = this.dataIn.Read(value, 0, this.bytesRemaining);
- this.bytesRemaining = 0;
- return rc;
- }
- }
- catch(EndOfStreamException ex)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(ex);
- }
- catch(IOException ex)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(ex);
- }
- }
-
- public Object ReadObject()
- {
- InitializeReading();
-
- long startingPos = this.byteBuffer.Position;
-
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.BIG_STRING_TYPE)
- {
- return this.dataIn.ReadString32();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return this.dataIn.ReadString16();
- }
- else if(type == PrimitiveMap.LONG_TYPE)
- {
- return this.dataIn.ReadInt64();
- }
- else if(type == PrimitiveMap.INTEGER_TYPE)
- {
- return this.dataIn.ReadInt32();
- }
- else if(type == PrimitiveMap.SHORT_TYPE)
- {
- return this.dataIn.ReadInt16();
- }
- else if(type == PrimitiveMap.FLOAT_TYPE)
- {
- return this.dataIn.ReadSingle();
- }
- else if(type == PrimitiveMap.DOUBLE_TYPE)
- {
- return this.dataIn.ReadDouble();
- }
- else if(type == PrimitiveMap.CHAR_TYPE)
- {
- return this.dataIn.ReadChar();
- }
- else if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte();
- }
- else if(type == PrimitiveMap.BOOLEAN_TYPE)
- {
- return this.dataIn.ReadBoolean();
- }
- else if(type == PrimitiveMap.BYTE_ARRAY_TYPE)
- {
- int length = this.dataIn.ReadInt32();
- byte[] data = new byte[length];
- this.dataIn.Read(data, 0, length);
- return data;
- }
- else if(type == PrimitiveMap.NULL)
- {
- return null;
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a known type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteBoolean(bool value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.BOOLEAN_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteByte(byte value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.BYTE_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteBytes(byte[] value)
- {
- InitializeWriting();
- this.WriteBytes(value, 0, value.Length);
- }
-
- public void WriteBytes(byte[] value, int offset, int length)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.BYTE_ARRAY_TYPE);
- this.dataOut.Write((int) length);
- this.dataOut.Write(value, offset, length);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteChar(char value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.CHAR_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteInt16(short value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.SHORT_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteInt32(int value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.INTEGER_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteInt64(long value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.LONG_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteSingle(float value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.FLOAT_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteDouble(double value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.DOUBLE_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteString(string value)
- {
- InitializeWriting();
- try
- {
- if(value.Length > 8192)
- {
- this.dataOut.Write(PrimitiveMap.BIG_STRING_TYPE);
- this.dataOut.WriteString32(value);
- }
- else
- {
- this.dataOut.Write(PrimitiveMap.STRING_TYPE);
- this.dataOut.WriteString16(value);
- }
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteObject(Object value)
- {
- InitializeWriting();
- if(value is System.Byte)
- {
- this.WriteByte((byte) value);
- }
- else if(value is Char)
- {
- this.WriteChar((char) value);
- }
- else if(value is Boolean)
- {
- this.WriteBoolean((bool) value);
- }
- else if(value is Int16)
- {
- this.WriteInt16((short) value);
- }
- else if(value is Int32)
- {
- this.WriteInt32((int) value);
- }
- else if(value is Int64)
- {
- this.WriteInt64((long) value);
- }
- else if(value is Single)
- {
- this.WriteSingle((float) value);
- }
- else if(value is Double)
- {
- this.WriteDouble((double) value);
- }
- else if(value is byte[])
- {
- this.WriteBytes((byte[]) value);
- }
- else if(value is String)
- {
- this.WriteString((string) value);
- }
- else
- {
- throw new MessageFormatException("Cannot write non-primitive type:" + value.GetType());
- }
- }
-
- public override void ClearBody()
- {
- base.ClearBody();
- this.byteBuffer = null;
- this.dataIn = null;
- this.dataOut = null;
- this.bytesRemaining = -1;
- }
-
- public void Reset()
- {
- StoreContent();
- this.dataIn = null;
- this.dataOut = null;
- this.byteBuffer = null;
- this.bytesRemaining = -1;
- this.ReadOnlyBody = true;
- }
-
- private void InitializeReading()
- {
- FailIfWriteOnlyBody();
- if(this.dataIn == null)
- {
- // TODO - Add support for Message Compression.
- this.byteBuffer = new MemoryStream(this.Content, false);
- dataIn = new EndianBinaryReader(byteBuffer);
- }
- }
-
- private void InitializeWriting()
- {
- FailIfReadOnlyBody();
- if(this.dataOut == null)
- {
- // TODO - Add support for Message Compression.
- this.byteBuffer = new MemoryStream();
- this.dataOut = new EndianBinaryWriter(byteBuffer);
- }
- }
-
- private void StoreContent()
- {
- if(dataOut != null)
- {
- dataOut.Close();
- // TODO - Add support for Message Compression.
-
- this.Content = byteBuffer.ToArray();
- this.dataOut = null;
- this.byteBuffer = null;
- }
- }
- }
-}
diff --git a/branches/1.2.x/src/main/csharp/TextMessage.cs b/branches/1.2.x/src/main/csharp/TextMessage.cs
deleted file mode 100644
index 9a8c61e..0000000
--- a/branches/1.2.x/src/main/csharp/TextMessage.cs
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-
-namespace Apache.NMS.MSMQ
-{
- public class TextMessage : BaseMessage, ITextMessage
- {
- public const int SIZE_OF_INT = 4; // sizeof(int) - though causes unsafe issues with net 1.1
-
- private String text;
-
- public TextMessage()
- {
- }
-
- public TextMessage(String text)
- {
- this.Text = text;
- }
-
-
- // Properties
-
- public string Text
- {
- get
- {
- if(text == null)
- {
- // now lets read the content
- byte[] data = this.Content;
- if(data != null)
- {
- // TODO assume that the text is ASCII
- char[] chars = new char[data.Length - SIZE_OF_INT];
- for(int i = 0; i < chars.Length; i++)
- {
- chars[i] = (char) data[i + SIZE_OF_INT];
- }
- text = new String(chars);
- }
- }
- return text;
- }
-
- set
- {
- this.text = value;
- byte[] data = null;
- if(text != null)
- {
- // TODO assume that the text is ASCII
-
- byte[] sizePrefix = System.BitConverter.GetBytes(text.Length);
- data = new byte[text.Length + sizePrefix.Length]; //int at the front of it
-
- // add the size prefix
- for(int j = 0; j < sizePrefix.Length; j++)
- {
- // The bytes need to be encoded in big endian
- if(BitConverter.IsLittleEndian)
- {
- data[j] = sizePrefix[sizePrefix.Length - j - 1];
- }
- else
- {
- data[j] = sizePrefix[j];
- }
- }
-
- // Add the data.
- char[] chars = text.ToCharArray();
- for(int i = 0; i < chars.Length; i++)
- {
- data[i + sizePrefix.Length] = (byte) chars[i];
- }
- }
- this.Content = data;
-
- }
- }
-
- }
-}
-
diff --git a/branches/1.2.x/src/main/ndoc/NamespaceSummary.xml b/branches/1.2.x/src/main/ndoc/NamespaceSummary.xml
deleted file mode 100644
index b8e19d5..0000000
--- a/branches/1.2.x/src/main/ndoc/NamespaceSummary.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<namespaces>
- <namespace name="NMS">
- The <b>NMS</b> namespace defines the .Net Message System API which is an interface to messaging systems rather like JMS is for Java.
- </namespace>
-</namespaces>
diff --git a/branches/1.2.x/src/main/sandcastle/feedback_content.xml b/branches/1.2.x/src/main/sandcastle/feedback_content.xml
deleted file mode 100644
index ee30a12..0000000
--- a/branches/1.2.x/src/main/sandcastle/feedback_content.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<content xml:space="preserve">
-
- <item id="fb_alias">activemq.docs@apache.org</item>
- <item id="fb_product"></item>
- <item id="fb_deliverable"></item>
-
- <item id="fb_subject">Customer%20Feedback</item>
- <item id="fb_body">%0\dThank%20you%20for%20your%20feedback.%20The%20developer%20writing%20teams%20use%20your%20feedback%20to%20improve%20documentation.%20While%20we%20are%20reviewing%20your%20feedback,%20we%20may%20send%20you%20e-mail%20to%20ask%20for%20clarification%20or%20feedback%20on%20a%20solution.%20We%20do%20not%20use%20your%20e-mail%20address%20for%20any%20other%20purpose.%0\d</item>
-
- <item id="fb_headerFeedBack">Send Feedback</item>
-
-
- <!-- feedback values for sandcastle scenario -->
-
- <item id="feedback_alias"></item>
- <item id="feedback_product"></item>
- <item id="feedback_deliverable"></item>
- <item id="feedback_fileVersion"></item>
- <item id="feedback_topicVersion"></item>
- <item id="feedback_body"></item>
- <item id="feedback_subject"></item>
-
- <item id="fb_Introduction">We value your feedback. To rate this topic and send feedback about this topic to the documentation team, click a rating, and then click <b>Send Feedback</b>. For assistance with support issues, refer to the technical support information included with the product.</item>
-
- <item id="fb_Send">Send Feedback</item>
- <item id="fb_Poor">Poor</item>
- <item id="fb_Excellent">Outstanding</item>
- <item id="fb_EnterFeedbackText">To e-mail your feedback, click here:</item>
- <item id="fb_Title">Documentation Feedback</item>
- <item id="fb_altIcon">Display feedback instructions at the bottom of the page.</item>
-
-</content>
\ No newline at end of file
diff --git a/branches/1.2.x/src/test/csharp/MSMQTest.cs b/branches/1.2.x/src/test/csharp/MSMQTest.cs
deleted file mode 100644
index 5cf5c09..0000000
--- a/branches/1.2.x/src/test/csharp/MSMQTest.cs
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Messaging;
-using NUnit.Framework;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// Use to test and verify MSMQ behaviour.
- /// </summary>
- [TestFixture]
- public class MSMQTest
- {
- String queueName = ".\\Private$\\FOO";
-
- [SetUp]
- public void SetUp()
- {
- }
-
- [TearDown]
- public void TearDown()
- {
- }
-
- [Test]
- public void TestSendAndReceive()
- {
- // check to make sure the message queue does not exist already
- if(!MessageQueue.Exists(queueName))
- {
- // create the new message queue and make it transactional
- MessageQueue MQ = MessageQueue.Create(queueName, true);
-
- // set the label name and close the message queue
- MQ.Label = "FOO";
- MQ.Close();
-
- Console.WriteLine("Created Queue: " + queueName);
- //Assert.Fail("Should have thrown an exception!");
- }
- else
- {
- Console.WriteLine("Queue Existed: " + queueName);
- }
-
- if(!MessageQueue.Exists(".\\Private$\\BAR"))
- {
- // create the new message queue and make it transactional
- MessageQueue MQ = MessageQueue.Create(".\\Private$\\BAR", true);
-
- // set the label name and close the message queue
- MQ.Label = "BAR Label";
- MQ.Close();
- }
- else
- {
- Console.WriteLine("Queue Existed: " + queueName);
- }
-
- // create a message queue transaction and start it
- MessageQueueTransaction Transaction = new MessageQueueTransaction();
- Transaction.Begin();
-
- MessageQueue MQueue = new MessageQueue(queueName);
-
- Message Msg = new Message("Hello World");
- Msg.ResponseQueue = new MessageQueue(".\\Private$\\BAR");
- Msg.Priority = MessagePriority.Normal;
- Msg.UseJournalQueue = true;
- Msg.Label = "Test Label";
-
- Msg.AcknowledgeType = AcknowledgeTypes.FullReceive;
- Msg.AdministrationQueue = Msg.ResponseQueue;
-
- // send the message
- MQueue.Send(Msg, Transaction);
- MQueue.Send(Msg, Transaction);
- MQueue.Send(Msg, Transaction);
-
- // commit the transaction
- Transaction.Commit();
-
- // Read the message.
- MQueue.MessageReadPropertyFilter.SetAll();
-
- // the target type we have stored in the message body
-
- ((XmlMessageFormatter) MQueue.Formatter).TargetTypes = new Type[] { typeof(String) };
-
- // read the message from the queue, but only wait for 5 sec
- Msg = MQueue.Receive(new TimeSpan(0, 0, 5));
-
- // read the order from the message body
- Console.WriteLine("Received: " + Msg.Body);
-
- // close the mesage queue
- MQueue.Close();
- }
- }
-}
-
-
-
diff --git a/branches/1.2.x/vs2008-msmq-test.csproj b/branches/1.2.x/vs2008-msmq-test.csproj
deleted file mode 100644
index ea54c4b..0000000
--- a/branches/1.2.x/vs2008-msmq-test.csproj
+++ /dev/null
@@ -1,121 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{2F31ED5C-44A2-464A-BD55-2B5B010654E8}</ProjectGuid>
- <OutputType>Library</OutputType>
- <RootNamespace>Apache.NMS.MSMQ.Test</RootNamespace>
- <AssemblyName>Apache.NMS.MSMQ.Test</AssemblyName>
- <WarningLevel>4</WarningLevel>
- <StartupObject>
- </StartupObject>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <OldToolsVersion>2.0</OldToolsVersion>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- <SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>keyfile\NMSKey.snk</AssemblyOriginatorKeyFile>
- <SccProjectName>Svn</SccProjectName>
- <SccLocalPath>Svn</SccLocalPath>
- <SccAuxPath>Svn</SccAuxPath>
- <SccProvider>SubversionScc</SccProvider>
- <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>build\net-2.0\debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <Optimize>true</Optimize>
- <OutputPath>build\net-2.0\release\</OutputPath>
- <DefineConstants>TRACE;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Apache.NMS, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\Apache.NMS\net-2.0\Apache.NMS.dll</HintPath>
- </Reference>
- <Reference Include="Apache.NMS.Test, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\Apache.NMS\net-2.0\Apache.NMS.Test.dll</HintPath>
- </Reference>
- <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\NUnit\net-2.0\nunit.framework.dll</HintPath>
- </Reference>
- <Reference Include="nunit.framework.extensions, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\NUnit\net-2.0\nunit.framework.extensions.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Messaging" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="src\test\csharp\CommonAssemblyInfo.cs" />
- <Compile Include="src\test\csharp\MSMQTest.cs">
- <SubType>Code</SubType>
- </Compile>
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="vs2008-msmq.csproj">
- <Project>{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}</Project>
- <Name>vs2008-msmq</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <ItemGroup>
- <Content Include="nmsprovider-test.config">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- </ItemGroup>
- <ItemGroup>
- <None Include="keyfile\NMSKey.snk" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
- <PropertyGroup>
- <PostBuildEvent>cd $(ProjectDir)
-nant -nologo -q install-all -D:compile.skip=true</PostBuildEvent>
- </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/trunk/keyfile/NMSKey.snk b/keyfile/NMSKey.snk
similarity index 100%
rename from trunk/keyfile/NMSKey.snk
rename to keyfile/NMSKey.snk
Binary files differ
diff --git a/trunk/nant-common.xml b/nant-common.xml
similarity index 100%
rename from trunk/nant-common.xml
rename to nant-common.xml
diff --git a/trunk/nant.build b/nant.build
similarity index 98%
rename from trunk/nant.build
rename to nant.build
index 1d28231..450b63f 100644
--- a/trunk/nant.build
+++ b/nant.build
@@ -22,7 +22,7 @@
<property name="basedir" value="${project::get-base-directory()}" />
<property name="project.name" value="Apache.NMS.MSMQ" />
<property name="project.group" value="org.apache.activemq" />
- <property name="project.version" value="1.4.0" unless="${property::exists('project.version')}" />
+ <property name="project.version" value="1.4.1" unless="${property::exists('project.version')}" />
<property name="project.release.type" value="SNAPSHOT" unless="${property::exists('project.release.type')}" />
<property name="project.short_description" value="Apache NMS for MSMQ Class Library" />
<property name="project.description" value="Apache NMS for MSMQ Class Library (.Net Messaging Library Implementation): An implementation of the NMS API for MSMQ" />
diff --git a/branches/1.2.x/nmsprovider-test.config b/nmsprovider-test.config
similarity index 100%
rename from branches/1.2.x/nmsprovider-test.config
rename to nmsprovider-test.config
diff --git a/package.ps1 b/package.ps1
new file mode 100644
index 0000000..8bb2e37
--- /dev/null
+++ b/package.ps1
@@ -0,0 +1,69 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+$pkgname = "Apache.NMS.MSMQ"
+$pkgver = "1.4-SNAPSHOT"
+$configurations = "release", "debug"
+$frameworks = "net-2.0", "net-3.5"
+
+write-progress "Creating package directory." "Initializing..."
+if(!(test-path package))
+{
+ md package
+}
+
+if(test-path build)
+{
+ pushd build
+
+ $pkgdir = "..\package"
+
+ write-progress "Packaging Application files." "Scanning..."
+ $zipfile = "$pkgdir\$pkgname-$pkgver-bin.zip"
+ zip -9 -u -j "$zipfile" ..\LICENSE.txt
+ zip -9 -u -j "$zipfile" ..\NOTICE.txt
+ foreach($configuration in $configurations)
+ {
+ foreach($framework in $frameworks)
+ {
+ zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll"
+ zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.xml"
+ zip -9 -u "$zipfile" "$framework\$configuration\nmsprovider*.config"
+ zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll"
+ zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.xml"
+ if($framework -ieq "mono-2.0")
+ {
+ zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll.mdb"
+ zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll.mdb"
+ }
+ else
+ {
+ zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.pdb"
+ zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.pdb"
+ }
+ }
+ }
+
+ popd
+}
+
+write-progress "Packaging Source code files." "Scanning..."
+$pkgdir = "package"
+$zipfile = "$pkgdir\$pkgname-$pkgver-src.zip"
+
+zip -9 -u "$zipfile" LICENSE.txt NOTICE.txt nant-common.xml nant.build package.ps1 vs2008-msmq-test.csproj vs2008-msmq.csproj vs2008-msmq.sln
+zip -9 -u -r "$zipfile" keyfile src
+
+write-progress -Completed "Packaging" "Complete."
diff --git a/trunk/src/main/csharp/BaseMessage.cs b/src/main/csharp/BaseMessage.cs
similarity index 100%
rename from trunk/src/main/csharp/BaseMessage.cs
rename to src/main/csharp/BaseMessage.cs
diff --git a/trunk/src/main/csharp/BytesMessage.cs b/src/main/csharp/BytesMessage.cs
similarity index 100%
rename from trunk/src/main/csharp/BytesMessage.cs
rename to src/main/csharp/BytesMessage.cs
diff --git a/trunk/src/main/csharp/Connection.cs b/src/main/csharp/Connection.cs
similarity index 100%
rename from trunk/src/main/csharp/Connection.cs
rename to src/main/csharp/Connection.cs
diff --git a/trunk/src/main/csharp/ConnectionFactory.cs b/src/main/csharp/ConnectionFactory.cs
similarity index 100%
rename from trunk/src/main/csharp/ConnectionFactory.cs
rename to src/main/csharp/ConnectionFactory.cs
diff --git a/trunk/src/main/csharp/ConnectionMetaData.cs b/src/main/csharp/ConnectionMetaData.cs
similarity index 100%
rename from trunk/src/main/csharp/ConnectionMetaData.cs
rename to src/main/csharp/ConnectionMetaData.cs
diff --git a/trunk/src/main/csharp/DefaultMessageConverter.cs b/src/main/csharp/DefaultMessageConverter.cs
similarity index 100%
rename from trunk/src/main/csharp/DefaultMessageConverter.cs
rename to src/main/csharp/DefaultMessageConverter.cs
diff --git a/trunk/src/main/csharp/Destination.cs b/src/main/csharp/Destination.cs
similarity index 100%
rename from trunk/src/main/csharp/Destination.cs
rename to src/main/csharp/Destination.cs
diff --git a/trunk/src/main/csharp/IMessageConverter.cs b/src/main/csharp/IMessageConverter.cs
similarity index 100%
rename from trunk/src/main/csharp/IMessageConverter.cs
rename to src/main/csharp/IMessageConverter.cs
diff --git a/trunk/src/main/csharp/MapMessage.cs b/src/main/csharp/MapMessage.cs
similarity index 100%
rename from trunk/src/main/csharp/MapMessage.cs
rename to src/main/csharp/MapMessage.cs
diff --git a/trunk/src/main/csharp/MessageConsumer.cs b/src/main/csharp/MessageConsumer.cs
similarity index 100%
rename from trunk/src/main/csharp/MessageConsumer.cs
rename to src/main/csharp/MessageConsumer.cs
diff --git a/trunk/src/main/csharp/MessageProducer.cs b/src/main/csharp/MessageProducer.cs
similarity index 100%
rename from trunk/src/main/csharp/MessageProducer.cs
rename to src/main/csharp/MessageProducer.cs
diff --git a/trunk/src/main/csharp/ObjectMessage.cs b/src/main/csharp/ObjectMessage.cs
similarity index 100%
rename from trunk/src/main/csharp/ObjectMessage.cs
rename to src/main/csharp/ObjectMessage.cs
diff --git a/trunk/src/main/csharp/Queue.cs b/src/main/csharp/Queue.cs
similarity index 100%
rename from trunk/src/main/csharp/Queue.cs
rename to src/main/csharp/Queue.cs
diff --git a/trunk/src/main/csharp/Session.cs b/src/main/csharp/Session.cs
similarity index 100%
rename from trunk/src/main/csharp/Session.cs
rename to src/main/csharp/Session.cs
diff --git a/trunk/src/main/csharp/StreamMessage.cs b/src/main/csharp/StreamMessage.cs
similarity index 100%
rename from trunk/src/main/csharp/StreamMessage.cs
rename to src/main/csharp/StreamMessage.cs
diff --git a/trunk/src/main/csharp/TextMessage.cs b/src/main/csharp/TextMessage.cs
similarity index 100%
rename from trunk/src/main/csharp/TextMessage.cs
rename to src/main/csharp/TextMessage.cs
diff --git a/trunk/src/main/ndoc/NamespaceSummary.xml b/src/main/ndoc/NamespaceSummary.xml
similarity index 100%
rename from trunk/src/main/ndoc/NamespaceSummary.xml
rename to src/main/ndoc/NamespaceSummary.xml
diff --git a/trunk/src/main/sandcastle/feedback_content.xml b/src/main/sandcastle/feedback_content.xml
similarity index 100%
rename from trunk/src/main/sandcastle/feedback_content.xml
rename to src/main/sandcastle/feedback_content.xml
diff --git a/trunk/src/test/csharp/MSMQTest.cs b/src/test/csharp/MSMQTest.cs
similarity index 100%
rename from trunk/src/test/csharp/MSMQTest.cs
rename to src/test/csharp/MSMQTest.cs
diff --git a/tags/1.0.0/LICENSE.txt b/tags/1.0.0/LICENSE.txt
deleted file mode 100755
index e52ce5d..0000000
--- a/tags/1.0.0/LICENSE.txt
+++ /dev/null
@@ -1,764 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-APACHE ACTIVEMQ DEPENDENCIES:
-
-The Apache ActiveMQ message broker includes a number of dependencies, many
-of them optional, with separate copyright notices and license terms. Your
-use of the source code for the these subcomponents is subject to the terms
-and conditions of the following licenses.
-
-For the backport-util-concurrent library:
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
-<html><head><title>Creative Commons Public Domain</title>
-
-<body>
-
-<p align="center"><em>Copyright-Only Dedication (based on United States law) or Public Domain Certification</em></p>
-
- <p>The
-person or persons who have associated work with this document (the
-"Dedicator" or "Certifier") hereby either (a) certifies that, to the
-best of his knowledge, the work of authorship identified is in the
-public domain of the country from which the work is published, or (b)
-hereby dedicates whatever copyright the dedicators holds in the work of
-authorship identified below (the "Work") to the public domain. A
-certifier, morever, dedicates any copyright interest he may have in the
-associated work, and for these purposes, is described as a "dedicator"
-below.</p>
-
- <p>A certifier has taken reasonable steps to verify
-the copyright status of this work. Certifier recognizes that his good
-faith efforts may not shield him from liability if in fact the work
-certified is not in the public domain.</p>
-
- <p>Dedicator makes
-this dedication for the benefit of the public at large and to the
-detriment of the Dedicator's heirs and successors. Dedicator intends
-this dedication to be an overt act of relinquishment in perpetuity of
-all present and future rights under copyright law, whether vested or
-contingent, in the Work. Dedicator understands that such relinquishment
-of all rights includes the relinquishment of all rights to enforce (by
-lawsuit or otherwise) those copyrights in the Work.</p>
-
- <p>Dedicator
-recognizes that, once placed in the public domain, the Work may be
-freely reproduced, distributed, transmitted, used, modified, built
-upon, or otherwise exploited by anyone for any purpose, commercial or
-non-commercial, and in any way, including by methods that have not yet
-been invented or conceived.</p>
- </div>
-</div>
-</body></html>
-
-For the mx4j, mx4j-remote, and mx4j-tools library:
-
- The MX4J License, Version 1.0
-
- Copyright (c) 2001-2004 by the MX4J contributors. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- 3. The end-user documentation included with the redistribution,
- if any, must include the following acknowledgment:
- "This product includes software developed by the
- MX4J project (http://mx4j.sourceforge.net)."
- Alternately, this acknowledgment may appear in the software itself,
- if and wherever such third-party acknowledgments normally appear.
-
- 4. The name "MX4J" must not be used to endorse or promote
- products derived from this software without prior written
- permission.
- For written permission, please contact
- biorn_steedom [at] users [dot] sourceforge [dot] net
-
- 5. Products derived from this software may not be called "MX4J",
- nor may "MX4J" appear in their name, without prior written
- permission of Simone Bordet.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE MX4J CONTRIBUTORS
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
- ====================================================================
-
- This software consists of voluntary contributions made by many
- individuals on behalf of the MX4J project. For more information on
- MX4J, please see
- <a href="http://mx4j.sourceforge.net" target="_top">the MX4J website</a>.
-
-For the jetty and jetty-util library:
-
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-For the xmlpull library:
-
-XMLPULL API IS FREE
--------------------
-
-All of the XMLPULL API source code, compiled code, and documentation
-contained in this distribution *except* for tests (see separate LICENSE_TESTS.txt)
-are in the Public Domain.
-
-XMLPULL API comes with NO WARRANTY or guarantee of fitness for any purpose.
-
-Initial authors:
-
- Stefan Haustein
- Aleksander Slominski
-
-2001-12-12
-
-For the spring library:
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-For the xstream library:
-
-(BSD Style License)
-
-Copyright (c) 2003-2004, Joe Walnes
-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 XStream 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.
diff --git a/tags/1.0.0/NOTICE.txt b/tags/1.0.0/NOTICE.txt
deleted file mode 100644
index 6860153..0000000
--- a/tags/1.0.0/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/tags/1.0.0/README.txt b/tags/1.0.0/README.txt
deleted file mode 100644
index 984151a..0000000
--- a/tags/1.0.0/README.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-=======================================================================
-Welcome to:
- * Apache.NMS.MSMQ : Apache NMS for MSMQ Class Library
-=======================================================================
-
-For more information see http://activemq.apache.org/nms
-
-=======================================================================
-Building With NAnt 0.85 http://nant.sourceforge.net/
-=======================================================================
-To build the code using NAnt type
-
- nant
-
-To run the unit tests you need to run an Apache ActiveMQ Broker first then type
-
- nant test
-
-To generate the documentation type
-
- nant doc
-
-
-=======================================================================
-Building With Visual Stuido 2005
-=======================================================================
-
-First build the project with nant, this will download and install
-all the 3rd party dependencies for you.
-
-Open the vs2005.sln Solution File. Build using "Build"->"Build Solution"
-menu option.
-
-The resulting DLLs will be in bin\Debug or the bin\Release directories
-depending on you settings under "Build"->"Configuration Manager"
-
-If you have the Resharper plugin installed in Visual Studio, you can run
-all the Unit Tests by using the "ReSharper"->"Unit Testing"->"Run All
-Tests from Solution" menu option. Please note that you must run an
-Apache ActiveMQ Broker before kicking off the unit tests.
diff --git a/tags/1.0.0/lib/mono-2.0/nunit.framework.dll b/tags/1.0.0/lib/mono-2.0/nunit.framework.dll
deleted file mode 100644
index 2a0a0aa..0000000
--- a/tags/1.0.0/lib/mono-2.0/nunit.framework.dll
+++ /dev/null
Binary files differ
diff --git a/tags/1.0.0/lib/net-1.1/nunit.framework.dll b/tags/1.0.0/lib/net-1.1/nunit.framework.dll
deleted file mode 100644
index c7b1c65..0000000
--- a/tags/1.0.0/lib/net-1.1/nunit.framework.dll
+++ /dev/null
Binary files differ
diff --git a/tags/1.0.0/lib/net-2.0/nunit.framework.dll b/tags/1.0.0/lib/net-2.0/nunit.framework.dll
deleted file mode 100644
index 2a0a0aa..0000000
--- a/tags/1.0.0/lib/net-2.0/nunit.framework.dll
+++ /dev/null
Binary files differ
diff --git a/tags/1.0.0/lib/net-3.5/nunit.framework.dll b/tags/1.0.0/lib/net-3.5/nunit.framework.dll
deleted file mode 100644
index 2a0a0aa..0000000
--- a/tags/1.0.0/lib/net-3.5/nunit.framework.dll
+++ /dev/null
Binary files differ
diff --git a/tags/1.0.0/lib/netcf-2.0/nunit.framework.dll b/tags/1.0.0/lib/netcf-2.0/nunit.framework.dll
deleted file mode 100644
index 2a0a0aa..0000000
--- a/tags/1.0.0/lib/netcf-2.0/nunit.framework.dll
+++ /dev/null
Binary files differ
diff --git a/tags/1.0.0/nant-common.xml b/tags/1.0.0/nant-common.xml
deleted file mode 100644
index e7dabb5..0000000
--- a/tags/1.0.0/nant-common.xml
+++ /dev/null
@@ -1,530 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<project xmlns="http://nant.sourceforge.net/release/0.85/nant.xsd">
-
- <!-- ============================================================================================ -->
- <!-- I N I T I A L I Z A T I O N T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <!-- global project settings -->
- <property name="project.cls.compliant" value="true" unless="${property::exists('project.cls.compliant')}"/>
- <property name="project.release.type" value="SNAPSHOT" unless="${property::exists('project.release.type')}" />
- <property name="project.version.full" value="${project.version + if(project.release.type == 'release', '', '-' + project.release.type)}" dynamic="true" />
- <property name="build.dir" value="${basedir}/build" />
- <property name="doc.dir" value="${build.dir}/doc" />
- <property name="lib.dir" value="${path::combine(basedir, 'lib')}" dynamic="true" />
- <property name="lib.family.dir" value="${path::combine(lib.dir, framework::get-family(framework::get-target-framework()))}" dynamic="true" />
- <property name="lib.framework.dir" value="${path::combine(lib.family.dir, version::to-string(framework::get-version(framework::get-target-framework())))}" dynamic="true" />
-
- <!-- default configuration -->
- <property name="build.defines" value=""/>
- <property name="build.noskip" value="false"/>
- <property name="build.skip" value="false"/>
- <property name="current.build.config" value="${if(project.release.type == 'release', 'release', 'debug')}"/>
- <property name="current.build.framework" value="${framework::get-target-framework()}"/>
- <property name="current.build.defines" value="${build.defines}" />
-
- <!-- Figure out the user's HOME directory -->
- <property name="user.home" value="${environment::get-variable('HOME')}"
- if="${environment::variable-exists('HOME') and platform::is-unix()}"
- unless="${property::exists('user.home')}"/>
- <property name="user.home" value="${environment::get-variable('USERPROFILE')}"
- if="${environment::variable-exists('USERPROFILE') and platform::is-win32()}"
- unless="${property::exists('user.home')}"/>
-
- <fail message="The HOME environment variable is not defined. Please set it to your home directory."
- unless="${property::exists('user.home')}" if="${platform::is-unix()}"/>
- <fail message="The USERPROFILE environment variable is not defined. Please set it to your home directory."
- unless="${property::exists('user.home')}" if="${platform::is-win32()}"/>
-
- <!-- Figure out the NANT repositories-->
- <property name="nant.repo" value="${environment::get-variable('NANT_REPO')}"
- if="${environment::variable-exists('NANT_REPO')}"
- unless="${property::exists('nant.repo')}"/>
- <property name="nant.local.repo" value="${user.home}/.nant/repository"
- unless="${property::exists('nant.local.repo')}"/>
-
- <property name="nant.remote.repo" value="${environment::get-variable('NANT_REMOTE_REPO')}"
- if="${environment::variable-exists('NANT_REMOTE_REPO')}"
- unless="${property::exists('nant.remote.repo')}"/>
- <property name="nant.remote.repo" value="http://people.apache.org/~chirino/nant-repo"
- unless="${property::exists('nant.remote.repo')}"/>
-
- <!-- Nant Repo Tasks -->
- <target name="repo-download" description="Download a dependency from the remote repo to the local repo">
- <fail message="The repo.task.artifact variable has not been set. Please set it before you call this task." unless="${property::exists('repo.task.artifact')}"/>
-
- <property name="repo.task.src" value="${nant.remote.repo}/${repo.task.artifact}"/>
- <property name="repo.task.dest" value="${nant.local.repo}/${repo.task.artifact}"/>
-
- <property name="repo.task.download" value="false"/>
- <if test="${not file::exists(repo.task.dest)}">
- <property name="repo.task.download" value="true"/>
- </if>
-
- <if test="${file::exists(repo.task.dest)}">
- <!-- TODO: we could also download if the file is a SNAPSHOT and is stale -->
- <property name="repo.task.download" value="false"/>
- <echo message="Artifact: ${nant.remote.repo}/${repo.task.artifact} is up to date."/>
- </if>
-
- <if test="${repo.task.download}">
- <echo message="Downloading artifact: ${repo.task.src}"/>
- <mkdir dir="${directory::get-parent-directory(repo.task.dest)}" />
- <get src="${repo.task.src}" dest="${repo.task.dest}"/>
- </if>
- </target>
-
- <target name="repo-install" description="Install a dependency to the local repo">
- <fail message="The repo.task.artifact variable has not been set. Please set it before you call this task." unless="${property::exists('repo.task.artifact')}"/>
- <fail message="The repo.task.src variable has not been set. Please set it before you call this task." unless="${property::exists('repo.task.src')}"/>
-
- <property name="repo.task.dest" value="${nant.local.repo}/${repo.task.artifact}"/>
- <mkdir dir="${directory::get-parent-directory(repo.task.dest)}" />
- <copy file="${repo.task.src}" tofile="${repo.task.dest}"/>
- </target>
-
- <target name="release-init" description="Initializes release build properties">
- <property name="snk.file" value="${environment::get-variable('ACTIVEMQ_DOTNET_SNK')}"
- if="${environment::variable-exists('ACTIVEMQ_DOTNET_SNK')}"
- unless="${property::exists('snk.file')}"/>
- <property name="snk.file" value="${basedir}/activemq-dotnet.snk" if="${not property::exists('snk.file')}"/>
- <if test="${not file::exists(snk.file)}">
- <if test="${build.noskip}">
- <fail message="Release key file not found. You can generate a key file by running 'sn -k activemq-dotnet.snk'. Then set the ACTIVEMQ_DOTNET_SNK environment variable to the full pathname of the file." />
- </if>
- <property name="build.skip.release" value="true" />
- </if>
- <if test="${file::exists(snk.file)}">
- <property name="build.skip.release" value="false" />
- </if>
- </target>
-
- <target name="init" description="Initializes build properties">
- <!-- enabled the release or debug configuration -->
- <call target="set-${current.build.config}-configuration"/>
-
- <!-- Check to see if our build setup for the target framework -->
- <if test="${not(target::exists('set-'+current.build.framework+'-framework-configuration'))}">
- <fail message="The '${current.build.framework}' framework is not supported by this version of ActiveMQ .NET" />
- </if>
- <call target="set-${current.build.framework}-framework-configuration" />
-
- <!-- Check to see current platform supports the target framework -->
- <if test="${framework::exists(current.build.framework)}">
- <!-- Make sure that the activemq-dotnet.snk exists for release builds -->
- <if test="${current.build.config.release}">
- <call target="release-init"/>
- </if>
- <property name="build.skip" value="false" />
- </if>
- <if test="${not framework::exists(current.build.framework)}">
- <if test="${build.noskip}">
- <fail message="${current.build.framework.name} is not available." />
- </if>
- <if test="${not(build.noskip)}">
- <echo message="${current.build.framework.name} is not available. Build skipped." />
- <property name="build.skip" value="true"/>
- </if>
- </if>
-
- <!-- Check to see if we should skip this build framework. -->
- <if test="${not(build.skip)}">
- <if test="${property::exists('build.'+current.build.framework+'.skip')}">
- <property name="build.skip" value="true"/>
- <echo message="The '${current.build.framework}' framework is not supported by this version of ActiveMQ .NET" />
- </if>
- </if>
-
- <if test="${not(build.skip)}">
- <property name="current.build.keysign" value="${current.build.config=='release' and file::exists(snk.file) and current.build.framework.sign}"/>
- <echo message="Doing ${if(current.build.keysign,'a signed','an unsigned')} ${current.build.config} build for the ${current.build.framework.name} framework" />
- <property name="build.bin.dir" value="${basedir}/build/${nant.settings.currentframework}/${current.build.config}" />
- <mkdir dir="${build.bin.dir}"/>
- <call target="dependency-init"/>
- </if>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- C O N F I G U R A T I O N T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="set-noskip-configuration" description="Disable skiping builds">
- <property name="project.noskip" value="true" />
- </target>
-
- <target name="set-debug-configuration" description="Enabled 'debug' builds">
- <property name="current.build.config" value="debug" />
- <property name="current.build.config.debug" value="true" />
- <property name="current.build.config.release" value="false" />
- <property name="csc.debug" value="true" />
- <property name="csc.optimize" value="false" />
- </target>
-
- <target name="set-release-configuration" description="Enabled 'release' builds">
- <property name="current.build.config" value="release" />
- <property name="current.build.config.release" value="true" />
- <property name="current.build.config.debug" value="false" />
- <property name="csc.debug" value="true" />
- <property name="csc.optimize" value="true" />
- </target>
-
- <target name="set-net-1.1-framework-configuration">
- <property name="current.build.framework" value="net-1.1" />
- <property name="current.build.framework.name" value=".NET 1.1"/>
- <property name="current.build.defines" value="${build.defines}NET,NET_1_1" dynamic="true" />
- <property name="current.build.framework.sign" value="true" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-net-2.0-framework-configuration">
- <property name="current.build.framework" value="net-2.0" />
- <property name="current.build.framework.name" value=".NET 2.0"/>
- <property name="current.build.defines" value="${build.defines}NET,NET_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="true"/>
- <property name="link.sdkdoc.version" value="SDK_v2_0" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-net-3.5-framework-configuration">
- <property name="current.build.framework" value="net-3.5" />
- <property name="current.build.framework.name" value=".NET 3.5"/>
- <property name="current.build.defines" value="${build.defines}NET,NET_2_0,NET_3_5" dynamic="true" />
- <property name="current.build.framework.sign" value="true"/>
- <property name="link.sdkdoc.version" value="SDK_v6_0a" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-netcf-2.0-framework-configuration">
- <property name="current.build.framework" value="netcf-2.0" />
- <property name="current.build.framework.name" value=".NET Compact Framework 2.0"/>
- <property name="current.build.defines" value="${build.defines}PocketPC,NETCF,NETCF_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="false" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-mono-2.0-framework-configuration">
- <property name="current.build.framework" value="mono-2.0" />
- <property name="current.build.framework.name" value="Mono 2.0"/>
- <property name="current.build.defines" value="${build.defines}MONO,MONO_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="true" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- C O M P I L E T A R G E T S -->
- <!-- ============================================================================================ -->
- <target name="compile-all" depends="release-init" description="Compile all build configurations for all runtime configurations">
- <echo message="Compiling all build configurations for all runtime configurations." />
- <call target="set-debug-configuration" />
- <call target="set-net-1.1-framework-configuration" /><call target="conditional-compile" />
- <call target="set-net-2.0-framework-configuration" /><call target="conditional-compile" />
- <call target="set-net-3.5-framework-configuration" /><call target="conditional-compile" />
- <call target="set-mono-2.0-framework-configuration" /><call target="conditional-compile" />
- <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-compile" />
-
- <call target="set-release-configuration" />
- <call target="set-net-1.1-framework-configuration" /><call target="conditional-compile" />
- <call target="set-net-2.0-framework-configuration" /><call target="conditional-compile" />
- <call target="set-net-3.5-framework-configuration" /><call target="conditional-compile" />
- <call target="set-mono-2.0-framework-configuration" /><call target="conditional-compile" />
- <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-compile" />
- </target>
-
- <target name="conditional-compile" depends="init" unless="${build.skip}"
- description="Conditionaly compiles all the modules if build framework and type are supported">
- <call target="compile" />
- </target>
-
- <target name="compile" depends="compile-main,compile-test" description="Compile everything"/>
-
- <target name="compile-main" depends="init" description="Build the main library">
- <echo message="Building the ${project.name} library"/>
-
- <asminfo output="src/main/csharp/CommonAssemblyInfo.cs" language="CSharp">
- <imports>
- <import namespace="System" />
- <import namespace="System.Reflection" />
- <import namespace="System.Runtime.InteropServices" />
- </imports>
- <attributes>
- <attribute type="ComVisibleAttribute" value="false" />
- <attribute type="CLSCompliantAttribute" value="${project.cls.compliant}" />
- <attribute type="AssemblyTitleAttribute" value="${project.short_description}" />
- <attribute type="AssemblyDescriptionAttribute" value="${project.description}" />
- <attribute type="AssemblyConfigurationAttribute" value="${project.release.type}" />
- <attribute type="AssemblyCompanyAttribute" value="http://activemq.apache.org/nms" />
- <attribute type="AssemblyProductAttribute" value="${project.short_description}" />
- <attribute type="AssemblyCopyrightAttribute" value="Copyright (C) 2005-${datetime::get-year(datetime::now())} Apache Software Foundation" />
- <attribute type="AssemblyTrademarkAttribute" value="" />
- <attribute type="AssemblyCultureAttribute" value="" />
- <attribute type="AssemblyVersionAttribute" value="${project.version}" />
- <attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" />
- </attributes>
- </asminfo>
-
- <csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.dll" doc="${build.bin.dir}/${project.name}.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/main/csharp/**.cs" />
- </sources>
- <references refid="dependencies" />
- </csc>
- <csc if="${not current.build.keysign}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.dll" doc="${build.bin.dir}/${project.name}.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/main/csharp/**.cs" />
- </sources>
- <references refid="dependencies" />
- </csc>
- <call target="copy-content"/>
- </target>
-
- <!-- Compile the nms-test module -->
- <target name="compile-test" depends="compile-main" description="Build the test library">
- <echo message="Building the ${project.name}.Test library" />
-
- <asminfo output="src/test/csharp/CommonAssemblyInfo.cs" language="CSharp">
- <imports>
- <import namespace="System" />
- <import namespace="System.Reflection" />
- <import namespace="System.Runtime.InteropServices" />
- </imports>
- <attributes>
- <attribute type="ComVisibleAttribute" value="false" />
- <attribute type="CLSCompliantAttribute" value="${project.cls.compliant}" />
- <attribute type="AssemblyTitleAttribute" value="${project.short_description}" />
- <attribute type="AssemblyDescriptionAttribute" value="${project.description}" />
- <attribute type="AssemblyConfigurationAttribute" value="${project.release.type}" />
- <attribute type="AssemblyCompanyAttribute" value="http://activemq.apache.org/nms" />
- <attribute type="AssemblyProductAttribute" value="${project.short_description}" />
- <attribute type="AssemblyCopyrightAttribute" value="Copyright (C) 2005-${datetime::get-year(datetime::now())} Apache Software Foundation" />
- <attribute type="AssemblyTrademarkAttribute" value="" />
- <attribute type="AssemblyCultureAttribute" value="" />
- <attribute type="AssemblyVersionAttribute" value="${project.version}" />
- <attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" />
- </attributes>
- </asminfo>
-
- <csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.Test.dll" doc="${build.bin.dir}/${project.name}.Test.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- <warning number="0618" /> <!-- do not report deprecation warnings -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/test/csharp/**.cs" />
- </sources>
- <references refid="test.dependencies" />
- </csc>
- <csc if="${not current.build.keysign}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.Test.dll" doc="${build.bin.dir}/${project.name}.Test.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- <warning number="0618" /> <!-- do not report deprecation warnings -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/test/csharp/**.cs" />
- </sources>
- <references refid="test.dependencies" />
- </csc>
- <call target="copy-content"/>
- </target>
-
- <target name="copy-content">
- <foreach item="File" property="content.filename">
- <in>
- <items refid="content.filenames" />
- </in>
- <do>
- <copy todir="${build.bin.dir}" file="${content.filename}" if="${not file::up-to-date(content.filename, '${build.bin.dir}/${content.filename}')}" />
- </do>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- I N S T A L L T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="install-all" depends="release-init" description="Install all build configurations for all runtime configurations">
- <echo message="Installing all build configurations for all runtime configurations." />
- <call target="set-debug-configuration" />
- <call target="set-net-1.1-framework-configuration" /><call target="conditional-install" />
- <call target="set-net-2.0-framework-configuration" /><call target="conditional-install" />
- <call target="set-net-3.5-framework-configuration" /><call target="conditional-install" />
- <call target="set-mono-2.0-framework-configuration" /><call target="conditional-install" />
- <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-install" />
-
- <!-- we can only do a release skip if the Key file is available -->
- <if test="${not build.skip.release}">
- <call target="set-release-configuration" />
- <call target="set-net-1.1-framework-configuration" /><call target="conditional-install" />
- <call target="set-net-2.0-framework-configuration" /><call target="conditional-install" />
- <call target="set-net-3.5-framework-configuration" /><call target="conditional-install" />
- <call target="set-mono-2.0-framework-configuration" /><call target="conditional-install" />
- <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-install" />
- </if>
- </target>
-
- <target name="conditional-install" depends="init" unless="${build.skip}"
- description="Conditionaly install all the modules if build framework and type are supported">
- <call target="install" />
- </target>
-
- <!-- Install the modules to the local repo -->
- <target name="install" depends="compile" description="Install the artifacts into the nant repo">
- <property name="path" value="${project.group}/${project.name}/${project.version.full}/${current.build.framework}/${current.build.config}"/>
-
- <foreach item="File" property="install.filename">
- <in>
- <items refid="install.filenames" />
- </in>
- <do>
- <property name="repo.task.artifact" value="${path}/${install.filename}"/>
- <property name="repo.task.src" value="${build.bin.dir}/${install.filename}"/>
- <call target="repo-install"/>
- </do>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- D E P L O Y T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="deploy-all" depends="release-init" description="Deploy all build configurations for all runtime configurations">
- <echo message="Deploying release configurations for all runtime configurations." />
-
- <call target="set-release-configuration" />
- <call target="set-net-1.1-framework-configuration" /><call target="conditional-deploy" />
- <call target="set-net-2.0-framework-configuration" /><call target="conditional-deploy" />
- <call target="set-net-3.5-framework-configuration" /><call target="conditional-deploy" />
- <call target="set-mono-2.0-framework-configuration" /><call target="conditional-deploy" />
- <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-deploy" />
-
- <!-- Commit the deployed files to repository. This completes the deployment. -->
- <exec program="svn" failonerror="false">
- <arg value="commit"/>
- <arg value="deploy"/>
- <arg value="-m"/>
- <arg value="Deploy ${project.name} ${project.version}"/>
- </exec>
- </target>
-
- <target name="conditional-deploy" depends="init" unless="${build.skip}"
- description="Conditionaly deploy all the modules if build framework and type are supported">
- <call target="deploy" />
- </target>
-
- <target name="init-deploy">
- </target>
-
- <!-- Deploy the modules to the global repo -->
- <target name="deploy" depends="init-deploy" description="Deploy the artifacts into the nant repo">
- <property name="repo.dir" value="deploy/${current.build.framework}"/>
-
- <foreach item="File" property="deploy.filename">
- <in>
- <items refid="deploy.filenames" />
- </in>
- <do>
- <property name="repo.task.dest" value="${path::get-file-name(deploy.filename)}"/>
- <copy file="${deploy.filename}" todir="${repo.dir}" if="${not file::up-to-date(deploy.filename, '${repo.dir}/${repo.task.dest}')}" />
- </do>
- </foreach>
-
- </target>
-
- <!-- ============================================================================================ -->
- <!-- M I S C E L L A N E O U S T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="clean" description="Deletes build">
- <if test="${target::exists('clean-init')}">
- <call target="clean-init"/>
- </if>
- <delete dir="build" if="${directory::exists('build')}" />
- <delete dir="obj" if="${directory::exists('obj')}" />
- </target>
-
- <target name="doc" depends="compile">
- <mkdir dir="${doc.dir}"/>
- <ndoc failonerror="false">
- <assemblies basedir="${build.bin.dir}">
- <include name="${project.name}.dll" />
- </assemblies>
- <summaries basedir="${basedir}/src/main/ndoc">
- <include name="NamespaceSummary.xml" />
- </summaries>
- <documenters>
- <documenter name="MSDN">
- <property name="OutputDirectory" value="${doc.dir}" />
- <property name="HtmlHelpName" value="${project.name}" />
- <property name="HtmlHelpCompilerFilename" value="hhc.exe" />
- <property name="IncludeFavorites" value="False" />
- <property name="Title" value="${project.short_description}" />
- <property name="SplitTOCs" value="False" />
- <property name="DefaulTOC" value="" />
- <!--
- <property name="ShowVisualBasic" value="True" />
- <property name="ShowMissingSummaries" value="True" />
- <property name="ShowMissingRemarks" value="True" />
- <property name="ShowMissingParams" value="True" />
- <property name="ShowMissingReturns" value="True" />
- <property name="ShowMissingValues" value="True" />
- -->
- <property name="DocumentInternals" value="False" />
- <property name="DocumentProtected" value="True" />
- <property name="DocumentPrivates" value="False" />
- <property name="DocumentEmptyNamespaces" value="False" />
- <property name="IncludeAssemblyVersion" value="False" />
- <property name="CopyrightText" value="" />
- <property name="CopyrightHref" value="" />
- </documenter>
- </documenters>
- </ndoc>
- </target>
-
-</project>
diff --git a/tags/1.0.0/nant.build b/tags/1.0.0/nant.build
deleted file mode 100644
index eaa5029..0000000
--- a/tags/1.0.0/nant.build
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<project name="Apache.NMS.MSMQ" default="compile-all" xmlns="http://nant.sourceforge.net/release/0.85/nant.xsd">
-
- <!-- ============================================================================================ -->
- <!-- I N I T I A L I Z A T I O N -->
- <!-- ============================================================================================ -->
- <property name="basedir" value="${project::get-base-directory()}"/>
- <property name="project.name" value="Apache.NMS.MSMQ"/>
- <property name="project.group" value="org.apache.activemq"/>
- <property name="project.version" value="1.0.0" unless="${property::exists('project.version')}"/>
- <property name="project.short_description" value="Apache NMS for MSMQ Class Library"/>
- <property name="project.description" value="Apache NMS for MSMQ Class Library (.Net Messaging Library Implementation): An implementation of the NMS API for MSMQ"/>
-
- <!-- Repository organized as: organization/module/version/plaform/artifact, platform might be something like 'all' or 'net-2.0/release' -->
- <property name="nunit.dll" value="${basedir}/lib/${current.build.framework}/nunit.framework.dll" dynamic="true"/>
- <property name="Apache.NMS.dll" value="${basedir}/vendor/Apache.NMS/${current.build.framework}/Apache.NMS.dll" dynamic="true"/>
- <property name="Apache.NMS.pdb" value="${basedir}/vendor/Apache.NMS/${current.build.framework}/Apache.NMS.pdb" dynamic="true"/>
- <property name="Apache.NMS.xml" value="${basedir}/vendor/Apache.NMS/${current.build.framework}/Apache.NMS.xml" dynamic="true"/>
- <property name="Apache.NMS.Test.dll" value="${basedir}/vendor/Apache.NMS/${current.build.framework}/Apache.NMS.Test.dll" dynamic="true"/>
- <property name="Apache.NMS.Test.pdb" value="${basedir}/vendor/Apache.NMS/${current.build.framework}/Apache.NMS.Test.pdb" dynamic="true"/>
- <property name="Apache.NMS.Test.xml" value="${basedir}/vendor/Apache.NMS/${current.build.framework}/Apache.NMS.Test.xml" dynamic="true"/>
-
- <!-- Skip certain frameworks, since MSMQ is not supported on those platforms. -->
- <property name="build.netcf-2.0.skip" value="true"/>
- <property name="build.mono-2.0.skip" value="true"/>
-
- <target name="dependency-init" description="Initializes build dependencies">
- <if test="${not file::exists(Apache.NMS.dll)}">
- <echo message="Apache.NMS assembly for ${current.build.framework.name} is not available. Build skipped." />
- <property name="build.skip" value="true"/>
- </if>
-
- <assemblyfileset failonempty="true" id="dependencies">
- <include name="mscorlib.dll" asis="true"/>
- <include name="System.dll" asis="true"/>
- <include name="System.Xml.dll" asis="true"/>
- <include name="${lib.framework.dir}/System.Messaging.dll" />
- <include name="${Apache.NMS.dll}"/>
- </assemblyfileset>
-
- <assemblyfileset failonempty="true" id="test.dependencies">
- <include name="mscorlib.dll" asis="true"/>
- <include name="System.dll" asis="true"/>
- <include name="System.Xml.dll" asis="true"/>
- <include name="${lib.framework.dir}/System.Messaging.dll" />
- <include name="${Apache.NMS.dll}"/>
- <include name="${Apache.NMS.Test.dll}"/>
- <include name="${build.bin.dir}/${project.name}.dll"/>
- <include name="${nunit.dll}"/>
- </assemblyfileset>
-
- <fileset id="content.filenames">
- <include name="LICENSE.txt"/>
- <include name="NOTICE.txt"/>
- <include name="nmsprovider-*.config"/>
- <include name="${Apache.NMS.dll}"/>
- <include name="${Apache.NMS.pdb}"/>
- <include name="${Apache.NMS.Test.dll}"/>
- <include name="${Apache.NMS.Test.pdb}"/>
- </fileset>
-
- <fileset id="install.filenames">
- <include name="${project.name}.dll"/>
- <include name="nmsprovider-*.config"/>
- </fileset>
-
- <fileset id="deploy.filenames">
- <include name="LICENSE.txt"/>
- <include name="NOTICE.txt"/>
- <include name="${build.bin.dir}/${project.name}.dll"/>
- <include name="${build.bin.dir}/${project.name}.?db"/>
- <include name="${build.bin.dir}/${project.name}.xml"/>
- <include name="${build.bin.dir}/${project.name}.Test.dll"/>
- <include name="${build.bin.dir}/${project.name}.Test.?db"/>
- <include name="${build.bin.dir}/${project.name}.Test.xml"/>
- <include name="${build.bin.dir}/nmsprovider-*.config"/>
- </fileset>
- </target>
-
- <!-- Load the common target definitions -->
- <include buildfile="${basedir}/nant-common.xml"/>
-</project>
diff --git a/tags/1.0.0/nmsprovider-msmq.config b/tags/1.0.0/nmsprovider-msmq.config
deleted file mode 100644
index c091c21..0000000
--- a/tags/1.0.0/nmsprovider-msmq.config
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!--
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
--->
-<configuration>
- <provider assembly="Apache.NMS.MSMQ.dll" classFactory="Apache.NMS.MSMQ.ConnectionFactory"/>
-</configuration>
diff --git a/tags/1.0.0/nmsprovider-test.config b/tags/1.0.0/nmsprovider-test.config
deleted file mode 100644
index 051f872..0000000
--- a/tags/1.0.0/nmsprovider-test.config
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!--
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
--->
-<configuration>
- <defaultURI value="msmq://localhost">
- <factoryParams>
- <param type="string" value="NMSTestClient"/>
- </factoryParams>
- <userName value="guest"/>
- <passWord value="guest"/>
- </defaultURI>
-</configuration>
diff --git a/tags/1.0.0/src/main/csharp/BaseMessage.cs b/tags/1.0.0/src/main/csharp/BaseMessage.cs
deleted file mode 100644
index 8a0e56a..0000000
--- a/tags/1.0.0/src/main/csharp/BaseMessage.cs
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.NMS;
-using System;
-
-namespace Apache.NMS.MSMQ
-{
- public delegate void AcknowledgeHandler(BaseMessage baseMessage);
-
- public class BaseMessage : IMessage
- {
- private PrimitiveMap propertiesMap = new PrimitiveMap();
- private IDestination destination;
- private string correlationId;
- private TimeSpan timeToLive;
- private string messageId;
- private bool persistent;
- private byte priority;
- private Destination replyTo;
- private string type;
- private event AcknowledgeHandler Acknowledger;
- private byte[] content;
- private DateTime timestamp = new DateTime();
-
- public byte[] Content
- {
- get { return content; }
- set { content = value; }
- }
-
- public void Acknowledge()
- {
- if (Acknowledger == null)
- {
- throw new NMSException("No Acknowledger has been associated with this message: " + this);
- }
- else
- {
- Acknowledger(this);
- }
- }
-
-
- // Properties
-
- public IPrimitiveMap Properties
- {
- get {
- return propertiesMap;
- }
- }
-
-
- // IMessage interface
-
- // NMS headers
-
- /// <summary>
- /// The correlation ID used to correlate messages with conversations or long running business processes
- /// </summary>
- public string NMSCorrelationID
- {
- get {
- return correlationId;
- }
- set {
- correlationId = value;
- }
- }
-
- /// <summary>
- /// The destination of the message
- /// </summary>
- public IDestination NMSDestination
- {
- get {
- return destination;
- }
- set {
- destination = value;
- }
- }
-
- /// <summary>
- /// The time in milliseconds that this message should expire in
- /// </summary>
- public TimeSpan NMSTimeToLive
- {
- get {
- return timeToLive;
- }
- set {
- timeToLive = value;
- }
- }
-
- /// <summary>
- /// The message ID which is set by the provider
- /// </summary>
- public string NMSMessageId
- {
- get {
- return messageId;
- }
- set {
- messageId = value;
- }
- }
-
- /// <summary>
- /// Whether or not this message is persistent
- /// </summary>
- public bool NMSPersistent
- {
- get {
- return persistent;
- }
- set {
- persistent = value;
- }
- }
-
- /// <summary>
- /// The Priority on this message
- /// </summary>
- public byte NMSPriority
- {
- get {
- return priority;
- }
- set {
- priority = value;
- }
- }
-
- /// <summary>
- /// Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully.
- /// </summary>
- public bool NMSRedelivered
- {
- get {
- return false;
- }
- }
-
-
- /// <summary>
- /// The destination that the consumer of this message should send replies to
- /// </summary>
- public IDestination NMSReplyTo
- {
- get {
- return replyTo;
- }
- set {
- replyTo = (Destination) value;
- }
- }
-
-
- /// <summary>
- /// The timestamp the broker added to the message
- /// </summary>
- public DateTime NMSTimestamp
- {
- get {
- return timestamp;
- }
- }
-
- /// <summary>
- /// The type name of this message
- /// </summary>
- public string NMSType
- {
- get {
- return type;
- }
- set {
- type = value;
- }
- }
-
-
- public object GetObjectProperty(string name)
- {
- return null;
- }
-
- public void SetObjectProperty(string name, object value)
- {
- }
-
-
- }
-}
-
diff --git a/tags/1.0.0/src/main/csharp/BytesMessage.cs b/tags/1.0.0/src/main/csharp/BytesMessage.cs
deleted file mode 100644
index c243168..0000000
--- a/tags/1.0.0/src/main/csharp/BytesMessage.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using Apache.NMS;
-
-
-namespace Apache.NMS.MSMQ
-{
- public class BytesMessage : BaseMessage, IBytesMessage
- {
- }
-}
-
diff --git a/tags/1.0.0/src/main/csharp/CommonAssemblyInfo.cs b/tags/1.0.0/src/main/csharp/CommonAssemblyInfo.cs
deleted file mode 100644
index 4b1ad63..0000000
--- a/tags/1.0.0/src/main/csharp/CommonAssemblyInfo.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.3053
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(true)]
-[assembly: AssemblyTitleAttribute("Apache NMS for MSMQ Class Library")]
-[assembly: AssemblyDescriptionAttribute("Apache NMS for MSMQ Class Library (.Net Messaging Library Implementation): An imp" +
- "lementation of the NMS API for MSMQ")]
-[assembly: AssemblyConfigurationAttribute("SNAPSHOT")]
-[assembly: AssemblyCompanyAttribute("http://activemq.apache.org/nms")]
-[assembly: AssemblyProductAttribute("Apache NMS for MSMQ Class Library")]
-[assembly: AssemblyCopyrightAttribute("Copyright (C) 2005-2008 Apache Software Foundation")]
-[assembly: AssemblyTrademarkAttribute("")]
-[assembly: AssemblyCultureAttribute("")]
-[assembly: AssemblyVersionAttribute("1.0.0")]
-[assembly: AssemblyInformationalVersionAttribute("1.0.0")]
-
diff --git a/tags/1.0.0/src/main/csharp/Connection.cs b/tags/1.0.0/src/main/csharp/Connection.cs
deleted file mode 100644
index f346ce2..0000000
--- a/tags/1.0.0/src/main/csharp/Connection.cs
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.NMS;
-using System;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// Represents a NMS connection MSMQ. Since the underlying MSMQ APIs are actually
- /// connectionless, NMS connection in the MSMQ case are not expensive operations.
- /// </summary>
- ///
- public class Connection : IConnection
- {
-
- private AcknowledgementMode acknowledgementMode = AcknowledgementMode.AutoAcknowledge;
- private IMessageConverter messageConverter = new DefaultMessageConverter();
-
- private bool connected;
- private bool closed;
- private string clientId;
-
- /// <summary>
- /// Starts message delivery for this connection.
- /// </summary>
- public void Start()
- {
- CheckConnected();
- }
-
- /// <summary>
- /// This property determines if the asynchronous message delivery of incoming
- /// messages has been started for this connection.
- /// </summary>
- public bool IsStarted
- {
- get
- {
- return true;
- }
- }
-
- /// <summary>
- /// Stop message delivery for this connection.
- /// </summary>
- public void Stop()
- {
- CheckConnected();
- }
-
- /// <summary>
- /// Creates a new session to work on this connection
- /// </summary>
- public ISession CreateSession()
- {
- return CreateSession(acknowledgementMode);
- }
-
- /// <summary>
- /// Creates a new session to work on this connection
- /// </summary>
- public ISession CreateSession(AcknowledgementMode mode)
- {
- CheckConnected();
- return new Session(this, mode);
- }
-
- public void Dispose()
- {
- closed = true;
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- public AcknowledgementMode AcknowledgementMode
- {
- get { return acknowledgementMode; }
- set { acknowledgementMode = value; }
- }
-
- public IMessageConverter MessageConverter
- {
- get { return messageConverter; }
- set { messageConverter = value; }
- }
-
- public string ClientId
- {
- get { return clientId; }
- set {
- if (connected)
- {
- throw new NMSException("You cannot change the ClientId once the Connection is connected");
- }
- clientId = value;
- }
- }
-
- public event ExceptionListener ExceptionListener;
-
- protected void CheckConnected()
- {
- if (closed)
- {
- throw new NMSException("Connection Closed");
- }
- if (!connected)
- {
- connected = true;
- // now lets send the connection and see if we get an ack/nak
- // TODO: establish a connection
- }
- }
-
- public void Close()
- {
- Dispose();
- }
-
- public void HandleException(Exception e)
- {
- if (ExceptionListener != null)
- {
- ExceptionListener(e);
- }
- else
- {
- Tracer.Error(e);
- }
-
- }
-
- }
-}
diff --git a/tags/1.0.0/src/main/csharp/ConnectionFactory.cs b/tags/1.0.0/src/main/csharp/ConnectionFactory.cs
deleted file mode 100644
index b2a272c..0000000
--- a/tags/1.0.0/src/main/csharp/ConnectionFactory.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using Apache.NMS;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// A Factory that can estbalish NMS connections to MSMQ
- /// </summary>
- public class ConnectionFactory : IConnectionFactory
- {
- public ConnectionFactory()
- {
- }
-
- public ConnectionFactory(String brokerUri)
- {
- }
-
- public ConnectionFactory(String brokerUri, string clientID)
- {
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection()
- {
- return new Connection();
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection(string userName, string password)
- {
- return new Connection();
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection(string userName, string password, bool useLogging)
- {
- return new Connection();
- }
- }
-}
diff --git a/tags/1.0.0/src/main/csharp/DefaultMessageConverter.cs b/tags/1.0.0/src/main/csharp/DefaultMessageConverter.cs
deleted file mode 100644
index ce9c96e..0000000
--- a/tags/1.0.0/src/main/csharp/DefaultMessageConverter.cs
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Text;
-using System.Messaging;
-using System.IO;
-using Apache.NMS;
-
-namespace Apache.NMS.MSMQ
-{
- public class DefaultMessageConverter : IMessageConverter
- {
- public virtual Message ToMsmqMessage(IMessage message)
- {
- Message answer = new Message();
- ConvertMessageBodyToMSMQ(message, answer);
- MessageQueue responseQueue=null;
- if (message.NMSReplyTo != null)
- {
- IDestination destination = message.NMSReplyTo;
- responseQueue = ToMsmqDestination(destination);
- }
- if (message.NMSTimeToLive != TimeSpan.Zero)
- {
- answer.TimeToBeReceived = message.NMSTimeToLive;
- }
- if (message.NMSCorrelationID != null)
- {
- answer.CorrelationId = message.NMSCorrelationID;
- }
- answer.Recoverable = message.NMSPersistent;
- answer.Priority = MessagePriority.Normal;
- answer.ResponseQueue = responseQueue;
- if(message.NMSType != null)
- {
- answer.Label = message.NMSType;
- }
- return answer;
- }
-
- protected virtual void ConvertMessageBodyToMSMQ(IMessage message,
- Message answer)
- {
- if (message is IBytesMessage)
- {
- byte[] bytes = (message as IBytesMessage).Content;
- answer.BodyStream.Write(bytes, 0, bytes.Length);
- }
- else
- {
- throw new Exception("unhandled message type");
- }
- }
-
- public virtual IMessage ToNmsMessage(Message message)
- {
- BaseMessage answer = CreateNmsMessage(message);
- answer.NMSMessageId = message.Id;
- try
- {
- answer.NMSCorrelationID = message.CorrelationId;
- }
- catch (InvalidOperationException)
- {
- }
-
- try
- {
- answer.NMSDestination = ToNmsDestination(message.DestinationQueue);
- }
- catch (InvalidOperationException)
- {
- }
-
- answer.NMSType = message.Label;
- answer.NMSReplyTo = ToNmsDestination(message.ResponseQueue);
- try
- {
- answer.NMSTimeToLive = message.TimeToBeReceived;
- }
- catch (InvalidOperationException)
- {
- }
- return answer;
- }
-
-
- public MessageQueue ToMsmqDestination(IDestination destination)
- {
- return new MessageQueue((destination as Destination).Path);
- }
-
- protected virtual IDestination ToNmsDestination(MessageQueue destinationQueue)
- {
- if (destinationQueue == null)
- {
- return null;
- }
- return new Queue(destinationQueue.Path);
- }
-
- protected virtual BaseMessage CreateNmsMessage(Message message)
- {
- Stream stream = message.BodyStream;
- if (stream == null || stream.Length == 0)
- {
- return new BaseMessage();
- }
- byte[] buf = new byte[stream.Length];
- stream.Read(buf, 0, buf.Length);
- // TODO: how to recognise other flavors of message?
- BytesMessage result = new BytesMessage();
- result.Content = buf;
- return result;
- }
- }
-}
diff --git a/tags/1.0.0/src/main/csharp/Destination.cs b/tags/1.0.0/src/main/csharp/Destination.cs
deleted file mode 100644
index 8afc2f1..0000000
--- a/tags/1.0.0/src/main/csharp/Destination.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.NMS;
-using System;
-namespace Apache.NMS.MSMQ
-{
-
- /// <summary>
- /// Summary description for Destination.
- /// </summary>
- public abstract class Destination : IDestination
- {
-
- private String path = "";
-
- /**
- * The Default Constructor
- */
- protected Destination()
- {
- }
-
- /**
- * Construct the Destination with a defined physical name;
- *
- * @param name
- */
- protected Destination(String name)
- {
- this.path = name;
- }
-
- public String Path
- {
- get { return this.path; }
- set { this.path = value; }
- }
-
-
- public bool IsTopic
- {
- get {
- return DestinationType == DestinationType.Topic
- || DestinationType == DestinationType.TemporaryTopic;
- }
- }
-
- public bool IsQueue
- {
- get {
- return !IsTopic;
- }
- }
-
-
- public bool IsTemporary
- {
- get {
- return DestinationType == DestinationType.TemporaryQueue
- || DestinationType == DestinationType.TemporaryTopic;
- }
- }
-
- /**
- * @return string representation of this instance
- */
- public override String ToString()
- {
- return this.path;
- }
-
- /**
- * @return hashCode for this instance
- */
- public override int GetHashCode()
- {
- int answer = 37;
-
- if (this.path != null)
- {
- answer = path.GetHashCode();
- }
- if (IsTopic)
- {
- answer ^= 0xfabfab;
- }
- return answer;
- }
-
- /**
- * if the object passed in is equivalent, return true
- *
- * @param obj the object to compare
- * @return true if this instance and obj are equivalent
- */
- public override bool Equals(Object obj)
- {
- bool result = this == obj;
- if (!result && obj != null && obj is Destination)
- {
- Destination other = (Destination) obj;
- result = this.DestinationType == other.DestinationType
- && this.path.Equals(other.path);
- }
- return result;
- }
-
- /**
- * Factory method to create a child destination if this destination is a composite
- * @param name
- * @return the created Destination
- */
- public abstract Destination CreateDestination(String name);
-
-
- public abstract DestinationType DestinationType
- {
- get;
- }
-
- }
-}
-
diff --git a/tags/1.0.0/src/main/csharp/IMessageConverter.cs b/tags/1.0.0/src/main/csharp/IMessageConverter.cs
deleted file mode 100644
index a6fa1f0..0000000
--- a/tags/1.0.0/src/main/csharp/IMessageConverter.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System.Messaging;
-using Apache.NMS;
-
-namespace Apache.NMS.MSMQ
-{
- public interface IMessageConverter
- {
-
- /// <summary>
- /// Method ToMSMQMessageQueue
- /// </summary>
- /// <param name="destination">An IDestination</param>
- /// <returns>A MessageQueue</returns>
- MessageQueue ToMsmqDestination(IDestination destination);
-
- Message ToMsmqMessage(IMessage message);
- IMessage ToNmsMessage(Message message);
- }
-}
diff --git a/tags/1.0.0/src/main/csharp/MapMessage.cs b/tags/1.0.0/src/main/csharp/MapMessage.cs
deleted file mode 100644
index cef04fa..0000000
--- a/tags/1.0.0/src/main/csharp/MapMessage.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.NMS;
-using System;
-
-
-namespace Apache.NMS.MSMQ
-{
- public class MapMessage : BaseMessage, IMapMessage
- {
- private PrimitiveMap body = new PrimitiveMap();
-
- public IPrimitiveMap Body
- {
- get { return body; }
- }
- }
-}
-
diff --git a/tags/1.0.0/src/main/csharp/MessageConsumer.cs b/tags/1.0.0/src/main/csharp/MessageConsumer.cs
deleted file mode 100644
index 2976f68..0000000
--- a/tags/1.0.0/src/main/csharp/MessageConsumer.cs
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.NMS;
-using Apache.NMS.Util;
-using System;
-using System.Messaging;
-using System.Threading;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// An object capable of receiving messages from some destination
- /// </summary>
- public class MessageConsumer : IMessageConsumer
- {
- protected TimeSpan zeroTimeout = new TimeSpan(0);
-
- private readonly Session session;
- private readonly AcknowledgementMode acknowledgementMode;
- private MessageQueue messageQueue;
- private event MessageListener listener;
- private AtomicBoolean asyncDelivery = new AtomicBoolean(false);
-
- public MessageConsumer(Session session, AcknowledgementMode acknowledgementMode, MessageQueue messageQueue)
- {
- this.session = session;
- this.acknowledgementMode = acknowledgementMode;
- this.messageQueue = messageQueue;
- }
-
- public event MessageListener Listener
- {
- add {
- listener += value;
- StartAsyncDelivery();
- }
- remove {
- listener -= value;
- }
- }
-
- public IMessage Receive()
- {
- Message message = messageQueue.Receive();
- return ToNmsMessage(message);
- }
-
- public IMessage Receive(TimeSpan timeout)
- {
- Message message = messageQueue.Receive(timeout);
- return ToNmsMessage(message);
- }
-
- public IMessage ReceiveNoWait()
- {
- Message message = messageQueue.Receive(zeroTimeout);
- return ToNmsMessage(message);
- }
-
- public void Dispose()
- {
- throw new NotImplementedException();
- }
-
- public void Close()
- {
- StopAsyncDelivery();
- Dispose();
- }
-
- public void StopAsyncDelivery()
- {
- asyncDelivery.Value = false;
- }
-
- protected virtual void StartAsyncDelivery()
- {
- if (asyncDelivery.CompareAndSet(false, true)) {
- Thread thread = new Thread(new ThreadStart(DispatchLoop));
- thread.IsBackground = true;
- thread.Start();
- }
- }
-
- protected virtual void DispatchLoop()
- {
- Tracer.Info("Starting dispatcher thread consumer: " + this);
- while (asyncDelivery.Value)
- {
- IMessage message = Receive();
- if (message != null)
- {
- try
- {
- listener(message);
- }
- catch (Exception e)
- {
- HandleAsyncException(e);
- }
- }
- }
- Tracer.Info("Stopping dispatcher thread consumer: " + this);
- }
-
- protected virtual void HandleAsyncException(Exception e)
- {
- session.Connection.HandleException(e);
- }
-
- protected virtual IMessage ToNmsMessage(Message message)
- {
- if (message == null)
- {
- return null;
- }
- return session.MessageConverter.ToNmsMessage(message);
- }
- }
-}
diff --git a/tags/1.0.0/src/main/csharp/MessageProducer.cs b/tags/1.0.0/src/main/csharp/MessageProducer.cs
deleted file mode 100644
index b248645..0000000
--- a/tags/1.0.0/src/main/csharp/MessageProducer.cs
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Messaging;
-using System.Threading;
-using Apache.NMS;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// An object capable of sending messages to some destination
- /// </summary>
- public class MessageProducer : IMessageProducer
- {
-
- private readonly Session session;
- private Destination destination;
-
- //private long messageCounter;
- private bool persistent;
- private TimeSpan timeToLive;
- private byte priority;
- private bool disableMessageID;
- private bool disableMessageTimestamp;
-
- private MessageQueue messageQueue;
- private IMessageConverter messageConverter;
-
- public MessageProducer(Session session, Destination destination)
- {
- this.session = session;
- this.destination = destination;
- MessageConverter = session.MessageConverter;
- if (destination != null)
- {
- messageQueue = openMessageQueue(destination);
- }
- }
-
- private MessageQueue openMessageQueue(Destination dest)
- {
- MessageQueue rc=null;
- try
- {
- if (!MessageQueue.Exists(dest.Path))
- {
- // create the new message queue and make it transactional
- rc = MessageQueue.Create(dest.Path, session.Transacted);
- this.destination.Path = rc.Path;
- } else
- {
- rc = new MessageQueue(dest.Path);
- this.destination.Path = rc.Path;
- if( !rc.CanWrite )
- {
- throw new NMSSecurityException("Do not have write access to: " + dest);
- }
- }
- }
- catch( Exception e )
- {
- if( rc!=null )
- {
- rc.Dispose();
- }
- throw new NMSException(e.Message+": "+dest, e);
- }
- return rc;
- }
-
- public void Send(IMessage message)
- {
- Send(Destination, message);
- }
-
- public void Send(IMessage message, bool persistent, byte priority, TimeSpan timeToLive)
- {
- Send(Destination, message, persistent, priority, timeToLive);
- }
-
- public void Send(IDestination destination, IMessage message)
- {
- Send(destination, message, Persistent, Priority, TimeToLive);
- }
-
- public void Send(IDestination destination, IMessage imessage, bool persistent, byte priority, TimeSpan timeToLive)
- {
- BaseMessage message = (BaseMessage) imessage;
- MessageQueue mq=null;
- MessageQueue responseQueue = null;
- MessageQueueTransaction transaction = null;
- try
- {
- // Locate the MSMQ Queue we will be sending to
- if (messageQueue != null)
- {
- if( destination.Equals(this.destination) )
- {
- mq = messageQueue;
- }
- else
- {
- throw new NMSException("This producer can only be used to send to: " + destination);
- }
- }
- else
- {
- mq = openMessageQueue((Destination) destination);
- }
-
- // Convert the Mesasge into a MSMQ message
- message.NMSPersistent = persistent;
- message.NMSTimeToLive = timeToLive;
- message.NMSPriority = priority;
-
- // message.NMSTimestamp = new DateTime().Date.;
- Message msg = messageConverter.ToMsmqMessage(message);
- // TODO: message.NMSMessageId =
- // Now Send the message
- if( mq.Transactional )
- {
- if (session.Transacted)
- {
- mq.Send(msg, session.MessageQueueTransaction);
-
- } else
- {
- // Start our own mini transaction here to send the message.
- transaction = new MessageQueueTransaction();
- transaction.Begin();
- mq.Send(msg, transaction);
- transaction.Commit();
- }
- } else
- {
- if( session.Transacted )
- {
- // We may want to raise an exception here since app requested
- // a transeced NMS session, but is using a non transacted message queue
- // For now silently ignore it.
- }
- mq.Send(msg);
- }
-
- } finally
- {
- // Cleanup
- if(transaction!=null)
- {
- transaction.Dispose();
- }
- if (responseQueue != null)
- {
- responseQueue.Dispose();
- }
- if( mq!=null && mq!=messageQueue )
- {
- mq.Dispose();
- }
- }
- }
-
- public void Close()
- {
- if(messageQueue != null)
- {
- messageQueue.Dispose();
- messageQueue = null;
- }
- }
-
- public void Dispose()
- {
- Close();
- }
-
- public IMessage CreateMessage()
- {
- return session.CreateMessage();
- }
-
- public ITextMessage CreateTextMessage()
- {
- return session.CreateTextMessage();
- }
-
- public ITextMessage CreateTextMessage(String text)
- {
- return session.CreateTextMessage(text);
- }
-
- public IMapMessage CreateMapMessage()
- {
- return session.CreateMapMessage();
- }
-
- public IObjectMessage CreateObjectMessage(Object body)
- {
- return session.CreateObjectMessage(body);
- }
-
- public IBytesMessage CreateBytesMessage()
- {
- return session.CreateBytesMessage();
- }
-
- public IBytesMessage CreateBytesMessage(byte[] body)
- {
- return session.CreateBytesMessage(body);
- }
-
- public bool Persistent
- {
- get { return persistent; }
- set { persistent = value; }
- }
-
- public TimeSpan TimeToLive
- {
- get { return timeToLive; }
- set { timeToLive = value; }
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- byte IMessageProducer.Priority
- {
- get { return NMSConstants.defaultPriority; }
- set { }
- }
-
- public IDestination Destination
- {
- get { return destination; }
- set { destination = (Destination) value; }
- }
-
- public byte Priority
- {
- get { return priority; }
- set { priority = value; }
- }
-
- public bool DisableMessageID
- {
- get { return disableMessageID; }
- set { disableMessageID = value; }
- }
-
- public bool DisableMessageTimestamp
- {
- get { return disableMessageTimestamp; }
- set { disableMessageTimestamp = value; }
- }
-
- public IMessageConverter MessageConverter
- {
- get { return messageConverter; }
- set { messageConverter = value; }
- }
-
- }
-}
diff --git a/tags/1.0.0/src/main/csharp/ObjectMessage.cs b/tags/1.0.0/src/main/csharp/ObjectMessage.cs
deleted file mode 100644
index 07ebd81..0000000
--- a/tags/1.0.0/src/main/csharp/ObjectMessage.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using Apache.NMS;
-using System;
-using System.Collections;
-using System.IO;
-
-#if !(PocketPC||NETCF||NETCF_2_0)
-using System.Runtime.Serialization;
-using System.Runtime.Serialization.Formatters.Binary;
-#endif
-
-namespace Apache.NMS.MSMQ
-{
- public class ObjectMessage : BaseMessage, IObjectMessage
- {
- private object body;
- #if !(PocketPC||NETCF||NETCF_2_0)
- private IFormatter formatter;
- #endif
-
- public ObjectMessage()
- {
- }
-
- public ObjectMessage(object body)
- {
- this.body = body;
- }
-
- public object Body
- {
- get {
- #if !(PocketPC||NETCF||NETCF_2_0)
- if (body == null)
- {
- body = Formatter.Deserialize(new MemoryStream(Content));
- }
- #else
- #endif
- return body;
- }
-
- set {
- #if !(PocketPC||NETCF||NETCF_2_0)
- body = value;
- #else
- throw new NotImplementedException();
- #endif
- }
- }
-
-
- #if !(PocketPC||NETCF||NETCF_2_0)
- public IFormatter Formatter
- {
- get {
- if (formatter == null)
- {
- formatter = new BinaryFormatter();
- }
- return formatter;
- }
-
- set {
- formatter = value;
- }
- }
-
- #endif
- }
-}
-
-
-
-
-
-
diff --git a/tags/1.0.0/src/main/csharp/PrimitiveMap.cs b/tags/1.0.0/src/main/csharp/PrimitiveMap.cs
deleted file mode 100644
index f5c2ef5..0000000
--- a/tags/1.0.0/src/main/csharp/PrimitiveMap.cs
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-using Apache.NMS;
-using System;
-using System.Collections;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// A default implementation of IPrimitiveMap
- /// </summary>
- [Serializable()]
- public class PrimitiveMap : IPrimitiveMap
- {
- public const byte NULL = 0;
- public const byte BOOLEAN_TYPE = 1;
- public const byte BYTE_TYPE = 2;
- public const byte CHAR_TYPE = 3;
- public const byte SHORT_TYPE = 4;
- public const byte INTEGER_TYPE = 5;
- public const byte LONG_TYPE = 6;
- public const byte DOUBLE_TYPE = 7;
- public const byte FLOAT_TYPE = 8;
- public const byte STRING_TYPE = 9;
- public const byte BYTE_ARRAY_TYPE = 10;
- public const byte MAP_TYPE = 11;
- public const byte LIST_TYPE = 12;
- public const byte BIG_STRING_TYPE = 13;
-
- private IDictionary dictionary = Hashtable.Synchronized(new Hashtable());
-
- public void Clear()
- {
- dictionary.Clear();
- }
-
- public bool Contains(Object key)
- {
- return dictionary.Contains(key);
- }
-
- public void Remove(Object key)
- {
- dictionary.Remove((string) key);
- }
-
-
- public int Count
- {
- get
- {
- return dictionary.Count;
- }
- }
-
- public ICollection Keys
- {
- get
- {
- return dictionary.Keys;
- }
- }
-
- public ICollection Values
- {
- get
- {
- return dictionary.Values;
- }
- }
-
- public object this[string key]
- {
- get
- {
- return GetValue(key);
- }
- set
- {
- CheckValidType(value);
- SetValue(key, value);
- }
- }
-
- public string GetString(string key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(string));
- return (string)value;
- }
-
- public void SetString(string key, string value)
- {
- SetValue(key, value);
- }
-
- public bool GetBool(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(bool));
- return (bool)value;
- }
-
- public void SetBool(String key, bool value)
- {
- SetValue(key, value);
- }
-
- public byte GetByte(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(byte));
- return (byte)value;
- }
-
- public void SetByte(String key, byte value)
- {
- SetValue(key, value);
- }
-
- public char GetChar(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(char));
- return (char)value;
- }
-
- public void SetChar(String key, char value)
- {
- SetValue(key, value);
- }
-
- public short GetShort(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(short));
- return (short)value;
- }
-
- public void SetShort(String key, short value)
- {
- SetValue(key, value);
- }
-
- public int GetInt(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(int));
- return (int)value;
- }
-
- public void SetInt(String key, int value)
- {
- SetValue(key, value);
- }
-
- public long GetLong(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(long));
- return (long)value;
- }
-
- public void SetLong(String key, long value)
- {
- SetValue(key, value);
- }
-
- public float GetFloat(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(float));
- return (float)value;
- }
-
- public void SetFloat(String key, float value)
- {
- SetValue(key, value);
- }
-
- public double GetDouble(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(double));
- return (double)value;
- }
-
- public void SetDouble(String key, double value)
- {
- SetValue(key, value);
- }
-
- public IList GetList(String key)
- {
- Object value = GetValue(key);
- if (value != null && !(value is IList))
- {
- throw new NMSException("Property: " + key + " is not an IList but is: " + value);
- }
- return (IList)value;
- }
-
- public void SetList(String key, IList value)
- {
- SetValue(key, value);
- }
-
- public IDictionary GetDictionary(String key)
- {
- Object value = GetValue(key);
- if (value != null && !(value is IDictionary))
- {
- throw new NMSException("Property: " + key + " is not an IDictionary but is: " + value);
- }
- return (IDictionary)value;
- }
-
- public void SetDictionary(String key, IDictionary value)
- {
- SetValue(key, value);
- }
-
-
- protected virtual void SetValue(String key, Object value)
- {
- dictionary[key] = value;
- }
-
- protected virtual Object GetValue(String key)
- {
- return dictionary[key];
- }
-
- protected virtual void CheckValueType(Object value, Type type)
- {
- if (!type.IsInstanceOfType(value))
- {
- throw new NMSException("Expected type: " + type.Name + " but was: " + value);
- }
- }
-
- protected virtual void CheckValidType(Object value)
- {
- if (value != null && !(value is IList) && !(value is IDictionary))
- {
- Type type = value.GetType();
- if (!type.IsPrimitive && !type.IsValueType && !type.IsAssignableFrom(typeof(string)))
- {
- throw new NMSException("Invalid type: " + type.Name + " for value: " + value);
- }
- }
- }
-
- /// <summary>
- /// Method ToString
- /// </summary>
- /// <returns>A string</returns>
- public override String ToString()
- {
- String s="{";
- bool first=true;
- lock(dictionary.SyncRoot)
- {
- foreach(DictionaryEntry entry in dictionary)
- {
- if(!first)
- {
- s+=", ";
- }
- first=false;
- String name = (String) entry.Key;
- Object value = entry.Value;
- s += name + "=" + value;
- }
- }
- s += "}";
- return s;
- }
- }
-}
diff --git a/tags/1.0.0/src/main/csharp/Queue.cs b/tags/1.0.0/src/main/csharp/Queue.cs
deleted file mode 100644
index 837abbc..0000000
--- a/tags/1.0.0/src/main/csharp/Queue.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.NMS;
-using System;
-
-namespace Apache.NMS.MSMQ
-{
-
- /// <summary>
- /// Summary description for Queue.
- /// </summary>
- public class Queue : Destination, IQueue
- {
-
- public Queue() : base()
- {
- }
-
- public Queue(String name) : base(name)
- {
- }
-
- override public DestinationType DestinationType
- {
- get {
- return DestinationType.Queue;
- }
- }
-
- public String QueueName
- {
- get { return Path; }
- }
-
-
- public override Destination CreateDestination(String name)
- {
- return new Queue(name);
- }
-
-
- }
-}
-
diff --git a/tags/1.0.0/src/main/csharp/Session.cs b/tags/1.0.0/src/main/csharp/Session.cs
deleted file mode 100644
index 0e0f774..0000000
--- a/tags/1.0.0/src/main/csharp/Session.cs
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.NMS;
-using System;
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// MSQM provider of ISession
- /// </summary>
- public class Session : ISession
- {
- private Connection connection;
- private AcknowledgementMode acknowledgementMode;
- private MessageQueueTransaction messageQueueTransaction;
- private IMessageConverter messageConverter;
-
- public Session(Connection connection, AcknowledgementMode acknowledgementMode)
- {
- this.connection = connection;
- this.acknowledgementMode = acknowledgementMode;
- MessageConverter = connection.MessageConverter;
- if (this.acknowledgementMode == AcknowledgementMode.Transactional)
- {
- MessageQueueTransaction = new MessageQueueTransaction();
- }
- }
-
- public void Dispose()
- {
- if(MessageQueueTransaction!=null)
- {
- MessageQueueTransaction.Dispose();
- }
- }
-
- public IMessageProducer CreateProducer()
- {
- return CreateProducer(null);
- }
-
- public IMessageProducer CreateProducer(IDestination destination)
- {
- return new MessageProducer(this, (Destination) destination);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination)
- {
- return CreateConsumer(destination, null);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination, string selector)
- {
- return CreateConsumer(destination, selector, false);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination, string selector, bool noLocal)
- {
- if(selector != null)
- {
- throw new NotImplementedException("Selectors are not supported by MSMQ");
- }
- MessageQueue queue = MessageConverter.ToMsmqDestination(destination);
- return new MessageConsumer(this, acknowledgementMode, queue);
- }
-
- public IMessageConsumer CreateDurableConsumer(ITopic destination, string name, string selector, bool noLocal)
- {
- throw new NotImplementedException("Durable Topic subscribers are not supported by MSMQ");
- }
-
- public void DeleteDurableConsumer(string name)
- {
- throw new NotImplementedException("Durable Topic subscribers are not supported by MSMQ");
- }
-
- public IQueue GetQueue(string name)
- {
- return new Queue(name);
- }
-
- public ITopic GetTopic(string name)
- {
- throw new NotImplementedException("Topics are not supported by MSMQ");
- }
-
- public ITemporaryQueue CreateTemporaryQueue()
- {
- throw new NotImplementedException("Tempoary Queues are not supported by MSMQ");
- }
-
- public ITemporaryTopic CreateTemporaryTopic()
- {
- throw new NotImplementedException("Tempoary Topics are not supported by MSMQ");
- }
-
- public IMessage CreateMessage()
- {
- BaseMessage answer = new BaseMessage();
- return answer;
- }
-
-
- public ITextMessage CreateTextMessage()
- {
- TextMessage answer = new TextMessage();
- return answer;
- }
-
- public ITextMessage CreateTextMessage(string text)
- {
- TextMessage answer = new TextMessage(text);
- return answer;
- }
-
- public IMapMessage CreateMapMessage()
- {
- return new MapMessage();
- }
-
- public IBytesMessage CreateBytesMessage()
- {
- return new BytesMessage();
- }
-
- public IBytesMessage CreateBytesMessage(byte[] body)
- {
- BytesMessage answer = new BytesMessage();
- answer.Content = body;
- return answer;
- }
-
- public IObjectMessage CreateObjectMessage(Object body)
- {
- ObjectMessage answer = new ObjectMessage();
- answer.Body = body;
- return answer;
- }
-
- public void Commit()
- {
- if (! Transacted )
- {
- throw new InvalidOperationException("You cannot perform a Commit() on a non-transacted session. Acknowlegement mode is: " + acknowledgementMode);
- }
- messageQueueTransaction.Commit();
- }
-
- public void Rollback()
- {
- if (! Transacted)
- {
- throw new InvalidOperationException("You cannot perform a Commit() on a non-transacted session. Acknowlegement mode is: " + acknowledgementMode);
- }
- messageQueueTransaction.Abort();
- }
-
- // Properties
- public Connection Connection
- {
- get { return connection; }
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- public bool Transacted
- {
- get { return acknowledgementMode == AcknowledgementMode.Transactional; }
- }
-
- public AcknowledgementMode AcknowledgementMode
- {
- get { throw new NotImplementedException(); }
- }
-
- public MessageQueueTransaction MessageQueueTransaction
- {
- get
- {
- if( messageQueueTransaction.Status != MessageQueueTransactionStatus.Pending )
- messageQueueTransaction.Begin();
- return messageQueueTransaction;
- }
- set { messageQueueTransaction = value; }
- }
-
- public IMessageConverter MessageConverter
- {
- get { return messageConverter; }
- set { messageConverter = value; }
- }
-
- public void Close()
- {
- Dispose();
- }
-
- }
-}
diff --git a/tags/1.0.0/src/main/csharp/StreamMessage.cs b/tags/1.0.0/src/main/csharp/StreamMessage.cs
deleted file mode 100644
index 405f1d5..0000000
--- a/tags/1.0.0/src/main/csharp/StreamMessage.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.MSMQ
-{
- public class StreamMessage : BaseMessage
- {
-
- }
-}
-
diff --git a/tags/1.0.0/src/main/csharp/TextMessage.cs b/tags/1.0.0/src/main/csharp/TextMessage.cs
deleted file mode 100644
index 2aadac7..0000000
--- a/tags/1.0.0/src/main/csharp/TextMessage.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.NMS;
-using System;
-
-
-namespace Apache.NMS.MSMQ
-{
- public class TextMessage : BaseMessage, ITextMessage
- {
- public const int SIZE_OF_INT = 4; // sizeof(int) - though causes unsafe issues with net 1.1
-
- private String text;
-
- public TextMessage()
- {
- }
-
- public TextMessage(String text)
- {
- this.Text = text;
- }
-
-
- // Properties
-
- public string Text
- {
- get {
- if (text == null)
- {
- // now lets read the content
- byte[] data = this.Content;
- if (data != null)
- {
- // TODO assume that the text is ASCII
- char[] chars = new char[data.Length - SIZE_OF_INT];
- for (int i = 0; i < chars.Length; i++)
- {
- chars[i] = (char) data[i + SIZE_OF_INT];
- }
- text = new String(chars);
- }
- }
- return text;
- }
-
- set {
- this.text = value;
- byte[] data = null;
- if (text != null)
- {
- // TODO assume that the text is ASCII
-
- byte[] sizePrefix = System.BitConverter.GetBytes(text.Length);
- data = new byte[text.Length + sizePrefix.Length]; //int at the front of it
-
- // add the size prefix
- for (int j = 0; j < sizePrefix.Length; j++)
- {
- // The bytes need to be encoded in big endian
- if ( BitConverter.IsLittleEndian ) {
- data[j] = sizePrefix[sizePrefix.Length - j - 1];
- } else {
- data[j] = sizePrefix[j];
- }
- }
-
- // Add the data.
- char[] chars = text.ToCharArray();
- for (int i = 0; i < chars.Length; i++)
- {
- data[i + sizePrefix.Length] = (byte)chars[i];
- }
- }
- this.Content = data;
-
- }
- }
-
- }
-}
-
diff --git a/tags/1.0.0/src/main/ndoc/NamespaceSummary.xml b/tags/1.0.0/src/main/ndoc/NamespaceSummary.xml
deleted file mode 100644
index b8e19d5..0000000
--- a/tags/1.0.0/src/main/ndoc/NamespaceSummary.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<namespaces>
- <namespace name="NMS">
- The <b>NMS</b> namespace defines the .Net Message System API which is an interface to messaging systems rather like JMS is for Java.
- </namespace>
-</namespaces>
diff --git a/tags/1.0.0/src/test/csharp/CommonAssemblyInfo.cs b/tags/1.0.0/src/test/csharp/CommonAssemblyInfo.cs
deleted file mode 100644
index 4b1ad63..0000000
--- a/tags/1.0.0/src/test/csharp/CommonAssemblyInfo.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.3053
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(true)]
-[assembly: AssemblyTitleAttribute("Apache NMS for MSMQ Class Library")]
-[assembly: AssemblyDescriptionAttribute("Apache NMS for MSMQ Class Library (.Net Messaging Library Implementation): An imp" +
- "lementation of the NMS API for MSMQ")]
-[assembly: AssemblyConfigurationAttribute("SNAPSHOT")]
-[assembly: AssemblyCompanyAttribute("http://activemq.apache.org/nms")]
-[assembly: AssemblyProductAttribute("Apache NMS for MSMQ Class Library")]
-[assembly: AssemblyCopyrightAttribute("Copyright (C) 2005-2008 Apache Software Foundation")]
-[assembly: AssemblyTrademarkAttribute("")]
-[assembly: AssemblyCultureAttribute("")]
-[assembly: AssemblyVersionAttribute("1.0.0")]
-[assembly: AssemblyInformationalVersionAttribute("1.0.0")]
-
diff --git a/tags/1.0.0/src/test/csharp/InheritedTests.cs b/tags/1.0.0/src/test/csharp/InheritedTests.cs
deleted file mode 100644
index 080036b..0000000
--- a/tags/1.0.0/src/test/csharp/InheritedTests.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using NUnit.Framework;
-
-namespace Apache.NMS.MSMQ.Test
-{
- // TODO: Override the formatting of destination names to support MSMQ
- // name formatting. MSMQ uses UNC names for queues. For example:
- // .\Private$\FooQueue
-
- [TestFixture]
- public class AsyncConsumeTest : Apache.NMS.Test.AsyncConsumeTest
- {
- }
-
- [TestFixture]
- public class BadConsumeTest : Apache.NMS.Test.BadConsumeTest
- {
- }
-
- [TestFixture]
- public class BytesMessageTest : Apache.NMS.Test.BytesMessageTest
- {
- }
-
- [TestFixture]
- public class ConnectionTest : Apache.NMS.Test.ConnectionTest
- {
- }
-
- [TestFixture]
- public class ConsumerTest : Apache.NMS.Test.ConsumerTest
- {
- }
-
- [TestFixture]
- public class DurableTest : Apache.NMS.Test.DurableTest
- {
- }
-
- [TestFixture]
- public class MapMessageTest : Apache.NMS.Test.MapMessageTest
- {
- }
-
- [TestFixture]
- public class NMSPropertyTest : Apache.NMS.Test.NMSPropertyTest
- {
- }
-
- [TestFixture]
- public class TextMessageTest : Apache.NMS.Test.TextMessageTest
- {
- }
-
- [TestFixture]
- public class TransactionTest : Apache.NMS.Test.TransactionTest
- {
- }
-}
diff --git a/tags/1.0.0/src/test/csharp/MSMQTest.cs b/tags/1.0.0/src/test/csharp/MSMQTest.cs
deleted file mode 100644
index cacf456..0000000
--- a/tags/1.0.0/src/test/csharp/MSMQTest.cs
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using NUnit.Framework;
-using System;
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// Use to test and verify MSMQ behaviour.
- /// </summary>
- [TestFixture]
- public class MSMQTest
- {
- String queueName = ".\\Private$\\FOO";
-
- [SetUp]
- public void SetUp()
- {
- }
-
- [TearDown]
- public void TearDown()
- {
- }
-
- [Test]
- public void TestSendAndReceive()
- {
- // check to make sure the message queue does not exist already
- if (!MessageQueue.Exists(queueName))
- {
- // create the new message queue and make it transactional
- MessageQueue MQ = MessageQueue.Create(queueName, true);
-
- // set the label name and close the message queue
- MQ.Label = "FOO";
- MQ.Close();
-
- Console.WriteLine("Created Queue: " + queueName);
- //Assert.Fail("Should have thrown an exception!");
- }
- else
- {
- Console.WriteLine("Queue Existed: " + queueName);
-
- }
-
-
- if (!MessageQueue.Exists(".\\Private$\\BAR"))
- {
- // create the new message queue and make it transactional
- MessageQueue MQ = MessageQueue.Create(".\\Private$\\BAR", true);
-
- // set the label name and close the message queue
- MQ.Label = "BAR Label";
- MQ.Close();
-
- }
- else
- {
- Console.WriteLine("Queue Existed: " + queueName);
-
- }
-
- // create a message queue transaction and start it
- MessageQueueTransaction Transaction = new MessageQueueTransaction();
- Transaction.Begin();
-
- MessageQueue MQueue = new MessageQueue(queueName);
-
- Message Msg = new Message("Hello World");
- Msg.ResponseQueue = new MessageQueue(".\\Private$\\BAR");
- Msg.Priority = MessagePriority.Normal;
- Msg.UseJournalQueue = true;
- Msg.Label = "Test Label";
-
- Msg.AcknowledgeType = AcknowledgeTypes.FullReceive;
- Msg.AdministrationQueue = Msg.ResponseQueue;
-
- // send the message
- MQueue.Send(Msg, Transaction);
- MQueue.Send(Msg, Transaction);
- MQueue.Send(Msg, Transaction);
-
- // commit the transaction
- Transaction.Commit();
-
-
- // Read the message.
- MQueue.MessageReadPropertyFilter.SetAll();
-
- // the target type we have stored in the message body
-
- ((XmlMessageFormatter)MQueue.Formatter).TargetTypes = new Type[] { typeof(String) };
-
- // read the message from the queue, but only wait for 5 sec
- Msg = MQueue.Receive(new TimeSpan(0, 0, 5));
-
- // read the order from the message body
- Console.WriteLine("Received: "+Msg.Body);
-
-
- // close the mesage queue
- MQueue.Close();
- }
-
- }
-}
-
-
-
diff --git a/tags/1.0.0/vs2008-msmq-test.csproj b/tags/1.0.0/vs2008-msmq-test.csproj
deleted file mode 100644
index eaaf7be..0000000
--- a/tags/1.0.0/vs2008-msmq-test.csproj
+++ /dev/null
@@ -1,111 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{2F31ED5C-44A2-464A-BD55-2B5B010654E8}</ProjectGuid>
- <OutputType>Library</OutputType>
- <RootNamespace>Apache.NMS.MSMQ.Test</RootNamespace>
- <AssemblyName>Apache.NMS.MSMQ.Test</AssemblyName>
- <WarningLevel>4</WarningLevel>
- <StartupObject>
- </StartupObject>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <OldToolsVersion>2.0</OldToolsVersion>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- <SignAssembly>false</SignAssembly>
- <AssemblyOriginatorKeyFile>
- </AssemblyOriginatorKeyFile>
- <SccProjectName>Svn</SccProjectName>
- <SccLocalPath>Svn</SccLocalPath>
- <SccAuxPath>Svn</SccAuxPath>
- <SccProvider>SubversionScc</SccProvider>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>build\net-2.0\debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <Optimize>true</Optimize>
- <OutputPath>build\net-2.0\release\</OutputPath>
- <DefineConstants>TRACE;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Apache.NMS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2a329723af30bc8d, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>vendor\Apache.NMS\net-3.5\Apache.NMS.dll</HintPath>
- </Reference>
- <Reference Include="Apache.NMS.Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2a329723af30bc8d, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>vendor\Apache.NMS\net-3.5\Apache.NMS.Test.dll</HintPath>
- </Reference>
- <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\net-3.5\nunit.framework.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Messaging" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="src\test\csharp\CommonAssemblyInfo.cs" />
- <Compile Include="src\test\csharp\InheritedTests.cs" />
- <Compile Include="src\test\csharp\MSMQTest.cs">
- <SubType>Code</SubType>
- </Compile>
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="vs2008-msmq.csproj">
- <Project>{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}</Project>
- <Name>vs2008-msmq</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <ItemGroup>
- <Content Include="nmsprovider-test.config">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
-</Project>
\ No newline at end of file
diff --git a/tags/1.0.0/vs2008-msmq.csproj b/tags/1.0.0/vs2008-msmq.csproj
deleted file mode 100644
index 3b064e3..0000000
--- a/tags/1.0.0/vs2008-msmq.csproj
+++ /dev/null
@@ -1,109 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}</ProjectGuid>
- <OutputType>Library</OutputType>
- <RootNamespace>Apache.NMS.MSMQ</RootNamespace>
- <AssemblyName>Apache.NMS.MSMQ</AssemblyName>
- <WarningLevel>4</WarningLevel>
- <StartupObject>
- </StartupObject>
- <SignAssembly>false</SignAssembly>
- <AssemblyOriginatorKeyFile>
- </AssemblyOriginatorKeyFile>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <OldToolsVersion>2.0</OldToolsVersion>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- <SccProjectName>Svn</SccProjectName>
- <SccLocalPath>Svn</SccLocalPath>
- <SccAuxPath>Svn</SccAuxPath>
- <SccProvider>SubversionScc</SccProvider>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>build\net-2.0\debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <Optimize>true</Optimize>
- <OutputPath>build\net-2.0\release\</OutputPath>
- <DefineConstants>TRACE;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Apache.NMS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2a329723af30bc8d, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>vendor\Apache.NMS\net-3.5\Apache.NMS.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Messaging" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="src\main\csharp\BaseMessage.cs" />
- <Compile Include="src\main\csharp\BytesMessage.cs" />
- <Compile Include="src\main\csharp\CommonAssemblyInfo.cs" />
- <Compile Include="src\main\csharp\Connection.cs" />
- <Compile Include="src\main\csharp\ConnectionFactory.cs" />
- <Compile Include="src\main\csharp\DefaultMessageConverter.cs" />
- <Compile Include="src\main\csharp\Destination.cs" />
- <Compile Include="src\main\csharp\IMessageConverter.cs" />
- <Compile Include="src\main\csharp\MapMessage.cs" />
- <Compile Include="src\main\csharp\MessageConsumer.cs" />
- <Compile Include="src\main\csharp\MessageProducer.cs" />
- <Compile Include="src\main\csharp\ObjectMessage.cs" />
- <Compile Include="src\main\csharp\PrimitiveMap.cs" />
- <Compile Include="src\main\csharp\Queue.cs" />
- <Compile Include="src\main\csharp\Session.cs" />
- <Compile Include="src\main\csharp\StreamMessage.cs" />
- <Compile Include="src\main\csharp\TextMessage.cs" />
- </ItemGroup>
- <ItemGroup>
- <None Include="nmsprovider-msmq.config">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </None>
- </ItemGroup>
- <ItemGroup>
- <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
-</Project>
\ No newline at end of file
diff --git a/tags/1.0.0/vs2008-msmq.sln b/tags/1.0.0/vs2008-msmq.sln
deleted file mode 100644
index a51006f..0000000
--- a/tags/1.0.0/vs2008-msmq.sln
+++ /dev/null
@@ -1,30 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2008-msmq", "vs2008-msmq.csproj", "{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2008-msmq-test", "vs2008-msmq-test.csproj", "{2F31ED5C-44A2-464A-BD55-2B5B010654E8}"
-EndProject
-Global
- GlobalSection(SubversionScc) = preSolution
- Svn-Managed = True
- Manager = AnkhSVN - Subversion Support for Visual Studio
- EndGlobalSection
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Release|Any CPU.Build.0 = Release|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/tags/1.1.0/Apache.NMS.MSMQ.Test.nunit b/tags/1.1.0/Apache.NMS.MSMQ.Test.nunit
deleted file mode 100644
index 3b29e26..0000000
--- a/tags/1.1.0/Apache.NMS.MSMQ.Test.nunit
+++ /dev/null
@@ -1,7 +0,0 @@
-<NUnitProject>
- <Settings activeconfig="Default" />
- <Config name="Default" binpathtype="Auto">
- <assembly path="Apache.NMS.MSMQ.Test.dll" />
- <assembly path="Apache.NMS.Test.dll" />
- </Config>
-</NUnitProject>
\ No newline at end of file
diff --git a/tags/1.1.0/LICENSE.txt b/tags/1.1.0/LICENSE.txt
deleted file mode 100755
index e52ce5d..0000000
--- a/tags/1.1.0/LICENSE.txt
+++ /dev/null
@@ -1,764 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-APACHE ACTIVEMQ DEPENDENCIES:
-
-The Apache ActiveMQ message broker includes a number of dependencies, many
-of them optional, with separate copyright notices and license terms. Your
-use of the source code for the these subcomponents is subject to the terms
-and conditions of the following licenses.
-
-For the backport-util-concurrent library:
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
-<html><head><title>Creative Commons Public Domain</title>
-
-<body>
-
-<p align="center"><em>Copyright-Only Dedication (based on United States law) or Public Domain Certification</em></p>
-
- <p>The
-person or persons who have associated work with this document (the
-"Dedicator" or "Certifier") hereby either (a) certifies that, to the
-best of his knowledge, the work of authorship identified is in the
-public domain of the country from which the work is published, or (b)
-hereby dedicates whatever copyright the dedicators holds in the work of
-authorship identified below (the "Work") to the public domain. A
-certifier, morever, dedicates any copyright interest he may have in the
-associated work, and for these purposes, is described as a "dedicator"
-below.</p>
-
- <p>A certifier has taken reasonable steps to verify
-the copyright status of this work. Certifier recognizes that his good
-faith efforts may not shield him from liability if in fact the work
-certified is not in the public domain.</p>
-
- <p>Dedicator makes
-this dedication for the benefit of the public at large and to the
-detriment of the Dedicator's heirs and successors. Dedicator intends
-this dedication to be an overt act of relinquishment in perpetuity of
-all present and future rights under copyright law, whether vested or
-contingent, in the Work. Dedicator understands that such relinquishment
-of all rights includes the relinquishment of all rights to enforce (by
-lawsuit or otherwise) those copyrights in the Work.</p>
-
- <p>Dedicator
-recognizes that, once placed in the public domain, the Work may be
-freely reproduced, distributed, transmitted, used, modified, built
-upon, or otherwise exploited by anyone for any purpose, commercial or
-non-commercial, and in any way, including by methods that have not yet
-been invented or conceived.</p>
- </div>
-</div>
-</body></html>
-
-For the mx4j, mx4j-remote, and mx4j-tools library:
-
- The MX4J License, Version 1.0
-
- Copyright (c) 2001-2004 by the MX4J contributors. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- 3. The end-user documentation included with the redistribution,
- if any, must include the following acknowledgment:
- "This product includes software developed by the
- MX4J project (http://mx4j.sourceforge.net)."
- Alternately, this acknowledgment may appear in the software itself,
- if and wherever such third-party acknowledgments normally appear.
-
- 4. The name "MX4J" must not be used to endorse or promote
- products derived from this software without prior written
- permission.
- For written permission, please contact
- biorn_steedom [at] users [dot] sourceforge [dot] net
-
- 5. Products derived from this software may not be called "MX4J",
- nor may "MX4J" appear in their name, without prior written
- permission of Simone Bordet.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE MX4J CONTRIBUTORS
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
- ====================================================================
-
- This software consists of voluntary contributions made by many
- individuals on behalf of the MX4J project. For more information on
- MX4J, please see
- <a href="http://mx4j.sourceforge.net" target="_top">the MX4J website</a>.
-
-For the jetty and jetty-util library:
-
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-For the xmlpull library:
-
-XMLPULL API IS FREE
--------------------
-
-All of the XMLPULL API source code, compiled code, and documentation
-contained in this distribution *except* for tests (see separate LICENSE_TESTS.txt)
-are in the Public Domain.
-
-XMLPULL API comes with NO WARRANTY or guarantee of fitness for any purpose.
-
-Initial authors:
-
- Stefan Haustein
- Aleksander Slominski
-
-2001-12-12
-
-For the spring library:
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-For the xstream library:
-
-(BSD Style License)
-
-Copyright (c) 2003-2004, Joe Walnes
-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 XStream 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.
diff --git a/tags/1.1.0/NOTICE.txt b/tags/1.1.0/NOTICE.txt
deleted file mode 100644
index 6860153..0000000
--- a/tags/1.1.0/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/tags/1.1.0/README.txt b/tags/1.1.0/README.txt
deleted file mode 100644
index 9a01bb8..0000000
--- a/tags/1.1.0/README.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-=======================================================================
-Welcome to:
- * Apache.NMS.MSMQ : Apache NMS for MSMQ Class Library
-=======================================================================
-
-For more information see http://activemq.apache.org/nms
-
-=======================================================================
-Building With NAnt 0.86-Beta2 http://nant.sourceforge.net/
-=======================================================================
-
-A recent nightly build of the NAnt 0.86 beta 2 is required to build Apache.NMS.
-To build the code using NAnt type
-
- nant
-
-To run the unit tests you need to run an Apache ActiveMQ Broker first then type
-
- nant test
-
-To generate the documentation type
-
- nant doc
-
-
-=======================================================================
-Building With Visual Stuido 2008
-=======================================================================
-
-First build the project with nant, this will download and install
-all the 3rd party dependencies for you.
-
-Open the Solution File. Build using "Build"->"Build Solution"
-menu option.
-
-The resulting DLLs will be in bin\Debug or the bin\Release directories
-depending on your settings under "Build"->"Configuration Manager"
-
-If you have the Resharper plugin installed in Visual Studio, you can run
-all the Unit Tests by using the "ReSharper"->"Unit Testing"->"Run All
-Tests from Solution" menu option. Please note that you must run an
-Apache ActiveMQ Broker before kicking off the unit tests.
diff --git a/tags/1.1.0/keyfile/NMSKey.snk b/tags/1.1.0/keyfile/NMSKey.snk
deleted file mode 100644
index fdd5b24..0000000
--- a/tags/1.1.0/keyfile/NMSKey.snk
+++ /dev/null
Binary files differ
diff --git a/tags/1.1.0/nant-common.xml b/tags/1.1.0/nant-common.xml
deleted file mode 100644
index 0062653..0000000
--- a/tags/1.1.0/nant-common.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<project xmlns="http://nant.sourceforge.net/release/0.85/nant.xsd">
-
- <!-- ============================================================================================ -->
- <!-- P R O P E R T Y D E F I N I T I O N S -->
- <!-- ============================================================================================ -->
-
- <!-- global project settings -->
- <property name="project.cls.compliant" value="true" unless="${property::exists('project.cls.compliant')}"/>
- <property name="project.release.type" value="SNAPSHOT" unless="${property::exists('project.release.type')}" />
- <property name="project.version.full" value="${project.version + if(project.release.type == 'snapshot', '-' + project.release.type, '')}" dynamic="true" />
- <property name="project.startyear" value="2005" />
- <property name="build.dir" value="${basedir}/build" />
- <property name="doc.dir" value="${build.dir}/doc" />
- <property name="lib.dir" value="${path::combine(basedir, 'lib')}" dynamic="true" />
- <property name="lib.family.dir" value="${path::combine(lib.dir, framework::get-family(framework::get-target-framework()))}" dynamic="true" />
- <property name="lib.framework.dir" value="${path::combine(lib.family.dir, version::to-string(framework::get-version(framework::get-target-framework())))}" dynamic="true" />
-
- <!-- default configuration -->
- <property name="build.defines" value=""/>
- <property name="build.noskip" value="false"/>
- <property name="build.skip" value="false"/>
- <property name="build.skip.release" value="false" unless="${property::exists('build.skip.release')}" />
- <property name="compile.skip" value="false" unless="${property::exists('compile.skip')}" />
- <property name="current.build.config" value="${if(project.release.type == 'release', 'release', 'debug')}" overwrite="false"/>
- <property name="current.build.framework" value="${framework::get-target-framework()}" overwrite="false"/>
- <property name="current.build.defines" value="${build.defines}" />
- <property name="build.framework.strings" value="net-1.1,net-2.0,net-3.5,mono-2.0,netcf-2.0"/>
- <property name="current.build.framework.assembly.dir" value="${framework::get-assembly-directory(framework::get-target-framework())}" dynamic="true"/>
-
- <property name="build.config.strings" value="${if(property::exists('configuration'), configuration, if(build.skip.release == 'true', 'debug', 'debug,release'))}" dynamic="true" />
-
- <!-- Figure out the user's HOME directory -->
- <property name="user.home" value="${environment::get-variable('HOME')}"
- if="${environment::variable-exists('HOME') and platform::is-unix()}"
- unless="${property::exists('user.home')}"/>
- <property name="user.home" value="${environment::get-variable('USERPROFILE')}"
- if="${environment::variable-exists('USERPROFILE') and platform::is-windows()}"
- unless="${property::exists('user.home')}"/>
-
- <fail message="The HOME environment variable is not defined. Please set it to your home directory."
- unless="${property::exists('user.home')}" if="${platform::is-unix()}"/>
- <fail message="The USERPROFILE environment variable is not defined. Please set it to your home directory."
- unless="${property::exists('user.home')}" if="${platform::is-windows()}"/>
-
- <!-- Figure out the NANT repositories -->
- <property name="nant.remote.repo" value="${environment::get-variable('NANT_REMOTE_REPO')}"
- if="${environment::variable-exists('NANT_REMOTE_REPO')}"
- unless="${property::exists('nant.remote.repo')}"/>
- <property name="nant.local.repo" value="${environment::get-variable('NANT_REPO')}/local"
- if="${environment::variable-exists('NANT_REPO')}"
- unless="${property::exists('nant.local.repo')}"/>
- <property name="nant.local.repo" value="${user.home}/.nant/repository/local"
- unless="${property::exists('nant.local.repo')}"/>
-
- <!-- Figure out the keyfile location -->
- <property name="snk.file" value="${environment::get-variable('ACTIVEMQ_DOTNET_SNK')}"
- if="${environment::variable-exists('ACTIVEMQ_DOTNET_SNK')}"
- unless="${property::exists('snk.file')}"/>
- <property name="snk.file" value="${basedir}/keyfile/NMSKey.snk" if="${not property::exists('snk.file')}"/>
-
- <!-- ============================================================================================ -->
- <!-- I N I T I A L I Z A T I O N T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="init" description="Initializes build properties">
- <!-- enabled the release or debug configuration -->
- <call target="set-${current.build.config}-configuration"/>
-
- <!-- Check to see if our build setup for the target framework -->
- <if test="${not(target::exists('set-'+current.build.framework+'-framework-configuration'))}">
- <fail message="The '${current.build.framework}' framework is not supported by this version of ActiveMQ .NET" />
- </if>
- <call target="set-${current.build.framework}-framework-configuration" />
-
- <!-- Check to see current platform supports the target framework -->
- <if test="${framework::exists(current.build.framework)}">
- <property name="build.skip" value="false"/>
- </if>
- <if test="${not framework::exists(current.build.framework)}">
- <if test="${build.noskip}">
- <fail message="${current.build.framework.name} is not available." />
- </if>
- <if test="${not(build.noskip)}">
- <echo message="${current.build.framework.name} is not available. Build skipped." />
- <property name="build.skip" value="true"/>
- </if>
- </if>
-
- <!-- Check to see if we should skip this build framework. -->
- <if test="${not(build.skip)}">
- <if test="${property::exists('build.'+current.build.framework+'.skip')}">
- <property name="build.skip" value="true"/>
- <echo message="The '${current.build.framework}' framework is not supported by this version of ActiveMQ .NET" />
- </if>
- </if>
-
- <property name="current.build.keysign" value="${current.build.framework.sign}"/>
- <property name="build.bin.dir" value="${basedir}/build/${nant.settings.currentframework}/${current.build.config}" />
- <if test="${not(build.skip)}">
- <echo message="Doing ${if(current.build.keysign,'a signed','an unsigned')} ${current.build.config} build for the ${current.build.framework.name} framework" />
- <mkdir dir="${build.bin.dir}"/>
- </if>
- <call target="dependency-init"/>
- </target>
-
- <target name="generate-build-number">
- <script language="C#">
- <imports>
- <import namespace="System.Globalization" />
- <import namespace="System.Threading" />
- </imports>
-
- <code>
- <!-- Format for assembly revision is the number of days from the year the project 'started', property project.startyear. -->
- <![CDATA[
- public static void ScriptMain(Project project)
- {
- int startYear = Convert.ToInt32(project.Properties["project.startyear"]);
- DateTime start = new DateTime(startYear, 1, 1);
- TimeSpan ts = DateTime.Now - start;
- project.Properties["project.version.numeric"] = project.Properties["project.version"].ToString() + "." + ts.Days.ToString();
- }
- ]]>
- </code>
- </script>
- </target>
-
- <!-- Generate assemblyinfo.cs files -->
- <target name="generate-assemblyinfo" depends="generate-build-number" description="Generate the assembly info for the path in assemblyinfo.filename">
- <asminfo output="${assemblyinfo.filename}" language="CSharp">
- <imports>
- <import namespace="System" />
- <import namespace="System.Reflection" />
- <import namespace="System.Runtime.InteropServices" />
- </imports>
- <attributes>
- <attribute type="ComVisibleAttribute" value="false" />
- <attribute type="CLSCompliantAttribute" value="${project.cls.compliant}" />
- <attribute type="AssemblyTitleAttribute" value="${project.short_description}" />
- <attribute type="AssemblyDescriptionAttribute" value="${project.description}" />
- <attribute type="AssemblyConfigurationAttribute" value="${project.release.type}" />
- <attribute type="AssemblyCompanyAttribute" value="http://activemq.apache.org/nms" />
- <attribute type="AssemblyProductAttribute" value="${project.short_description}" />
- <attribute type="AssemblyCopyrightAttribute" value="Copyright (C) ${project.startyear}-${datetime::get-year(datetime::now())} Apache Software Foundation" />
- <attribute type="AssemblyTrademarkAttribute" value="" />
- <attribute type="AssemblyCultureAttribute" value="" />
- <attribute type="AssemblyVersionAttribute" value="${project.version.numeric}" />
- <attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" />
- </attributes>
- </asminfo>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- C O N F I G U R A T I O N T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="set-noskip-configuration" description="Disable skipping builds">
- <property name="project.noskip" value="true" />
- </target>
-
- <target name="set-debug-configuration" description="Enabled 'debug' builds">
- <property name="current.build.config" value="debug" />
- <property name="current.build.config.debug" value="true" />
- <property name="current.build.config.release" value="false" />
- <property name="current.build.defines" value="${build.defines}DEBUG,TRACE," dynamic="true" />
- <property name="csc.debug" value="Full" />
- <property name="csc.optimize" value="false" />
- </target>
-
- <target name="set-release-configuration" description="Enabled 'release' builds">
- <property name="current.build.config" value="release" />
- <property name="current.build.config.release" value="true" />
- <property name="current.build.config.debug" value="false" />
- <property name="csc.debug" value="Full" />
- <property name="csc.optimize" value="true" />
- </target>
-
- <target name="set-net-1.1-framework-configuration">
- <property name="current.build.framework" value="net-1.1" />
- <property name="current.build.framework.name" value=".NET 1.1"/>
- <property name="current.build.defines" value="${build.defines}NET,NET_1_1" dynamic="true" />
- <property name="current.build.framework.sign" value="false" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-net-2.0-framework-configuration">
- <property name="current.build.framework" value="net-2.0" />
- <property name="current.build.framework.name" value=".NET 2.0"/>
- <property name="current.build.defines" value="${build.defines}NET,NET_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="true"/>
- <property name="link.sdkdoc.version" value="SDK_v2_0" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-net-3.5-framework-configuration">
- <property name="current.build.framework" value="net-3.5" />
- <property name="current.build.framework.name" value=".NET 3.5"/>
- <property name="current.build.defines" value="${build.defines}NET,NET_2_0,NET_3_5" dynamic="true" />
- <property name="current.build.framework.sign" value="true"/>
- <property name="link.sdkdoc.version" value="SDK_v6_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-netcf-2.0-framework-configuration">
- <property name="current.build.framework" value="netcf-2.0" />
- <property name="current.build.framework.name" value=".NET Compact Framework 2.0"/>
- <property name="current.build.defines" value="${build.defines}PocketPC,NETCF,NETCF_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="false" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-mono-2.0-framework-configuration">
- <property name="current.build.framework" value="mono-2.0" />
- <property name="current.build.framework.name" value="Mono 2.0"/>
- <property name="current.build.defines" value="${build.defines}MONO,MONO_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="true" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- C O M P I L E T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="compile-all" description="Compile all build configurations for all runtime configurations">
- <echo message="Compiling all build configurations for all runtime configurations." />
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <foreach item="String" in="${build.config.strings}" delim="," property="current.build.config">
- <call target="compile-target" />
- </foreach>
- </foreach>
- </target>
-
- <target name="compile-target" depends="init, conditional-compile"/>
-
- <target name="conditional-compile" depends="init" unless="${build.skip or compile.skip}"
- description="Conditionaly compiles all the modules if build framework and type are supported">
- <call target="compile" />
- </target>
-
- <target name="compile" depends="download-vendor" description="Compile everything">
- <call target="compile-main" cascade="false" />
- <call target="compile-test" cascade="false" />
- </target>
-
- <target name="compile-main" depends="init" description="Build the main library">
- <echo message="Building the ${project.name} library"/>
-
- <property name="assemblyinfo.filename" value="src/main/csharp/CommonAssemblyInfo.cs"/>
- <call target="generate-assemblyinfo"/>
-
- <csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.dll" doc="${build.bin.dir}/${project.name}.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/main/csharp/**.cs" />
- </sources>
- <references refid="dependencies" />
- </csc>
- <csc if="${not current.build.keysign}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.dll" doc="${build.bin.dir}/${project.name}.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/main/csharp/**.cs" />
- </sources>
- <references refid="dependencies" />
- </csc>
- <call target="copy-content"/>
- </target>
-
- <!-- Compile the nms-test module -->
- <target name="compile-test" depends="compile-main" description="Build the test library">
- <echo message="Building the ${project.name}.Test library" />
-
- <property name="assemblyinfo.filename" value="src/test/csharp/CommonAssemblyInfo.cs"/>
- <call target="generate-assemblyinfo"/>
-
- <csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.Test.dll" doc="${build.bin.dir}/${project.name}.Test.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/test/csharp/**.cs" />
- </sources>
- <references refid="test.dependencies" />
- </csc>
- <csc if="${not current.build.keysign}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.Test.dll" doc="${build.bin.dir}/${project.name}.Test.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/test/csharp/**.cs" />
- </sources>
- <references refid="test.dependencies" />
- </csc>
- <call target="copy-content"/>
- </target>
-
- <target name="copy-content">
- <foreach item="File" property="content.filename">
- <in>
- <items refid="content.filenames" />
- </in>
- <do>
- <copy todir="${build.bin.dir}" file="${content.filename}" if="${not file::up-to-date(content.filename, '${build.bin.dir}/${content.filename}')}" />
- </do>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- I N S T A L L T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="install-all" description="Install all build configurations for all runtime configurations">
- <echo message="Installing all build configurations for all runtime configurations." />
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <foreach item="String" in="${build.config.strings}" delim="," property="current.build.config">
- <call target="install" />
- </foreach>
- </foreach>
- </target>
-
- <!-- Install the modules to the local repo -->
- <target name="install" depends="init, conditional-compile, conditional-install"
- description="Install the artifacts into the nant repo" />
-
- <target name="conditional-install" unless="${build.skip}"
- description="Install the artifacts into the nant repo">
- <property name="path" value="${project.group}/${project.name}/${project.version.full}/${current.build.framework}/${current.build.config}"/>
-
- <foreach item="File" property="install.filename">
- <in>
- <items refid="install.filenames" />
- </in>
- <do>
- <property name="repo.task.artifact" value="${path}/${path::get-file-name(install.filename)}"/>
- <property name="repo.task.src" value="${install.filename}"/>
- <property name="repo.task.dest" value="${nant.local.repo}/${repo.task.artifact}"/>
- <mkdir dir="${directory::get-parent-directory(repo.task.dest)}" />
- <copy file="${repo.task.src}" tofile="${repo.task.dest}"/>
- </do>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- R E P O D O W N L O A D T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="download-vendor-all" description="Download vendor files for all runtime configurations">
- <echo message="Downloading vendor files for all runtime configurations." />
- <property name="current.build.config" value="release" />
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <call target="download-vendor" />
- </foreach>
- </target>
-
- <target name="download-vendor" depends="vendor-init, conditional-download"
- description="Download the vendor artifacts from the nant repo" />
-
- <target name="conditional-download" unless="${build.skip}"
- description="Download the artifacts from the nant repo">
-
- <!-- Iterate over the defined vendor filesets. -->
- <foreach item="String" in="${vendor.fileset.names}" delim="," property="current.vendor">
- <property name="vendor.name" value="${property::get-value(current.vendor + '.name')}"/>
- <property name="vendor.group" value="${property::get-value(current.vendor + '.group')}"/>
- <property name="vendor.version" value="${property::get-value(current.vendor + '.version')}"/>
- <property name="vendor.filenames" value="${property::get-value(current.vendor + '.filenames')}"/>
-
- <property name="local.repo.vendor.path" value="${nant.local.repo}/${vendor.group}/${vendor.name}/${vendor.version}/${current.build.framework}/${current.build.config}" />
- <property name="lib.path" value="lib/${vendor.name}/${current.build.framework}" />
-
- <!--
- Update the LIB folder with the latest version of the file. By default, the file from the
- VENDOR folder will be used. However, if there is a newer version installed in the local
- repository, then that version will be copied into the LIB folder.
- -->
- <foreach item="String" in="${vendor.filenames}" delim="," property="repo.task.artifact">
- <property name="lib.task.dest" value="${lib.path}/${repo.task.artifact}"/>
- <mkdir dir="${directory::get-parent-directory(lib.task.dest)}" />
- <property name="repo.task.src" value="${local.repo.vendor.path}/${repo.task.artifact}"/>
- <copy file="${repo.task.src}" tofile="${lib.task.dest}" if="${file::exists(repo.task.src)}"/>
- </foreach>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- T E S T T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="test" depends="test-debug" description="Alias test target to test-debug"/>
- <target name="test-all" depends="test-debug, test-release" description="Test all build configurations for all runtime configurations"/>
-
- <target name="test-debug" depends="" description="Test debug build configurations for all runtime configurations">
- <property name="current.build.config" value="debug"/>
- <call target="test-frameworks" />
- </target>
-
- <target name="test-release" depends="" description="Test release build configurations for all runtime configurations">
- <property name="current.build.config" value="release"/>
- <call target="test-frameworks" />
- </target>
-
- <target name="test-frameworks">
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <call target="init" />
- <if test="${not build.skip}">
- <exec program="nunit-console" failonerror="true" workingdir="build/${current.build.framework}/${current.build.config}">
- <arg value="${NUnit.Projectfile}"/>
- <arg value="/labels"/>
- <arg value="/xml=Nunit.TestOutput.xml"/>
- </exec>
- </if>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- M I S C E L L A N E O U S T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="build" depends="default" description="Build the project." />
- <target name="rebuild" depends="clean,build" description="Rebuild the project." />
-
- <target name="clean" description="Deletes build">
- <if test="${target::exists('clean-init')}">
- <call target="clean-init"/>
- </if>
- <delete dir="build" if="${directory::exists('build')}" />
- <delete dir="obj" if="${directory::exists('obj')}" />
- <delete dir="package" if="${directory::exists('package')}" />
- </target>
-
- <target name="doc" depends="build">
- <mkdir dir="${doc.dir}"/>
- <ndoc failonerror="false">
- <assemblies basedir="${build.bin.dir}">
- <include name="${project.name}.dll" />
- </assemblies>
- <summaries basedir="${basedir}/src/main/ndoc">
- <include name="NamespaceSummary.xml" />
- </summaries>
- <documenters>
- <documenter name="MSDN">
- <property name="OutputDirectory" value="${doc.dir}" />
- <property name="HtmlHelpName" value="${project.name}" />
- <property name="HtmlHelpCompilerFilename" value="hhc.exe" />
- <property name="IncludeFavorites" value="False" />
- <property name="Title" value="${project.short_description}" />
- <property name="SplitTOCs" value="False" />
- <property name="DefaulTOC" value="" />
- <!--
- <property name="ShowVisualBasic" value="True" />
- <property name="ShowMissingSummaries" value="True" />
- <property name="ShowMissingRemarks" value="True" />
- <property name="ShowMissingParams" value="True" />
- <property name="ShowMissingReturns" value="True" />
- <property name="ShowMissingValues" value="True" />
- -->
- <property name="DocumentInternals" value="False" />
- <property name="DocumentProtected" value="True" />
- <property name="DocumentPrivates" value="False" />
- <property name="DocumentEmptyNamespaces" value="False" />
- <property name="IncludeAssemblyVersion" value="False" />
- <property name="CopyrightText" value="" />
- <property name="CopyrightHref" value="" />
- </documenter>
- </documenters>
- </ndoc>
- </target>
-
-</project>
diff --git a/tags/1.1.0/nant.build b/tags/1.1.0/nant.build
deleted file mode 100644
index 135a7bc..0000000
--- a/tags/1.1.0/nant.build
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<project name="Apache.NMS.MSMQ" default="default" xmlns="http://nant.sourceforge.net/release/0.85/nant.xsd">
-
- <!-- ============================================================================================ -->
- <!-- I N I T I A L I Z A T I O N -->
- <!-- ============================================================================================ -->
- <property name="basedir" value="${project::get-base-directory()}"/>
- <property name="project.name" value="Apache.NMS.MSMQ"/>
- <property name="project.group" value="org.apache.activemq"/>
- <property name="project.version" value="1.1.0" unless="${property::exists('project.version')}"/>
- <property name="project.release.type" value="GA" unless="${property::exists('project.release.type')}" />
- <property name="project.short_description" value="Apache NMS for MSMQ Class Library"/>
- <property name="project.description" value="Apache NMS for MSMQ Class Library (.Net Messaging Library Implementation): An implementation of the NMS API for MSMQ"/>
-
- <!-- Repository organized as: organization/module/version/plaform/artifact, platform might be something like 'all' or 'net-2.0/release' -->
- <property name="nunit.dll" value="${basedir}/lib/NUnit/${current.build.framework}/nunit.framework.dll" dynamic="true"/>
- <property name="nunit.extensions.dll" value="${basedir}/lib/NUnit/${current.build.framework}/nunit.framework.extensions.dll" dynamic="true"/>
- <property name="Apache.NMS.dll" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.dll" dynamic="true"/>
- <property name="Apache.NMS.pdb" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.pdb" dynamic="true"/>
- <property name="Apache.NMS.Test.dll" value="${basedir}/lib/Apache.NMS/${current.build.framework}//Apache.NMS.Test.dll" dynamic="true"/>
- <property name="Apache.NMS.Test.pdb" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.Test.pdb" dynamic="true"/>
-
- <property name="NUnit.Projectfile" value="Apache.NMS.MSMQ.Test.nunit"/>
-
- <!-- Skip certain frameworks, since MSMQ is not supported on those platforms. -->
- <property name="build.netcf-2.0.skip" value="true"/>
- <property name="build.mono-2.0.skip" value="true"/>
-
- <target name="vendor-init" description="Initializes Vendor library from local repository.">
- <!-- Vendor specific info. The prefix of 'vendor.apache.org' is taken from the property
- 'vendor.fileset.names'. This comma-delimited list is iterated, and properties with
- well-known suffixes are used to access and copy down vendor file dependencies. -->
- <property name="vendor.fileset.names" value="vendor.apache.org,vendor.nunit.org"/>
-
- <!-- Property grouping for 'vendor.apache.org' -->
- <property name="vendor.apache.org.name" value="Apache.NMS"/>
- <property name="vendor.apache.org.group" value="org.apache.activemq"/>
- <property name="vendor.apache.org.version" value="1.1.0"/>
- <property name="vendor.apache.org.filenames"
- value="Apache.NMS.dll,Apache.NMS.pdb,Apache.NMS.dll.mdb,Apache.NMS.Test.dll,Apache.NMS.Test.pdb,Apache.NMS.Test.dll.mdb" />
-
- <!-- Property grouping for 'vendor.nunit.org' -->
- <property name="vendor.nunit.org.name" value="NUnit"/>
- <property name="vendor.nunit.org.group" value="org.nunit"/>
- <property name="vendor.nunit.org.version" value="2.4.8"/>
- <property name="vendor.nunit.org.filenames"
- value="nunit.framework.dll,nunit.framework.extensions.dll" />
- </target>
-
- <target name="dependency-init" description="Initializes build dependencies">
- <if test="${not file::exists(Apache.NMS.dll)}">
- <echo message="Apache.NMS assembly for ${current.build.framework.name} is not available. Build skipped." />
- <property name="build.skip" value="true"/>
- </if>
-
- <assemblyfileset failonempty="true" id="dependencies">
- <include name="${current.build.framework.assembly.dir}/mscorlib.dll"/>
- <include name="${current.build.framework.assembly.dir}/System.dll"/>
- <include name="${current.build.framework.assembly.dir}/System.Xml.dll"/>
- <include name="${current.build.framework.assembly.dir}/System.Messaging.dll" />
- <include name="${Apache.NMS.dll}"/>
- </assemblyfileset>
-
- <assemblyfileset failonempty="true" id="test.dependencies">
- <include name="${current.build.framework.assembly.dir}/mscorlib.dll"/>
- <include name="${current.build.framework.assembly.dir}/System.dll"/>
- <include name="${current.build.framework.assembly.dir}/System.Xml.dll"/>
- <include name="${current.build.framework.assembly.dir}/System.Messaging.dll" />
- <include name="${Apache.NMS.dll}"/>
- <include name="${Apache.NMS.Test.dll}"/>
- <include name="${build.bin.dir}/${project.name}.dll"/>
- <include name="${nunit.dll}"/>
- <include name="${nunit.extensions.dll}"/>
- </assemblyfileset>
-
- <fileset id="content.filenames">
- <include name="LICENSE.txt"/>
- <include name="NOTICE.txt"/>
- <include name="nmsprovider-*.config"/>
- <include name="${Apache.NMS.dll}"/>
- <include name="${Apache.NMS.pdb}"/>
- <include name="${Apache.NMS.Test.dll}"/>
- <include name="${Apache.NMS.Test.pdb}"/>
- <include name="${nunit.dll}"/>
- <include name="${nunit.extensions.dll}"/>
- <include name="${NUnit.Projectfile}"/>
- </fileset>
-
- <fileset id="install.filenames">
- <include name="LICENSE.txt"/>
- <include name="NOTICE.txt"/>
- <include name="${build.bin.dir}/${project.name}.dll"/>
- <include name="${build.bin.dir}/${project.name}.pdb"/>
- <include name="nmsprovider-msmq.config"/>
- </fileset>
-
- <fileset id="deploy.filenames">
- <include name="LICENSE.txt"/>
- <include name="NOTICE.txt"/>
- <include name="${build.bin.dir}/${project.name}.dll"/>
- <include name="${build.bin.dir}/${project.name}.pdb"/>
- <include name="${build.bin.dir}/${project.name}.xml"/>
- <include name="${build.bin.dir}/${project.name}.Test.dll"/>
- <include name="${build.bin.dir}/${project.name}.Test.pdb"/>
- <include name="${build.bin.dir}/${project.name}.Test.xml"/>
- <include name="${build.bin.dir}/nmsprovider-*.config"/>
- </fileset>
- </target>
-
- <target name="default" depends="install-all" />
-
- <!-- Load the common target definitions -->
- <include buildfile="${basedir}/nant-common.xml"/>
-</project>
diff --git a/tags/1.1.0/nmsprovider-msmq.config b/tags/1.1.0/nmsprovider-msmq.config
deleted file mode 100644
index c091c21..0000000
--- a/tags/1.1.0/nmsprovider-msmq.config
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!--
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
--->
-<configuration>
- <provider assembly="Apache.NMS.MSMQ.dll" classFactory="Apache.NMS.MSMQ.ConnectionFactory"/>
-</configuration>
diff --git a/tags/1.1.0/nmsprovider-test.config b/tags/1.1.0/nmsprovider-test.config
deleted file mode 100644
index 051f872..0000000
--- a/tags/1.1.0/nmsprovider-test.config
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!--
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
--->
-<configuration>
- <defaultURI value="msmq://localhost">
- <factoryParams>
- <param type="string" value="NMSTestClient"/>
- </factoryParams>
- <userName value="guest"/>
- <passWord value="guest"/>
- </defaultURI>
-</configuration>
diff --git a/tags/1.1.0/package.ps1 b/tags/1.1.0/package.ps1
deleted file mode 100644
index f3a3c54..0000000
--- a/tags/1.1.0/package.ps1
+++ /dev/null
@@ -1,67 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-$pkgname = "Apache.NMS.MSMQ"
-$pkgver = "1.1.0"
-$configurations = "release", "debug"
-$frameworks = "net-1.1", "net-2.0", "net-3.5"
-
-write-progress "Creating package directory." "Initializing..."
-if(!(test-path package))
-{
- md package
-}
-
-if(test-path build)
-{
- pushd build
-
- $pkgdir = "..\package"
-
- write-progress "Packaging Application files." "Scanning..."
- $zipfile = "$pkgdir\$pkgname-$pkgver-bin.zip"
- zip -9 -u -j "$zipfile" ..\LICENSE.txt
- zip -9 -u -j "$zipfile" ..\NOTICE.txt
- foreach($configuration in $configurations)
- {
- foreach($framework in $frameworks)
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll"
- zip -9 -u "$zipfile" "$framework\$configuration\nmsprovider*.config"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll"
- if($framework -ieq "mono-2.0")
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll.mdb"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll.mdb"
- }
- else
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.pdb"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.pdb"
- }
- }
- }
-
- popd
-}
-
-write-progress "Packaging Source code files." "Scanning..."
-$pkgdir = "package"
-$zipfile = "$pkgdir\$pkgname-$pkgver-src.zip"
-
-zip -9 -u "$zipfile" LICENSE.txt NOTICE.txt nant-common.xml nant.build package.ps1 vs2008-msmq-test.csproj vs2008-msmq.csproj vs2008-msmq.sln
-zip -9 -u -r "$zipfile" keyfile src
-
-write-progress -Completed "Packaging" "Complete."
diff --git a/tags/1.1.0/src/main/csharp/BaseMessage.cs b/tags/1.1.0/src/main/csharp/BaseMessage.cs
deleted file mode 100644
index 5fb9b67..0000000
--- a/tags/1.1.0/src/main/csharp/BaseMessage.cs
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-namespace Apache.NMS.MSMQ
-{
- public delegate void AcknowledgeHandler(BaseMessage baseMessage);
-
- public class BaseMessage : IMessage
- {
- private PrimitiveMap propertiesMap = new PrimitiveMap();
- private IDestination destination;
- private string correlationId;
- private TimeSpan timeToLive;
- private string messageId;
- private MsgDeliveryMode deliveryMode;
- private MsgPriority priority;
- private Destination replyTo;
- private string type;
- private event AcknowledgeHandler Acknowledger;
- private byte[] content;
- private DateTime timestamp = new DateTime();
-
- public byte[] Content
- {
- get { return content; }
- set { content = value; }
- }
-
- public void Acknowledge()
- {
- if(Acknowledger == null)
- {
- throw new NMSException("No Acknowledger has been associated with this message: " + this);
- }
- else
- {
- Acknowledger(this);
- }
- }
-
- // Properties
-
- public IPrimitiveMap Properties
- {
- get { return propertiesMap; }
- }
-
-
- // IMessage interface
-
- // NMS headers
-
- /// <summary>
- /// The correlation ID used to correlate messages with conversations or long running business processes
- /// </summary>
- public string NMSCorrelationID
- {
- get { return correlationId; }
- set { correlationId = value; }
- }
-
- /// <summary>
- /// The destination of the message
- /// </summary>
- public IDestination NMSDestination
- {
- get { return destination; }
- set { destination = value; }
- }
-
- /// <summary>
- /// The time in milliseconds that this message should expire in
- /// </summary>
- public TimeSpan NMSTimeToLive
- {
- get { return timeToLive; }
- set { timeToLive = value; }
- }
-
- /// <summary>
- /// The message ID which is set by the provider
- /// </summary>
- public string NMSMessageId
- {
- get { return messageId; }
- set { messageId = value; }
- }
-
- /// <summary>
- /// Whether or not this message is persistent
- /// </summary>
- public MsgDeliveryMode NMSDeliveryMode
- {
- get { return deliveryMode; }
- set { deliveryMode = value; }
- }
-
- /// <summary>
- /// The Priority on this message
- /// </summary>
- public MsgPriority NMSPriority
- {
- get { return priority; }
- set { priority = value; }
- }
-
- /// <summary>
- /// Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully.
- /// </summary>
- public bool NMSRedelivered
- {
- get { return false; }
- }
-
-
- /// <summary>
- /// The destination that the consumer of this message should send replies to
- /// </summary>
- public IDestination NMSReplyTo
- {
- get { return replyTo; }
- set { replyTo = (Destination) value; }
- }
-
-
- /// <summary>
- /// The timestamp the broker added to the message
- /// </summary>
- public DateTime NMSTimestamp
- {
- get { return timestamp; }
- }
-
- /// <summary>
- /// The type name of this message
- /// </summary>
- public string NMSType
- {
- get { return type; }
- set { type = value; }
- }
-
-
- public object GetObjectProperty(string name)
- {
- return null;
- }
-
- public void SetObjectProperty(string name, object value)
- {
- }
- }
-}
-
diff --git a/tags/1.1.0/src/main/csharp/BytesMessage.cs b/tags/1.1.0/src/main/csharp/BytesMessage.cs
deleted file mode 100644
index fd97c33..0000000
--- a/tags/1.1.0/src/main/csharp/BytesMessage.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-namespace Apache.NMS.MSMQ
-{
- public class BytesMessage : BaseMessage, IBytesMessage
- {
- }
-}
-
diff --git a/tags/1.1.0/src/main/csharp/Connection.cs b/tags/1.1.0/src/main/csharp/Connection.cs
deleted file mode 100644
index 021ad06..0000000
--- a/tags/1.1.0/src/main/csharp/Connection.cs
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// Represents a NMS connection MSMQ. Since the underlying MSMQ APIs are actually
- /// connectionless, NMS connection in the MSMQ case are not expensive operations.
- /// </summary>
- ///
- public class Connection : IConnection
- {
-
- private AcknowledgementMode acknowledgementMode = AcknowledgementMode.AutoAcknowledge;
- private IMessageConverter messageConverter = new DefaultMessageConverter();
-
- private bool connected;
- private bool closed;
- private string clientId;
-
- /// <summary>
- /// Starts message delivery for this connection.
- /// </summary>
- public void Start()
- {
- CheckConnected();
- }
-
- /// <summary>
- /// This property determines if the asynchronous message delivery of incoming
- /// messages has been started for this connection.
- /// </summary>
- public bool IsStarted
- {
- get
- {
- return true;
- }
- }
-
- /// <summary>
- /// Stop message delivery for this connection.
- /// </summary>
- public void Stop()
- {
- CheckConnected();
- }
-
- /// <summary>
- /// Creates a new session to work on this connection
- /// </summary>
- public ISession CreateSession()
- {
- return CreateSession(acknowledgementMode);
- }
-
- /// <summary>
- /// Creates a new session to work on this connection
- /// </summary>
- public ISession CreateSession(AcknowledgementMode mode)
- {
- CheckConnected();
- return new Session(this, mode);
- }
-
- public void Dispose()
- {
- closed = true;
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- public AcknowledgementMode AcknowledgementMode
- {
- get { return acknowledgementMode; }
- set { acknowledgementMode = value; }
- }
-
- public IMessageConverter MessageConverter
- {
- get { return messageConverter; }
- set { messageConverter = value; }
- }
-
- public string ClientId
- {
- get { return clientId; }
- set
- {
- if(connected)
- {
- throw new NMSException("You cannot change the ClientId once the Connection is connected");
- }
- clientId = value;
- }
- }
-
- public event ExceptionListener ExceptionListener;
-
- protected void CheckConnected()
- {
- if(closed)
- {
- throw new NMSException("Connection Closed");
- }
- if(!connected)
- {
- connected = true;
- // now lets send the connection and see if we get an ack/nak
- // TODO: establish a connection
- }
- }
-
- public void Close()
- {
- Dispose();
- }
-
- public void HandleException(Exception e)
- {
- if(ExceptionListener != null)
- {
- ExceptionListener(e);
- }
- else
- {
- Tracer.Error(e);
- }
-
- }
-
- }
-}
diff --git a/tags/1.1.0/src/main/csharp/ConnectionFactory.cs b/tags/1.1.0/src/main/csharp/ConnectionFactory.cs
deleted file mode 100644
index acc5e2e..0000000
--- a/tags/1.1.0/src/main/csharp/ConnectionFactory.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// A Factory that can estbalish NMS connections to MSMQ
- /// </summary>
- public class ConnectionFactory : IConnectionFactory
- {
- public const string DEFAULT_BROKER_URL = "msmq://localhost";
- public const string ENV_BROKER_URL = "MSMQ_BROKER_URL";
-
- public static string GetDefaultBrokerUrl()
- {
- string answer = Environment.GetEnvironmentVariable(ENV_BROKER_URL);
- if(answer == null)
- {
- answer = DEFAULT_BROKER_URL;
- }
- return answer;
- }
-
- public ConnectionFactory()
- : this(GetDefaultBrokerUrl())
- {
- }
-
- public ConnectionFactory(string brokerUri)
- : this(brokerUri, null)
- {
- }
-
- public ConnectionFactory(string brokerUri, string clientID)
- : this(new Uri(brokerUri), clientID)
- {
- }
-
- public ConnectionFactory(Uri brokerUri)
- : this(brokerUri, null)
- {
- }
-
- public ConnectionFactory(Uri brokerUri, string clientID)
- {
-
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection()
- {
- return new Connection();
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection(string userName, string password)
- {
- return new Connection();
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection(string userName, string password, bool useLogging)
- {
- return new Connection();
- }
- }
-}
diff --git a/tags/1.1.0/src/main/csharp/DefaultMessageConverter.cs b/tags/1.1.0/src/main/csharp/DefaultMessageConverter.cs
deleted file mode 100644
index f10e592..0000000
--- a/tags/1.1.0/src/main/csharp/DefaultMessageConverter.cs
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.IO;
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- public class DefaultMessageConverter : IMessageConverter
- {
- public virtual Message ToMsmqMessage(IMessage message)
- {
- Message answer = new Message();
- ConvertMessageBodyToMSMQ(message, answer);
- MessageQueue responseQueue = null;
- if(message.NMSReplyTo != null)
- {
- IDestination destination = message.NMSReplyTo;
- responseQueue = ToMsmqDestination(destination);
- }
-
- if(message.NMSTimeToLive != TimeSpan.Zero)
- {
- answer.TimeToBeReceived = message.NMSTimeToLive;
- }
-
- if(message.NMSCorrelationID != null)
- {
- answer.CorrelationId = message.NMSCorrelationID;
- }
-
- answer.Recoverable = (message.NMSDeliveryMode == MsgDeliveryMode.Persistent);
- answer.Priority = ToMessagePriority(message.NMSPriority);
- answer.ResponseQueue = responseQueue;
- if(message.NMSType != null)
- {
- answer.Label = message.NMSType;
- }
-
- return answer;
- }
-
- private static MessagePriority ToMessagePriority(MsgPriority msgPriority)
- {
- switch(msgPriority)
- {
- case MsgPriority.Lowest:
- return MessagePriority.Lowest;
-
- case MsgPriority.VeryLow:
- return MessagePriority.VeryLow;
-
- case MsgPriority.Low:
- case MsgPriority.AboveLow:
- return MessagePriority.Low;
-
- default:
- case MsgPriority.BelowNormal:
- case MsgPriority.Normal:
- return MessagePriority.Normal;
-
- case MsgPriority.AboveNormal:
- return MessagePriority.AboveNormal;
-
- case MsgPriority.High:
- return MessagePriority.High;
-
- case MsgPriority.VeryHigh:
- return MessagePriority.VeryHigh;
-
- case MsgPriority.Highest:
- return MessagePriority.Highest;
- }
- }
-
- protected virtual void ConvertMessageBodyToMSMQ(IMessage message,
- Message answer)
- {
- if(message is IBytesMessage)
- {
- byte[] bytes = (message as IBytesMessage).Content;
- answer.BodyStream.Write(bytes, 0, bytes.Length);
- }
- else
- {
- throw new Exception("unhandled message type");
- }
- }
-
- public virtual IMessage ToNmsMessage(Message message)
- {
- BaseMessage answer = CreateNmsMessage(message);
- answer.NMSMessageId = message.Id;
- try
- {
- answer.NMSCorrelationID = message.CorrelationId;
- }
- catch(InvalidOperationException)
- {
- }
-
- try
- {
- answer.NMSDestination = ToNmsDestination(message.DestinationQueue);
- }
- catch(InvalidOperationException)
- {
- }
-
- answer.NMSType = message.Label;
- answer.NMSReplyTo = ToNmsDestination(message.ResponseQueue);
- try
- {
- answer.NMSTimeToLive = message.TimeToBeReceived;
- }
- catch(InvalidOperationException)
- {
- }
- return answer;
- }
-
-
- public MessageQueue ToMsmqDestination(IDestination destination)
- {
- return new MessageQueue((destination as Destination).Path);
- }
-
- protected virtual IDestination ToNmsDestination(MessageQueue destinationQueue)
- {
- if(destinationQueue == null)
- {
- return null;
- }
- return new Queue(destinationQueue.Path);
- }
-
- protected virtual BaseMessage CreateNmsMessage(Message message)
- {
- Stream stream = message.BodyStream;
- if(stream == null || stream.Length == 0)
- {
- return new BaseMessage();
- }
- byte[] buf = new byte[stream.Length];
- stream.Read(buf, 0, buf.Length);
- // TODO: how to recognise other flavors of message?
- BytesMessage result = new BytesMessage();
- result.Content = buf;
- return result;
- }
- }
-}
diff --git a/tags/1.1.0/src/main/csharp/Destination.cs b/tags/1.1.0/src/main/csharp/Destination.cs
deleted file mode 100644
index 6f7eeae..0000000
--- a/tags/1.1.0/src/main/csharp/Destination.cs
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-namespace Apache.NMS.MSMQ
-{
-
- /// <summary>
- /// Summary description for Destination.
- /// </summary>
- public abstract class Destination : IDestination
- {
-
- private String path = "";
-
- /**
- * The Default Constructor
- */
- protected Destination()
- {
- }
-
- /**
- * Construct the Destination with a defined physical name;
- *
- * @param name
- */
- protected Destination(String name)
- {
- this.path = name;
- }
-
- public String Path
- {
- get { return this.path; }
- set { this.path = value; }
- }
-
-
- public bool IsTopic
- {
- get
- {
- return DestinationType == DestinationType.Topic
- || DestinationType == DestinationType.TemporaryTopic;
- }
- }
-
- public bool IsQueue
- {
- get
- {
- return !IsTopic;
- }
- }
-
-
- public bool IsTemporary
- {
- get
- {
- return DestinationType == DestinationType.TemporaryQueue
- || DestinationType == DestinationType.TemporaryTopic;
- }
- }
-
- /**
- * @return string representation of this instance
- */
- public override String ToString()
- {
- return this.path;
- }
-
- /**
- * @return hashCode for this instance
- */
- public override int GetHashCode()
- {
- int answer = 37;
-
- if(this.path != null)
- {
- answer = path.GetHashCode();
- }
- if(IsTopic)
- {
- answer ^= 0xfabfab;
- }
- return answer;
- }
-
- /**
- * if the object passed in is equivalent, return true
- *
- * @param obj the object to compare
- * @return true if this instance and obj are equivalent
- */
- public override bool Equals(Object obj)
- {
- bool result = this == obj;
- if(!result && obj != null && obj is Destination)
- {
- Destination other = (Destination) obj;
- result = this.DestinationType == other.DestinationType
- && this.path.Equals(other.path);
- }
- return result;
- }
-
- /**
- * Factory method to create a child destination if this destination is a composite
- * @param name
- * @return the created Destination
- */
- public abstract Destination CreateDestination(String name);
-
-
- public abstract DestinationType DestinationType
- {
- get;
- }
-
- }
-}
-
diff --git a/tags/1.1.0/src/main/csharp/IMessageConverter.cs b/tags/1.1.0/src/main/csharp/IMessageConverter.cs
deleted file mode 100644
index 152377b..0000000
--- a/tags/1.1.0/src/main/csharp/IMessageConverter.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- public interface IMessageConverter
- {
-
- /// <summary>
- /// Method ToMSMQMessageQueue
- /// </summary>
- /// <param name="destination">An IDestination</param>
- /// <returns>A MessageQueue</returns>
- MessageQueue ToMsmqDestination(IDestination destination);
-
- Message ToMsmqMessage(IMessage message);
- IMessage ToNmsMessage(Message message);
- }
-}
diff --git a/tags/1.1.0/src/main/csharp/MapMessage.cs b/tags/1.1.0/src/main/csharp/MapMessage.cs
deleted file mode 100644
index 8b13b86..0000000
--- a/tags/1.1.0/src/main/csharp/MapMessage.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-namespace Apache.NMS.MSMQ
-{
- public class MapMessage : BaseMessage, IMapMessage
- {
- private PrimitiveMap body = new PrimitiveMap();
-
- public IPrimitiveMap Body
- {
- get { return body; }
- }
- }
-}
-
diff --git a/tags/1.1.0/src/main/csharp/MessageConsumer.cs b/tags/1.1.0/src/main/csharp/MessageConsumer.cs
deleted file mode 100644
index 1488af9..0000000
--- a/tags/1.1.0/src/main/csharp/MessageConsumer.cs
+++ /dev/null
@@ -1,136 +0,0 @@
-using System;
-using System.Messaging;
-using System.Threading;
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.NMS.Util;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// An object capable of receiving messages from some destination
- /// </summary>
- public class MessageConsumer : IMessageConsumer
- {
- protected TimeSpan zeroTimeout = new TimeSpan(0);
-
- private readonly Session session;
- private readonly AcknowledgementMode acknowledgementMode;
- private MessageQueue messageQueue;
- private event MessageListener listener;
- private AtomicBoolean asyncDelivery = new AtomicBoolean(false);
-
- public MessageConsumer(Session session, AcknowledgementMode acknowledgementMode, MessageQueue messageQueue)
- {
- this.session = session;
- this.acknowledgementMode = acknowledgementMode;
- this.messageQueue = messageQueue;
- }
-
- public event MessageListener Listener
- {
- add
- {
- listener += value;
- StartAsyncDelivery();
- }
- remove
- {
- listener -= value;
- }
- }
-
- public IMessage Receive()
- {
- Message message = messageQueue.Receive();
- return ToNmsMessage(message);
- }
-
- public IMessage Receive(TimeSpan timeout)
- {
- Message message = messageQueue.Receive(timeout);
- return ToNmsMessage(message);
- }
-
- public IMessage ReceiveNoWait()
- {
- Message message = messageQueue.Receive(zeroTimeout);
- return ToNmsMessage(message);
- }
-
- public void Dispose()
- {
- throw new NotImplementedException();
- }
-
- public void Close()
- {
- StopAsyncDelivery();
- Dispose();
- }
-
- public void StopAsyncDelivery()
- {
- asyncDelivery.Value = false;
- }
-
- protected virtual void StartAsyncDelivery()
- {
- if(asyncDelivery.CompareAndSet(false, true))
- {
- Thread thread = new Thread(new ThreadStart(DispatchLoop));
- thread.IsBackground = true;
- thread.Start();
- }
- }
-
- protected virtual void DispatchLoop()
- {
- Tracer.Info("Starting dispatcher thread consumer: " + this);
- while(asyncDelivery.Value)
- {
- IMessage message = Receive();
- if(message != null)
- {
- try
- {
- listener(message);
- }
- catch(Exception e)
- {
- HandleAsyncException(e);
- }
- }
- }
- Tracer.Info("Stopping dispatcher thread consumer: " + this);
- }
-
- protected virtual void HandleAsyncException(Exception e)
- {
- session.Connection.HandleException(e);
- }
-
- protected virtual IMessage ToNmsMessage(Message message)
- {
- if(message == null)
- {
- return null;
- }
- return session.MessageConverter.ToNmsMessage(message);
- }
- }
-}
diff --git a/tags/1.1.0/src/main/csharp/MessageProducer.cs b/tags/1.1.0/src/main/csharp/MessageProducer.cs
deleted file mode 100644
index e81c42c..0000000
--- a/tags/1.1.0/src/main/csharp/MessageProducer.cs
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// An object capable of sending messages to some destination
- /// </summary>
- public class MessageProducer : IMessageProducer
- {
-
- private readonly Session session;
- private Destination destination;
-
- //private long messageCounter;
- private MsgDeliveryMode deliveryMode;
- private TimeSpan timeToLive;
- private MsgPriority priority;
- private bool disableMessageID;
- private bool disableMessageTimestamp;
-
- private MessageQueue messageQueue;
- private IMessageConverter messageConverter;
-
- public MessageProducer(Session session, Destination destination)
- {
- this.session = session;
- this.destination = destination;
- MessageConverter = session.MessageConverter;
- if(destination != null)
- {
- messageQueue = openMessageQueue(destination);
- }
- }
-
- private MessageQueue openMessageQueue(Destination dest)
- {
- MessageQueue rc = null;
- try
- {
- if(!MessageQueue.Exists(dest.Path))
- {
- // create the new message queue and make it transactional
- rc = MessageQueue.Create(dest.Path, session.Transacted);
- this.destination.Path = rc.Path;
- }
- else
- {
- rc = new MessageQueue(dest.Path);
- this.destination.Path = rc.Path;
- if(!rc.CanWrite)
- {
- throw new NMSSecurityException("Do not have write access to: " + dest);
- }
- }
- }
- catch(Exception e)
- {
- if(rc != null)
- {
- rc.Dispose();
- }
- throw new NMSException(e.Message + ": " + dest, e);
- }
- return rc;
- }
-
- public void Send(IMessage message)
- {
- Send(Destination, message);
- }
-
- public void Send(IMessage message, MsgDeliveryMode deliveryMode, MsgPriority priority, TimeSpan timeToLive)
- {
- Send(Destination, message, deliveryMode, priority, timeToLive);
- }
-
- public void Send(IDestination destination, IMessage message)
- {
- Send(destination, message, DeliveryMode, Priority, TimeToLive);
- }
-
- public void Send(IDestination destination, IMessage imessage, MsgDeliveryMode deliveryMode, MsgPriority priority, TimeSpan timeToLive)
- {
- BaseMessage message = (BaseMessage) imessage;
- MessageQueue mq = null;
- MessageQueue responseQueue = null;
- MessageQueueTransaction transaction = null;
- try
- {
- // Locate the MSMQ Queue we will be sending to
- if(messageQueue != null)
- {
- if(destination.Equals(this.destination))
- {
- mq = messageQueue;
- }
- else
- {
- throw new NMSException("This producer can only be used to send to: " + destination);
- }
- }
- else
- {
- mq = openMessageQueue((Destination) destination);
- }
-
- // Convert the Mesasge into a MSMQ message
- message.NMSDeliveryMode = deliveryMode;
- message.NMSTimeToLive = timeToLive;
- message.NMSPriority = priority;
-
- // message.NMSTimestamp = new DateTime().Date.;
- Message msg = messageConverter.ToMsmqMessage(message);
- // TODO: message.NMSMessageId =
- // Now Send the message
- if(mq.Transactional)
- {
- if(session.Transacted)
- {
- mq.Send(msg, session.MessageQueueTransaction);
-
- }
- else
- {
- // Start our own mini transaction here to send the message.
- transaction = new MessageQueueTransaction();
- transaction.Begin();
- mq.Send(msg, transaction);
- transaction.Commit();
- }
- }
- else
- {
- if(session.Transacted)
- {
- // We may want to raise an exception here since app requested
- // a transeced NMS session, but is using a non transacted message queue
- // For now silently ignore it.
- }
- mq.Send(msg);
- }
-
- }
- finally
- {
- // Cleanup
- if(transaction != null)
- {
- transaction.Dispose();
- }
-
- if(responseQueue != null)
- {
- responseQueue.Dispose();
- }
-
- if(mq != null && mq != messageQueue)
- {
- mq.Dispose();
- }
- }
- }
-
- public void Close()
- {
- if(messageQueue != null)
- {
- messageQueue.Dispose();
- messageQueue = null;
- }
- }
-
- public void Dispose()
- {
- Close();
- }
-
- public IMessage CreateMessage()
- {
- return session.CreateMessage();
- }
-
- public ITextMessage CreateTextMessage()
- {
- return session.CreateTextMessage();
- }
-
- public ITextMessage CreateTextMessage(String text)
- {
- return session.CreateTextMessage(text);
- }
-
- public IMapMessage CreateMapMessage()
- {
- return session.CreateMapMessage();
- }
-
- public IObjectMessage CreateObjectMessage(Object body)
- {
- return session.CreateObjectMessage(body);
- }
-
- public IBytesMessage CreateBytesMessage()
- {
- return session.CreateBytesMessage();
- }
-
- public IBytesMessage CreateBytesMessage(byte[] body)
- {
- return session.CreateBytesMessage(body);
- }
-
- public MsgDeliveryMode DeliveryMode
- {
- get { return deliveryMode; }
- set { deliveryMode = value; }
- }
-
- public TimeSpan TimeToLive
- {
- get { return timeToLive; }
- set { timeToLive = value; }
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- public IDestination Destination
- {
- get { return destination; }
- set { destination = (Destination) value; }
- }
-
- public MsgPriority Priority
- {
- get { return priority; }
- set { priority = value; }
- }
-
- public bool DisableMessageID
- {
- get { return disableMessageID; }
- set { disableMessageID = value; }
- }
-
- public bool DisableMessageTimestamp
- {
- get { return disableMessageTimestamp; }
- set { disableMessageTimestamp = value; }
- }
-
- public IMessageConverter MessageConverter
- {
- get { return messageConverter; }
- set { messageConverter = value; }
- }
- }
-}
diff --git a/tags/1.1.0/src/main/csharp/ObjectMessage.cs b/tags/1.1.0/src/main/csharp/ObjectMessage.cs
deleted file mode 100644
index dd9a5f5..0000000
--- a/tags/1.1.0/src/main/csharp/ObjectMessage.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System.IO;
-
-#if !(PocketPC||NETCF||NETCF_2_0)
-using System.Runtime.Serialization;
-using System.Runtime.Serialization.Formatters.Binary;
-#endif
-
-namespace Apache.NMS.MSMQ
-{
- public class ObjectMessage : BaseMessage, IObjectMessage
- {
- private object body;
-#if !(PocketPC||NETCF||NETCF_2_0)
- private IFormatter formatter;
-#endif
-
- public ObjectMessage()
- {
- }
-
- public ObjectMessage(object body)
- {
- this.body = body;
- }
-
- public object Body
- {
- get
- {
-#if !(PocketPC||NETCF||NETCF_2_0)
- if(body == null)
- {
- body = Formatter.Deserialize(new MemoryStream(Content));
- }
-#else
-#endif
- return body;
- }
-
- set
- {
-#if !(PocketPC||NETCF||NETCF_2_0)
- body = value;
-#else
- throw new NotImplementedException();
-#endif
- }
- }
-
-
-#if !(PocketPC||NETCF||NETCF_2_0)
- public IFormatter Formatter
- {
- get
- {
- if(formatter == null)
- {
- formatter = new BinaryFormatter();
- }
- return formatter;
- }
-
- set
- {
- formatter = value;
- }
- }
-
-#endif
- }
-}
-
-
-
-
-
-
diff --git a/tags/1.1.0/src/main/csharp/PrimitiveMap.cs b/tags/1.1.0/src/main/csharp/PrimitiveMap.cs
deleted file mode 100644
index 2ca2d04..0000000
--- a/tags/1.1.0/src/main/csharp/PrimitiveMap.cs
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-using System;
-using System.Collections;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// A default implementation of IPrimitiveMap
- /// </summary>
- [Serializable()]
- public class PrimitiveMap : IPrimitiveMap
- {
- public const byte NULL = 0;
- public const byte BOOLEAN_TYPE = 1;
- public const byte BYTE_TYPE = 2;
- public const byte CHAR_TYPE = 3;
- public const byte SHORT_TYPE = 4;
- public const byte INTEGER_TYPE = 5;
- public const byte LONG_TYPE = 6;
- public const byte DOUBLE_TYPE = 7;
- public const byte FLOAT_TYPE = 8;
- public const byte STRING_TYPE = 9;
- public const byte BYTE_ARRAY_TYPE = 10;
- public const byte MAP_TYPE = 11;
- public const byte LIST_TYPE = 12;
- public const byte BIG_STRING_TYPE = 13;
-
- private IDictionary dictionary = Hashtable.Synchronized(new Hashtable());
-
- public void Clear()
- {
- dictionary.Clear();
- }
-
- public bool Contains(Object key)
- {
- return dictionary.Contains(key);
- }
-
- public void Remove(Object key)
- {
- dictionary.Remove((string) key);
- }
-
-
- public int Count
- {
- get
- {
- return dictionary.Count;
- }
- }
-
- public ICollection Keys
- {
- get
- {
- return dictionary.Keys;
- }
- }
-
- public ICollection Values
- {
- get
- {
- return dictionary.Values;
- }
- }
-
- public object this[string key]
- {
- get
- {
- return GetValue(key);
- }
- set
- {
- CheckValidType(value);
- SetValue(key, value);
- }
- }
-
- public string GetString(string key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(string));
- return (string) value;
- }
-
- public void SetString(string key, string value)
- {
- SetValue(key, value);
- }
-
- public bool GetBool(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(bool));
- return (bool) value;
- }
-
- public void SetBool(String key, bool value)
- {
- SetValue(key, value);
- }
-
- public byte GetByte(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(byte));
- return (byte) value;
- }
-
- public void SetByte(String key, byte value)
- {
- SetValue(key, value);
- }
-
- public char GetChar(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(char));
- return (char) value;
- }
-
- public void SetChar(String key, char value)
- {
- SetValue(key, value);
- }
-
- public short GetShort(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(short));
- return (short) value;
- }
-
- public void SetShort(String key, short value)
- {
- SetValue(key, value);
- }
-
- public int GetInt(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(int));
- return (int) value;
- }
-
- public void SetInt(String key, int value)
- {
- SetValue(key, value);
- }
-
- public long GetLong(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(long));
- return (long) value;
- }
-
- public void SetLong(String key, long value)
- {
- SetValue(key, value);
- }
-
- public float GetFloat(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(float));
- return (float) value;
- }
-
- public void SetFloat(String key, float value)
- {
- SetValue(key, value);
- }
-
- public double GetDouble(String key)
- {
- Object value = GetValue(key);
- CheckValueType(value, typeof(double));
- return (double) value;
- }
-
- public void SetDouble(String key, double value)
- {
- SetValue(key, value);
- }
-
- public IList GetList(String key)
- {
- Object value = GetValue(key);
- if(value != null && !(value is IList))
- {
- throw new NMSException("Property: " + key + " is not an IList but is: " + value);
- }
- return (IList) value;
- }
-
- public void SetList(String key, IList value)
- {
- SetValue(key, value);
- }
-
- public IDictionary GetDictionary(String key)
- {
- Object value = GetValue(key);
- if(value != null && !(value is IDictionary))
- {
- throw new NMSException("Property: " + key + " is not an IDictionary but is: " + value);
- }
- return (IDictionary) value;
- }
-
- public void SetDictionary(String key, IDictionary value)
- {
- SetValue(key, value);
- }
-
-
- protected virtual void SetValue(String key, Object value)
- {
- dictionary[key] = value;
- }
-
- protected virtual Object GetValue(String key)
- {
- return dictionary[key];
- }
-
- protected virtual void CheckValueType(Object value, Type type)
- {
- if(!type.IsInstanceOfType(value))
- {
- throw new NMSException("Expected type: " + type.Name + " but was: " + value);
- }
- }
-
- protected virtual void CheckValidType(Object value)
- {
- if(value != null && !(value is IList) && !(value is IDictionary))
- {
- Type type = value.GetType();
- if(!type.IsPrimitive && !type.IsValueType && !type.IsAssignableFrom(typeof(string)))
- {
- throw new NMSException("Invalid type: " + type.Name + " for value: " + value);
- }
- }
- }
-
- /// <summary>
- /// Method ToString
- /// </summary>
- /// <returns>A string</returns>
- public override String ToString()
- {
- String s = "{";
- bool first = true;
- lock(dictionary.SyncRoot)
- {
- foreach(DictionaryEntry entry in dictionary)
- {
- if(!first)
- {
- s += ", ";
- }
- first = false;
- String name = (String) entry.Key;
- Object value = entry.Value;
- s += name + "=" + value;
- }
- }
- s += "}";
- return s;
- }
- }
-}
diff --git a/tags/1.1.0/src/main/csharp/Queue.cs b/tags/1.1.0/src/main/csharp/Queue.cs
deleted file mode 100644
index 30efcd9..0000000
--- a/tags/1.1.0/src/main/csharp/Queue.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-namespace Apache.NMS.MSMQ
-{
-
- /// <summary>
- /// Summary description for Queue.
- /// </summary>
- public class Queue : Destination, IQueue
- {
-
- public Queue()
- : base()
- {
- }
-
- public Queue(String name)
- : base(name)
- {
- }
-
- override public DestinationType DestinationType
- {
- get
- {
- return DestinationType.Queue;
- }
- }
-
- public String QueueName
- {
- get { return Path; }
- }
-
-
- public override Destination CreateDestination(String name)
- {
- return new Queue(name);
- }
-
-
- }
-}
-
diff --git a/tags/1.1.0/src/main/csharp/Session.cs b/tags/1.1.0/src/main/csharp/Session.cs
deleted file mode 100644
index ff840ed..0000000
--- a/tags/1.1.0/src/main/csharp/Session.cs
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// MSQM provider of ISession
- /// </summary>
- public class Session : ISession
- {
- private Connection connection;
- private AcknowledgementMode acknowledgementMode;
- private MessageQueueTransaction messageQueueTransaction;
- private IMessageConverter messageConverter;
-
- public Session(Connection connection, AcknowledgementMode acknowledgementMode)
- {
- this.connection = connection;
- this.acknowledgementMode = acknowledgementMode;
- MessageConverter = connection.MessageConverter;
- if(this.acknowledgementMode == AcknowledgementMode.Transactional)
- {
- MessageQueueTransaction = new MessageQueueTransaction();
- }
- }
-
- public void Dispose()
- {
- if(MessageQueueTransaction != null)
- {
- MessageQueueTransaction.Dispose();
- }
- }
-
- public IMessageProducer CreateProducer()
- {
- return CreateProducer(null);
- }
-
- public IMessageProducer CreateProducer(IDestination destination)
- {
- return new MessageProducer(this, (Destination) destination);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination)
- {
- return CreateConsumer(destination, null);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination, string selector)
- {
- return CreateConsumer(destination, selector, false);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination, string selector, bool noLocal)
- {
- if(selector != null)
- {
- throw new NotSupportedException("Selectors are not supported by MSMQ");
- }
- MessageQueue queue = MessageConverter.ToMsmqDestination(destination);
- return new MessageConsumer(this, acknowledgementMode, queue);
- }
-
- public IMessageConsumer CreateDurableConsumer(ITopic destination, string name, string selector, bool noLocal)
- {
- throw new NotSupportedException("Durable Topic subscribers are not supported by MSMQ");
- }
-
- public void DeleteDurableConsumer(string name)
- {
- throw new NotSupportedException("Durable Topic subscribers are not supported by MSMQ");
- }
-
- public IQueue GetQueue(string name)
- {
- return new Queue(name);
- }
-
- public ITopic GetTopic(string name)
- {
- throw new NotSupportedException("Topics are not supported by MSMQ");
- }
-
- public ITemporaryQueue CreateTemporaryQueue()
- {
- throw new NotSupportedException("Tempoary Queues are not supported by MSMQ");
- }
-
- public ITemporaryTopic CreateTemporaryTopic()
- {
- throw new NotSupportedException("Tempoary Topics are not supported by MSMQ");
- }
-
- /// <summary>
- /// Delete a destination (Queue, Topic, Temp Queue, Temp Topic).
- /// </summary>
- public void DeleteDestination(IDestination destination)
- {
- // TODO: Implement if possible. If not possible, then change exception to NotSupportedException().
- throw new NotImplementedException();
- }
-
- public IMessage CreateMessage()
- {
- BaseMessage answer = new BaseMessage();
- return answer;
- }
-
-
- public ITextMessage CreateTextMessage()
- {
- TextMessage answer = new TextMessage();
- return answer;
- }
-
- public ITextMessage CreateTextMessage(string text)
- {
- TextMessage answer = new TextMessage(text);
- return answer;
- }
-
- public IMapMessage CreateMapMessage()
- {
- return new MapMessage();
- }
-
- public IBytesMessage CreateBytesMessage()
- {
- return new BytesMessage();
- }
-
- public IBytesMessage CreateBytesMessage(byte[] body)
- {
- BytesMessage answer = new BytesMessage();
- answer.Content = body;
- return answer;
- }
-
- public IObjectMessage CreateObjectMessage(Object body)
- {
- ObjectMessage answer = new ObjectMessage();
- answer.Body = body;
- return answer;
- }
-
- public void Commit()
- {
- if(!Transacted)
- {
- throw new InvalidOperationException("You cannot perform a Commit() on a non-transacted session. Acknowlegement mode is: " + acknowledgementMode);
- }
- messageQueueTransaction.Commit();
- }
-
- public void Rollback()
- {
- if(!Transacted)
- {
- throw new InvalidOperationException("You cannot perform a Commit() on a non-transacted session. Acknowlegement mode is: " + acknowledgementMode);
- }
- messageQueueTransaction.Abort();
- }
-
- // Properties
- public Connection Connection
- {
- get { return connection; }
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- public bool Transacted
- {
- get { return acknowledgementMode == AcknowledgementMode.Transactional; }
- }
-
- public AcknowledgementMode AcknowledgementMode
- {
- get { throw new NotImplementedException(); }
- }
-
- public MessageQueueTransaction MessageQueueTransaction
- {
- get
- {
- if(messageQueueTransaction.Status != MessageQueueTransactionStatus.Pending)
- messageQueueTransaction.Begin();
- return messageQueueTransaction;
- }
- set { messageQueueTransaction = value; }
- }
-
- public IMessageConverter MessageConverter
- {
- get { return messageConverter; }
- set { messageConverter = value; }
- }
-
- public void Close()
- {
- Dispose();
- }
-
- }
-}
diff --git a/tags/1.1.0/src/main/csharp/StreamMessage.cs b/tags/1.1.0/src/main/csharp/StreamMessage.cs
deleted file mode 100644
index 459df03..0000000
--- a/tags/1.1.0/src/main/csharp/StreamMessage.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.MSMQ
-{
- public class StreamMessage : BaseMessage
- {
-
- }
-}
-
diff --git a/tags/1.1.0/src/main/csharp/TextMessage.cs b/tags/1.1.0/src/main/csharp/TextMessage.cs
deleted file mode 100644
index 9a8c61e..0000000
--- a/tags/1.1.0/src/main/csharp/TextMessage.cs
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-
-namespace Apache.NMS.MSMQ
-{
- public class TextMessage : BaseMessage, ITextMessage
- {
- public const int SIZE_OF_INT = 4; // sizeof(int) - though causes unsafe issues with net 1.1
-
- private String text;
-
- public TextMessage()
- {
- }
-
- public TextMessage(String text)
- {
- this.Text = text;
- }
-
-
- // Properties
-
- public string Text
- {
- get
- {
- if(text == null)
- {
- // now lets read the content
- byte[] data = this.Content;
- if(data != null)
- {
- // TODO assume that the text is ASCII
- char[] chars = new char[data.Length - SIZE_OF_INT];
- for(int i = 0; i < chars.Length; i++)
- {
- chars[i] = (char) data[i + SIZE_OF_INT];
- }
- text = new String(chars);
- }
- }
- return text;
- }
-
- set
- {
- this.text = value;
- byte[] data = null;
- if(text != null)
- {
- // TODO assume that the text is ASCII
-
- byte[] sizePrefix = System.BitConverter.GetBytes(text.Length);
- data = new byte[text.Length + sizePrefix.Length]; //int at the front of it
-
- // add the size prefix
- for(int j = 0; j < sizePrefix.Length; j++)
- {
- // The bytes need to be encoded in big endian
- if(BitConverter.IsLittleEndian)
- {
- data[j] = sizePrefix[sizePrefix.Length - j - 1];
- }
- else
- {
- data[j] = sizePrefix[j];
- }
- }
-
- // Add the data.
- char[] chars = text.ToCharArray();
- for(int i = 0; i < chars.Length; i++)
- {
- data[i + sizePrefix.Length] = (byte) chars[i];
- }
- }
- this.Content = data;
-
- }
- }
-
- }
-}
-
diff --git a/tags/1.1.0/src/main/ndoc/NamespaceSummary.xml b/tags/1.1.0/src/main/ndoc/NamespaceSummary.xml
deleted file mode 100644
index b8e19d5..0000000
--- a/tags/1.1.0/src/main/ndoc/NamespaceSummary.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<namespaces>
- <namespace name="NMS">
- The <b>NMS</b> namespace defines the .Net Message System API which is an interface to messaging systems rather like JMS is for Java.
- </namespace>
-</namespaces>
diff --git a/tags/1.1.0/src/test/csharp/MSMQTest.cs b/tags/1.1.0/src/test/csharp/MSMQTest.cs
deleted file mode 100644
index 5cf5c09..0000000
--- a/tags/1.1.0/src/test/csharp/MSMQTest.cs
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Messaging;
-using NUnit.Framework;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// Use to test and verify MSMQ behaviour.
- /// </summary>
- [TestFixture]
- public class MSMQTest
- {
- String queueName = ".\\Private$\\FOO";
-
- [SetUp]
- public void SetUp()
- {
- }
-
- [TearDown]
- public void TearDown()
- {
- }
-
- [Test]
- public void TestSendAndReceive()
- {
- // check to make sure the message queue does not exist already
- if(!MessageQueue.Exists(queueName))
- {
- // create the new message queue and make it transactional
- MessageQueue MQ = MessageQueue.Create(queueName, true);
-
- // set the label name and close the message queue
- MQ.Label = "FOO";
- MQ.Close();
-
- Console.WriteLine("Created Queue: " + queueName);
- //Assert.Fail("Should have thrown an exception!");
- }
- else
- {
- Console.WriteLine("Queue Existed: " + queueName);
- }
-
- if(!MessageQueue.Exists(".\\Private$\\BAR"))
- {
- // create the new message queue and make it transactional
- MessageQueue MQ = MessageQueue.Create(".\\Private$\\BAR", true);
-
- // set the label name and close the message queue
- MQ.Label = "BAR Label";
- MQ.Close();
- }
- else
- {
- Console.WriteLine("Queue Existed: " + queueName);
- }
-
- // create a message queue transaction and start it
- MessageQueueTransaction Transaction = new MessageQueueTransaction();
- Transaction.Begin();
-
- MessageQueue MQueue = new MessageQueue(queueName);
-
- Message Msg = new Message("Hello World");
- Msg.ResponseQueue = new MessageQueue(".\\Private$\\BAR");
- Msg.Priority = MessagePriority.Normal;
- Msg.UseJournalQueue = true;
- Msg.Label = "Test Label";
-
- Msg.AcknowledgeType = AcknowledgeTypes.FullReceive;
- Msg.AdministrationQueue = Msg.ResponseQueue;
-
- // send the message
- MQueue.Send(Msg, Transaction);
- MQueue.Send(Msg, Transaction);
- MQueue.Send(Msg, Transaction);
-
- // commit the transaction
- Transaction.Commit();
-
- // Read the message.
- MQueue.MessageReadPropertyFilter.SetAll();
-
- // the target type we have stored in the message body
-
- ((XmlMessageFormatter) MQueue.Formatter).TargetTypes = new Type[] { typeof(String) };
-
- // read the message from the queue, but only wait for 5 sec
- Msg = MQueue.Receive(new TimeSpan(0, 0, 5));
-
- // read the order from the message body
- Console.WriteLine("Received: " + Msg.Body);
-
- // close the mesage queue
- MQueue.Close();
- }
- }
-}
-
-
-
diff --git a/tags/1.1.0/vs2008-msmq-test.csproj b/tags/1.1.0/vs2008-msmq-test.csproj
deleted file mode 100644
index ea54c4b..0000000
--- a/tags/1.1.0/vs2008-msmq-test.csproj
+++ /dev/null
@@ -1,121 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{2F31ED5C-44A2-464A-BD55-2B5B010654E8}</ProjectGuid>
- <OutputType>Library</OutputType>
- <RootNamespace>Apache.NMS.MSMQ.Test</RootNamespace>
- <AssemblyName>Apache.NMS.MSMQ.Test</AssemblyName>
- <WarningLevel>4</WarningLevel>
- <StartupObject>
- </StartupObject>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <OldToolsVersion>2.0</OldToolsVersion>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- <SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>keyfile\NMSKey.snk</AssemblyOriginatorKeyFile>
- <SccProjectName>Svn</SccProjectName>
- <SccLocalPath>Svn</SccLocalPath>
- <SccAuxPath>Svn</SccAuxPath>
- <SccProvider>SubversionScc</SccProvider>
- <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>build\net-2.0\debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <Optimize>true</Optimize>
- <OutputPath>build\net-2.0\release\</OutputPath>
- <DefineConstants>TRACE;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Apache.NMS, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\Apache.NMS\net-2.0\Apache.NMS.dll</HintPath>
- </Reference>
- <Reference Include="Apache.NMS.Test, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\Apache.NMS\net-2.0\Apache.NMS.Test.dll</HintPath>
- </Reference>
- <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\NUnit\net-2.0\nunit.framework.dll</HintPath>
- </Reference>
- <Reference Include="nunit.framework.extensions, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\NUnit\net-2.0\nunit.framework.extensions.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Messaging" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="src\test\csharp\CommonAssemblyInfo.cs" />
- <Compile Include="src\test\csharp\MSMQTest.cs">
- <SubType>Code</SubType>
- </Compile>
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="vs2008-msmq.csproj">
- <Project>{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}</Project>
- <Name>vs2008-msmq</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <ItemGroup>
- <Content Include="nmsprovider-test.config">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- </ItemGroup>
- <ItemGroup>
- <None Include="keyfile\NMSKey.snk" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
- <PropertyGroup>
- <PostBuildEvent>cd $(ProjectDir)
-nant -nologo -q install-all -D:compile.skip=true</PostBuildEvent>
- </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/tags/1.1.0/vs2008-msmq.csproj b/tags/1.1.0/vs2008-msmq.csproj
deleted file mode 100644
index eb8afed..0000000
--- a/tags/1.1.0/vs2008-msmq.csproj
+++ /dev/null
@@ -1,116 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}</ProjectGuid>
- <OutputType>Library</OutputType>
- <RootNamespace>Apache.NMS.MSMQ</RootNamespace>
- <AssemblyName>Apache.NMS.MSMQ</AssemblyName>
- <WarningLevel>4</WarningLevel>
- <StartupObject>
- </StartupObject>
- <SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>keyfile\NMSKey.snk</AssemblyOriginatorKeyFile>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <OldToolsVersion>2.0</OldToolsVersion>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- <SccProjectName>Svn</SccProjectName>
- <SccLocalPath>Svn</SccLocalPath>
- <SccAuxPath>Svn</SccAuxPath>
- <SccProvider>SubversionScc</SccProvider>
- <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>build\net-2.0\debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <Optimize>true</Optimize>
- <OutputPath>build\net-2.0\release\</OutputPath>
- <DefineConstants>TRACE;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Apache.NMS, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\Apache.NMS\net-2.0\Apache.NMS.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Messaging" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="src\main\csharp\BaseMessage.cs" />
- <Compile Include="src\main\csharp\BytesMessage.cs" />
- <Compile Include="src\main\csharp\CommonAssemblyInfo.cs" />
- <Compile Include="src\main\csharp\Connection.cs" />
- <Compile Include="src\main\csharp\ConnectionFactory.cs" />
- <Compile Include="src\main\csharp\DefaultMessageConverter.cs" />
- <Compile Include="src\main\csharp\Destination.cs" />
- <Compile Include="src\main\csharp\IMessageConverter.cs" />
- <Compile Include="src\main\csharp\MapMessage.cs" />
- <Compile Include="src\main\csharp\MessageConsumer.cs" />
- <Compile Include="src\main\csharp\MessageProducer.cs" />
- <Compile Include="src\main\csharp\ObjectMessage.cs" />
- <Compile Include="src\main\csharp\PrimitiveMap.cs" />
- <Compile Include="src\main\csharp\Queue.cs" />
- <Compile Include="src\main\csharp\Session.cs" />
- <Compile Include="src\main\csharp\StreamMessage.cs" />
- <Compile Include="src\main\csharp\TextMessage.cs" />
- </ItemGroup>
- <ItemGroup>
- <None Include="keyfile\NMSKey.snk" />
- <None Include="nmsprovider-msmq.config">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </None>
- </ItemGroup>
- <ItemGroup>
- <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
- <PropertyGroup>
- <PreBuildEvent>cd $(ProjectDir)
-nant -nologo download-vendor -D:vendor.build.config=$(ConfigurationName) -D:vendor.build.framework=net-2.0</PreBuildEvent>
- <PostBuildEvent>cd $(ProjectDir)
-nant -nologo -q install-all -D:compile.skip=true</PostBuildEvent>
- </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/tags/1.1.0/vs2008-msmq.sln b/tags/1.1.0/vs2008-msmq.sln
deleted file mode 100644
index a51006f..0000000
--- a/tags/1.1.0/vs2008-msmq.sln
+++ /dev/null
@@ -1,30 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2008-msmq", "vs2008-msmq.csproj", "{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2008-msmq-test", "vs2008-msmq-test.csproj", "{2F31ED5C-44A2-464A-BD55-2B5B010654E8}"
-EndProject
-Global
- GlobalSection(SubversionScc) = preSolution
- Svn-Managed = True
- Manager = AnkhSVN - Subversion Support for Visual Studio
- EndGlobalSection
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Release|Any CPU.Build.0 = Release|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/tags/1.2.0-RC1/Apache.NMS.MSMQ.Test.nunit b/tags/1.2.0-RC1/Apache.NMS.MSMQ.Test.nunit
deleted file mode 100644
index 3b29e26..0000000
--- a/tags/1.2.0-RC1/Apache.NMS.MSMQ.Test.nunit
+++ /dev/null
@@ -1,7 +0,0 @@
-<NUnitProject>
- <Settings activeconfig="Default" />
- <Config name="Default" binpathtype="Auto">
- <assembly path="Apache.NMS.MSMQ.Test.dll" />
- <assembly path="Apache.NMS.Test.dll" />
- </Config>
-</NUnitProject>
\ No newline at end of file
diff --git a/tags/1.2.0-RC1/LICENSE.txt b/tags/1.2.0-RC1/LICENSE.txt
deleted file mode 100755
index e52ce5d..0000000
--- a/tags/1.2.0-RC1/LICENSE.txt
+++ /dev/null
@@ -1,764 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-APACHE ACTIVEMQ DEPENDENCIES:
-
-The Apache ActiveMQ message broker includes a number of dependencies, many
-of them optional, with separate copyright notices and license terms. Your
-use of the source code for the these subcomponents is subject to the terms
-and conditions of the following licenses.
-
-For the backport-util-concurrent library:
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
-<html><head><title>Creative Commons Public Domain</title>
-
-<body>
-
-<p align="center"><em>Copyright-Only Dedication (based on United States law) or Public Domain Certification</em></p>
-
- <p>The
-person or persons who have associated work with this document (the
-"Dedicator" or "Certifier") hereby either (a) certifies that, to the
-best of his knowledge, the work of authorship identified is in the
-public domain of the country from which the work is published, or (b)
-hereby dedicates whatever copyright the dedicators holds in the work of
-authorship identified below (the "Work") to the public domain. A
-certifier, morever, dedicates any copyright interest he may have in the
-associated work, and for these purposes, is described as a "dedicator"
-below.</p>
-
- <p>A certifier has taken reasonable steps to verify
-the copyright status of this work. Certifier recognizes that his good
-faith efforts may not shield him from liability if in fact the work
-certified is not in the public domain.</p>
-
- <p>Dedicator makes
-this dedication for the benefit of the public at large and to the
-detriment of the Dedicator's heirs and successors. Dedicator intends
-this dedication to be an overt act of relinquishment in perpetuity of
-all present and future rights under copyright law, whether vested or
-contingent, in the Work. Dedicator understands that such relinquishment
-of all rights includes the relinquishment of all rights to enforce (by
-lawsuit or otherwise) those copyrights in the Work.</p>
-
- <p>Dedicator
-recognizes that, once placed in the public domain, the Work may be
-freely reproduced, distributed, transmitted, used, modified, built
-upon, or otherwise exploited by anyone for any purpose, commercial or
-non-commercial, and in any way, including by methods that have not yet
-been invented or conceived.</p>
- </div>
-</div>
-</body></html>
-
-For the mx4j, mx4j-remote, and mx4j-tools library:
-
- The MX4J License, Version 1.0
-
- Copyright (c) 2001-2004 by the MX4J contributors. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- 3. The end-user documentation included with the redistribution,
- if any, must include the following acknowledgment:
- "This product includes software developed by the
- MX4J project (http://mx4j.sourceforge.net)."
- Alternately, this acknowledgment may appear in the software itself,
- if and wherever such third-party acknowledgments normally appear.
-
- 4. The name "MX4J" must not be used to endorse or promote
- products derived from this software without prior written
- permission.
- For written permission, please contact
- biorn_steedom [at] users [dot] sourceforge [dot] net
-
- 5. Products derived from this software may not be called "MX4J",
- nor may "MX4J" appear in their name, without prior written
- permission of Simone Bordet.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE MX4J CONTRIBUTORS
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
- ====================================================================
-
- This software consists of voluntary contributions made by many
- individuals on behalf of the MX4J project. For more information on
- MX4J, please see
- <a href="http://mx4j.sourceforge.net" target="_top">the MX4J website</a>.
-
-For the jetty and jetty-util library:
-
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-For the xmlpull library:
-
-XMLPULL API IS FREE
--------------------
-
-All of the XMLPULL API source code, compiled code, and documentation
-contained in this distribution *except* for tests (see separate LICENSE_TESTS.txt)
-are in the Public Domain.
-
-XMLPULL API comes with NO WARRANTY or guarantee of fitness for any purpose.
-
-Initial authors:
-
- Stefan Haustein
- Aleksander Slominski
-
-2001-12-12
-
-For the spring library:
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-For the xstream library:
-
-(BSD Style License)
-
-Copyright (c) 2003-2004, Joe Walnes
-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 XStream 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.
diff --git a/tags/1.2.0-RC1/NOTICE.txt b/tags/1.2.0-RC1/NOTICE.txt
deleted file mode 100644
index 6860153..0000000
--- a/tags/1.2.0-RC1/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/tags/1.2.0-RC1/README.txt b/tags/1.2.0-RC1/README.txt
deleted file mode 100644
index 9a01bb8..0000000
--- a/tags/1.2.0-RC1/README.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-=======================================================================
-Welcome to:
- * Apache.NMS.MSMQ : Apache NMS for MSMQ Class Library
-=======================================================================
-
-For more information see http://activemq.apache.org/nms
-
-=======================================================================
-Building With NAnt 0.86-Beta2 http://nant.sourceforge.net/
-=======================================================================
-
-A recent nightly build of the NAnt 0.86 beta 2 is required to build Apache.NMS.
-To build the code using NAnt type
-
- nant
-
-To run the unit tests you need to run an Apache ActiveMQ Broker first then type
-
- nant test
-
-To generate the documentation type
-
- nant doc
-
-
-=======================================================================
-Building With Visual Stuido 2008
-=======================================================================
-
-First build the project with nant, this will download and install
-all the 3rd party dependencies for you.
-
-Open the Solution File. Build using "Build"->"Build Solution"
-menu option.
-
-The resulting DLLs will be in bin\Debug or the bin\Release directories
-depending on your settings under "Build"->"Configuration Manager"
-
-If you have the Resharper plugin installed in Visual Studio, you can run
-all the Unit Tests by using the "ReSharper"->"Unit Testing"->"Run All
-Tests from Solution" menu option. Please note that you must run an
-Apache ActiveMQ Broker before kicking off the unit tests.
diff --git a/tags/1.2.0-RC1/keyfile/NMSKey.snk b/tags/1.2.0-RC1/keyfile/NMSKey.snk
deleted file mode 100644
index fdd5b24..0000000
--- a/tags/1.2.0-RC1/keyfile/NMSKey.snk
+++ /dev/null
Binary files differ
diff --git a/tags/1.2.0-RC1/nant-common.xml b/tags/1.2.0-RC1/nant-common.xml
deleted file mode 100644
index c5797dc..0000000
--- a/tags/1.2.0-RC1/nant-common.xml
+++ /dev/null
@@ -1,602 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<project xmlns="http://nant.sourceforge.net/release/0.85/nant.xsd">
-
- <!-- ============================================================================================ -->
- <!-- P R O P E R T Y D E F I N I T I O N S -->
- <!-- ============================================================================================ -->
-
- <!-- global project settings -->
- <property name="project.cls.compliant" value="true" unless="${property::exists('project.cls.compliant')}" />
- <property name="project.release.type" value="SNAPSHOT" unless="${property::exists('project.release.type')}" />
- <property name="project.version.full" value="${project.version + if(project.release.type == 'snapshot', '-' + project.release.type, '')}" dynamic="true" />
- <property name="project.startyear" value="2005" />
- <property name="build.dir" value="${basedir}/build" />
- <property name="doc.dir" value="${build.dir}/doc" />
- <property name="lib.dir" value="${path::combine(basedir, 'lib')}" dynamic="true" />
- <property name="lib.family.dir" value="${path::combine(lib.dir, framework::get-family(framework::get-target-framework()))}" dynamic="true" />
- <property name="lib.framework.dir" value="${path::combine(lib.family.dir, version::to-string(framework::get-version(framework::get-target-framework())))}" dynamic="true" />
-
- <!-- default configuration -->
- <property name="build.defines" value="" />
- <property name="build.noskip" value="false" />
- <property name="build.skip" value="false" />
- <property name="build.skip.release" value="false" unless="${property::exists('build.skip.release')}" />
- <property name="compile.skip" value="false" unless="${property::exists('compile.skip')}" />
- <property name="current.build.config" value="${if(project.release.type == 'release', 'release', 'debug')}" overwrite="false" />
- <property name="current.build.framework" value="${framework::get-target-framework()}" overwrite="false" />
- <property name="current.build.defines" value="${build.defines}" />
- <property name="build.framework.strings" value="net-2.0,net-3.5,mono-2.0,netcf-2.0" unless="${property::exists('build.framework.strings')}"/>
- <property name="current.build.framework.assembly.dir" value="${framework::get-assembly-directory(framework::get-target-framework())}" dynamic="true" />
-
- <property name="build.config.strings" value="${if(property::exists('configuration'), configuration, if(build.skip.release == 'true', 'debug', 'debug,release'))}" dynamic="true" />
-
- <!-- Figure out the user's HOME directory -->
- <property name="user.home" value="${environment::get-variable('HOME')}"
- if="${environment::variable-exists('HOME') and platform::is-unix()}"
- unless="${property::exists('user.home')}" />
- <property name="user.home" value="${environment::get-variable('USERPROFILE')}"
- if="${environment::variable-exists('USERPROFILE') and platform::is-windows()}"
- unless="${property::exists('user.home')}" />
- <fail message="The HOME environment variable is not defined. Please set it to your home directory."
- unless="${property::exists('user.home')}" if="${platform::is-unix()}" />
- <fail message="The USERPROFILE environment variable is not defined. Please set it to your home directory."
- unless="${property::exists('user.home')}" if="${platform::is-windows()}" />
-
- <!-- Figure out the NANT repositories -->
- <property name="nant.remote.repo" value="${environment::get-variable('NANT_REMOTE_REPO')}"
- if="${environment::variable-exists('NANT_REMOTE_REPO')}"
- unless="${property::exists('nant.remote.repo')}" />
- <property name="nant.local.repo" value="${environment::get-variable('NANT_REPO')}/local"
- if="${environment::variable-exists('NANT_REPO')}"
- unless="${property::exists('nant.local.repo')}" />
- <property name="nant.local.repo" value="${user.home}/.nant/repository/local"
- unless="${property::exists('nant.local.repo')}" />
-
- <!-- Figure out the keyfile location -->
- <property name="snk.file" value="${environment::get-variable('ACTIVEMQ_DOTNET_SNK')}"
- if="${environment::variable-exists('ACTIVEMQ_DOTNET_SNK')}"
- unless="${property::exists('snk.file')}" />
- <property name="snk.file" value="${basedir}/keyfile/NMSKey.snk"
- if="${not property::exists('snk.file')}" />
-
- <!-- ============================================================================================ -->
- <!-- I N I T I A L I Z A T I O N T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="init" description="Initializes build properties">
- <!-- enabled the release or debug configuration -->
- <call target="set-${current.build.config}-configuration" />
-
- <!-- Check to see if our build setup for the target framework -->
- <if test="${not(target::exists('set-'+current.build.framework+'-framework-configuration'))}">
- <fail message="The '${current.build.framework}' framework is not supported by this version of ActiveMQ .NET" />
- </if>
- <call target="set-${current.build.framework}-framework-configuration" />
-
- <!-- Check to see current platform supports the target framework -->
- <if test="${framework::exists(current.build.framework)}">
- <property name="build.skip" value="false" />
- </if>
- <if test="${not framework::exists(current.build.framework)}">
- <if test="${build.noskip}">
- <fail message="${current.build.framework.name} is not available." />
- </if>
- <if test="${not(build.noskip)}">
- <echo message="${current.build.framework.name} is not available. Build skipped." />
- <property name="build.skip" value="true" />
- </if>
- </if>
-
- <!-- Check to see if we should skip this build framework. -->
- <if test="${not(build.skip)}">
- <if test="${property::exists('build.'+current.build.framework+'.skip')}">
- <property name="build.skip" value="true" />
- <echo message="The '${current.build.framework}' framework is not supported by this version of ActiveMQ .NET" />
- </if>
- </if>
-
- <property name="current.build.keysign" value="${current.build.framework.sign}" />
- <property name="build.bin.dir" value="${build.dir}/${nant.settings.currentframework}/${current.build.config}" />
- <if test="${not(build.skip)}">
- <echo message="Doing ${if(current.build.keysign,'a signed','an unsigned')} ${current.build.config} build for the ${current.build.framework.name} framework" />
- <mkdir dir="${build.bin.dir}" />
- </if>
- <call target="dependency-init" />
- </target>
-
- <!-- Generate four-digit build number -->
- <target name="generate-build-number">
- <if test="${not property::exists('project.version.numeric')}">
- <script language="C#">
- <imports>
- <import namespace="System.Globalization" />
- <import namespace="System.Threading" />
- </imports>
- <code>
- <!-- Format for assembly revision is the number of days from the year the project 'started', property project.startyear. -->
- <![CDATA[
- public static void ScriptMain(Project project)
- {
- int startYear = Convert.ToInt32(project.Properties["project.startyear"]);
- DateTime start = new DateTime(startYear, 1, 1);
- TimeSpan ts = DateTime.Now - start;
- project.Properties["project.version.numeric"] = project.Properties["project.version"].ToString() + "." + ts.Days.ToString();
- }
- ]]>
- </code>
- </script>
- </if>
- </target>
-
- <!-- Generate assemblyinfo.cs files -->
- <target name="generate-assemblyinfo" depends="generate-build-number" description="Generate the assembly info for the path in assemblyinfo.filename">
- <asminfo output="${assemblyinfo.filename}" language="CSharp">
- <imports>
- <import namespace="System" />
- <import namespace="System.Reflection" />
- <import namespace="System.Runtime.InteropServices" />
- </imports>
- <attributes>
- <attribute type="ComVisibleAttribute" value="false" />
- <attribute type="CLSCompliantAttribute" value="${project.cls.compliant}" />
- <attribute type="AssemblyTitleAttribute" value="${project.short_description}" />
- <attribute type="AssemblyDescriptionAttribute" value="${project.description}" />
- <attribute type="AssemblyConfigurationAttribute" value="${project.release.type}" />
- <attribute type="AssemblyCompanyAttribute" value="http://activemq.apache.org/nms" />
- <attribute type="AssemblyProductAttribute" value="${project.short_description}" />
- <attribute type="AssemblyCopyrightAttribute" value="Copyright (C) ${project.startyear}-${datetime::get-year(datetime::now())} Apache Software Foundation" />
- <attribute type="AssemblyTrademarkAttribute" value="" />
- <attribute type="AssemblyCultureAttribute" value="" />
- <attribute type="AssemblyVersionAttribute" value="${project.version.numeric}" />
- <attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" />
- </attributes>
- </asminfo>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- C O N F I G U R A T I O N T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="set-noskip-configuration" description="Disable skipping builds">
- <property name="project.noskip" value="true" />
- </target>
-
- <target name="set-debug-configuration" description="Enabled 'debug' builds">
- <property name="current.build.config" value="debug" />
- <property name="current.build.config.debug" value="true" />
- <property name="current.build.config.release" value="false" />
- <property name="current.build.defines" value="${build.defines}DEBUG,TRACE," dynamic="true" />
- <property name="csc.debug" value="Full" />
- <property name="csc.optimize" value="false" />
- </target>
-
- <target name="set-release-configuration" description="Enabled 'release' builds">
- <property name="current.build.config" value="release" />
- <property name="current.build.config.release" value="true" />
- <property name="current.build.config.debug" value="false" />
- <property name="csc.debug" value="Full" />
- <property name="csc.optimize" value="true" />
- </target>
-
- <target name="set-net-1.1-framework-configuration">
- <property name="current.build.framework" value="net-1.1" />
- <property name="current.build.framework.name" value=".NET 1.1" />
- <property name="current.build.defines" value="${build.defines}NET,NET_1_1" dynamic="true" />
- <property name="current.build.framework.sign" value="false" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-net-2.0-framework-configuration">
- <property name="current.build.framework" value="net-2.0" />
- <property name="current.build.framework.name" value=".NET 2.0" />
- <property name="current.build.defines" value="${build.defines}NET,NET_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="true" />
- <property name="link.sdkdoc.version" value="SDK_v2_0" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-net-3.5-framework-configuration">
- <property name="current.build.framework" value="net-3.5" />
- <property name="current.build.framework.name" value=".NET 3.5" />
- <property name="current.build.defines" value="${build.defines}NET,NET_2_0,NET_3_5" dynamic="true" />
- <property name="current.build.framework.sign" value="true" />
- <property name="link.sdkdoc.version" value="SDK_v6_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-netcf-2.0-framework-configuration">
- <property name="current.build.framework" value="netcf-2.0" />
- <property name="current.build.framework.name" value=".NET Compact Framework 2.0" />
- <property name="current.build.defines" value="${build.defines}PocketPC,NETCF,NETCF_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="false" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <target name="set-mono-2.0-framework-configuration">
- <property name="current.build.framework" value="mono-2.0" />
- <property name="current.build.framework.name" value="Mono 2.0" />
- <property name="current.build.defines" value="${build.defines}MONO,MONO_2_0" dynamic="true" />
- <property name="current.build.framework.sign" value="true" />
- <property name="link.sdkdoc.version" value="SDK_v1_1" />
- <property name="link.sdkdoc.web" value="true" />
- <if test="${framework::exists(current.build.framework)}">
- <property name="nant.settings.currentframework" value="${current.build.framework}" />
- </if>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- C O M P I L E T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="compile-all" description="Compile all build configurations for all runtime configurations">
- <echo message="Compiling all build configurations for all runtime configurations." />
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <foreach item="String" in="${build.config.strings}" delim="," property="current.build.config">
- <call target="compile-target" />
- </foreach>
- </foreach>
- </target>
-
- <target name="compile-target" depends="init, download-vendor, conditional-compile" />
-
- <target name="conditional-compile" depends="init" unless="${build.skip or compile.skip}"
- description="Conditionaly compiles all the modules if build framework and type are supported">
- <call target="compile" />
- </target>
-
- <target name="compile" description="Compile everything">
- <call target="compile-main" cascade="false" />
- <call target="compile-test" cascade="false" />
- </target>
-
- <target name="compile-main" depends="init" description="Build the main library">
- <echo message="Building the ${project.name} library" />
- <property name="assemblyinfo.filename" value="src/main/csharp/CommonAssemblyInfo.cs" />
- <call target="generate-assemblyinfo" />
-
- <csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.dll" doc="${build.bin.dir}/${project.name}.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/main/csharp/**.cs" />
- </sources>
- <references refid="dependencies" />
- </csc>
- <csc if="${not current.build.keysign}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.dll" doc="${build.bin.dir}/${project.name}.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/main/csharp/**.cs" />
- </sources>
- <references refid="dependencies" />
- </csc>
- <call target="copy-content" />
- </target>
-
- <!-- Compile the nms-test module -->
- <target name="compile-test" depends="compile-main" description="Build the test library">
- <echo message="Building the ${project.name}.Test library" />
- <property name="assemblyinfo.filename" value="src/test/csharp/CommonAssemblyInfo.cs" />
- <call target="generate-assemblyinfo" />
-
- <csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.Test.dll" doc="${build.bin.dir}/${project.name}.Test.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/test/csharp/**.cs" />
- </sources>
- <references refid="test.dependencies" />
- </csc>
- <csc if="${not current.build.keysign}" target="library"
- define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" optimize="${csc.optimize}"
- output="${build.bin.dir}/${project.name}.Test.dll" doc="${build.bin.dir}/${project.name}.Test.xml">
- <nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML comments -->
- </nowarn>
- <sources failonempty="true">
- <include name="src/test/csharp/**.cs" />
- </sources>
- <references refid="test.dependencies" />
- </csc>
- <call target="copy-content" />
- </target>
-
- <target name="copy-content">
- <foreach item="File" property="content.filename">
- <in>
- <items refid="content.filenames" />
- </in>
- <do>
- <copy todir="${build.bin.dir}" file="${content.filename}" if="${not file::up-to-date(content.filename, '${build.bin.dir}/${content.filename}')}" />
- </do>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- I N S T A L L T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="install-all" description="Install all build configurations for all runtime configurations">
- <echo message="Installing all build configurations for all runtime configurations." />
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <foreach item="String" in="${build.config.strings}" delim="," property="current.build.config">
- <call target="install" />
- </foreach>
- </foreach>
- </target>
-
- <!-- Install the modules to the local repo -->
- <target name="install" depends="init, compile-target, conditional-install"
- description="Install the artifacts into the nant repo" />
-
- <target name="conditional-install" unless="${build.skip}"
- description="Install the artifacts into the nant repo">
- <property name="path" value="${project.group}/${project.name}/${project.version.full}/${current.build.framework}/${current.build.config}" />
- <foreach item="File" property="install.filename">
- <in>
- <items refid="install.filenames" />
- </in>
- <do>
- <property name="repo.task.artifact" value="${path}/${path::get-file-name(install.filename)}" />
- <property name="repo.task.src" value="${install.filename}" />
- <property name="repo.task.dest" value="${nant.local.repo}/${repo.task.artifact}" />
- <mkdir dir="${directory::get-parent-directory(repo.task.dest)}" />
- <copy file="${repo.task.src}" tofile="${repo.task.dest}" />
- </do>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- R E P O D O W N L O A D T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="download-vendor-all" description="Download vendor files for all runtime configurations">
- <echo message="Downloading vendor files for all runtime configurations." />
- <property name="current.build.config" value="release" />
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <call target="download-vendor" />
- </foreach>
- </target>
-
- <target name="download-vendor" depends="vendor-init, conditional-download"
- description="Download the vendor artifacts from the nant repo" />
-
- <target name="conditional-download" unless="${build.skip}"
- description="Download the artifacts from the nant repo">
- <!-- Iterate over the defined vendor filesets. -->
- <foreach item="String" in="${vendor.fileset.names}" delim="," property="current.vendor">
- <property name="vendor.name" value="${property::get-value(current.vendor + '.name')}" />
- <property name="vendor.group" value="${property::get-value(current.vendor + '.group')}" />
- <property name="vendor.version" value="${property::get-value(current.vendor + '.version')}" />
- <property name="vendor.filenames" value="${property::get-value(current.vendor + '.filenames')}" />
- <property name="local.repo.vendor.path" value="${nant.local.repo}/${vendor.group}/${vendor.name}/${vendor.version}/${current.build.framework}/${current.build.config}" />
- <property name="lib.path" value="lib/${vendor.name}/${current.build.framework}" />
- <!--
- Update the LIB folder with the latest version of the file. If there is a newer version
- installed in the local repository, then that version will be copied into the LIB folder.
- -->
- <foreach item="String" in="${vendor.filenames}" delim="," property="repo.task.artifact">
- <property name="lib.task.dest" value="${lib.path}/${repo.task.artifact}" />
- <mkdir dir="${directory::get-parent-directory(lib.task.dest)}" />
- <property name="repo.task.src" value="${local.repo.vendor.path}/${repo.task.artifact}" />
- <copy file="${repo.task.src}" tofile="${lib.task.dest}" if="${file::exists(repo.task.src)}" />
- <if test="${not file::exists(lib.task.dest)}">
- <echo message="Required dependent assembly ${repo.task.artifact} from ${vendor.name} for ${current.build.framework.name} is not available. Build skipped." />
- <property name="build.skip" value="true" />
- </if>
- </foreach>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- T E S T T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="test" depends="test-debug" description="Alias test target to test-debug" />
-
- <target name="test-all" depends="test-debug, test-release" description="Test all build configurations for all runtime configurations" />
-
- <target name="test-debug" depends="" description="Test debug build configurations for all runtime configurations">
- <property name="current.build.config" value="debug" />
- <call target="test-frameworks" />
- </target>
-
- <target name="test-release" depends="" description="Test release build configurations for all runtime configurations">
- <property name="current.build.config" value="release" />
- <call target="test-frameworks" />
- </target>
-
- <target name="test-frameworks">
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <call target="init" />
- <if test="${not build.skip}">
- <exec program="nunit-console" failonerror="true" workingdir="build/${current.build.framework}/${current.build.config}">
- <arg value="${NUnit.Projectfile}" />
- <arg value="-labels" />
- <arg value="-xml=Nunit.TestOutput.xml" />
- </exec>
- </if>
- </foreach>
- </target>
-
- <!-- ============================================================================================ -->
- <!-- M I S C E L L A N E O U S T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="build" depends="default" description="Build the project." />
-
- <target name="rebuild" depends="clean,build" description="Rebuild the project." />
-
- <target name="clean" description="Deletes build">
- <if test="${target::exists('clean-init')}">
- <call target="clean-init" />
- </if>
- <delete dir="build" if="${directory::exists('build')}" />
- <delete dir="obj" if="${directory::exists('obj')}" />
- <delete dir="package" if="${directory::exists('package')}" />
- </target>
-
- <target name="doc" depends="build">
- <mkdir dir="${doc.dir}" />
- <ndoc failonerror="false">
- <assemblies basedir="${build.bin.dir}">
- <include name="${project.name}.dll" />
- </assemblies>
- <summaries basedir="${basedir}/src/main/ndoc">
- <include name="NamespaceSummary.xml" />
- </summaries>
- <documenters>
- <documenter name="MSDN">
- <property name="OutputDirectory" value="${doc.dir}" />
- <property name="HtmlHelpName" value="${project.name}" />
- <property name="HtmlHelpCompilerFilename" value="hhc.exe" />
- <property name="IncludeFavorites" value="False" />
- <property name="Title" value="${project.short_description}" />
- <property name="SplitTOCs" value="False" />
- <property name="DefaulTOC" value="" />
- <!--
- <property name="ShowVisualBasic" value="True" />
- <property name="ShowMissingSummaries" value="True" />
- <property name="ShowMissingRemarks" value="True" />
- <property name="ShowMissingParams" value="True" />
- <property name="ShowMissingReturns" value="True" />
- <property name="ShowMissingValues" value="True" />
- -->
- <property name="DocumentInternals" value="False" />
- <property name="DocumentProtected" value="True" />
- <property name="DocumentPrivates" value="False" />
- <property name="DocumentEmptyNamespaces" value="False" />
- <property name="IncludeAssemblyVersion" value="True" />
- <property name="CopyrightText" value="" />
- <property name="CopyrightHref" value="" />
- </documenter>
- </documenters>
- </ndoc>
- </target>
-
- <target name="sandcastle" depends="set-release-configuration, init, conditional-compile">
- <!-- Directories -->
- <property name="sandcastle.style" value="vs2005" unless="${property::exists('sandcastle.style')}" />
- <property name="documentation.dir" value="${build.bin.dir}" />
- <property name="bin.intern.dir" value="${build.bin.dir}" />
- <property name="bin.extern.dir" value="${basedir}\vendor\NUnit\net-2.0" />
- <property name="sandcastle.dir" value="${environment::get-variable('DXROOT')}" />
- <property name="sandcastle.workingdir" value="${build.dir}\doc\${sandcastle.style}" />
- <property name="sandcastle.output.dir" value="${sandcastle.workingdir}\Output" />
-
- <!-- Executables -->
- <property name="sandcastle.mrefbuilder.exe" value="${sandcastle.dir}\productiontools\mrefbuilder.exe" />
- <property name="sandcastle.buildassembler.exe" value="${sandcastle.dir}\productiontools\buildassembler.exe" />
- <property name="sandcastle.xsltransform.exe" value="${sandcastle.dir}\productiontools\xsltransform.exe" />
- <property name="sandcastle.productiontransforms.dir" value="${sandcastle.dir}\ProductionTransforms" />
-
- <!-- Create or Cleanup Working Directory -->
- <mkdir dir="${sandcastle.workingdir}"
- if="${not directory::exists(sandcastle.workingdir)}" />
- <delete>
- <fileset basedir="${sandcastle.workingdir}">
- <include name="**\*" />
- </fileset>
- </delete>
-
- <!-- Copy configuration file, and hard code references -->
- <copy file="${sandcastle.dir}/Presentation/${sandcastle.style}/Configuration/Sandcastle.config"
- tofile="${sandcastle.workingdir}/Sandcastle.config">
- <filterchain>
- <replacestring from=""..\..\" to=""${sandcastle.dir}\" />
- <replacestring from=""..\" to=""${sandcastle.dir}\Examples\" />
- <replacestring from="".\comments.xml" to=""${documentation.dir}\${project.name}.xml" />
- <replacestring from=""%DXROOT%\Presentation\${sandcastle.style}\content\feedback_content.xml"" to=""${basedir}/src/main/sandcastle/feedback_content.xml"" />
- </filterchain>
- </copy>
-
- <!-- Run MRefBuilder (introspection on assemblies) to create basic Reflection XML -->
- <exec program="${sandcastle.mrefbuilder.exe}" workingdir="${sandcastle.workingdir}">
- <arg value="${bin.intern.dir}/${project.name}.dll" />
- <arg value="/out:reflection.int.xml" />
- <arg value="/dep:${bin.extern.dir}\*.dll" />
- </exec>
-
- <!-- Create Reflection XML -->
- <exec program="${sandcastle.xsltransform.exe}" workingdir="${sandcastle.workingdir}">
- <arg value="/xsl:"${sandcastle.productiontransforms.dir}\ApplyVSDocModel.xsl"" if="${sandcastle.style != 'prototype'}" />
- <arg value="/xsl:"${sandcastle.productiontransforms.dir}\ApplyPrototypeDocModel.xsl"" if="${sandcastle.style == 'prototype'}" />
- <arg value="/xsl:"${sandcastle.productiontransforms.dir}\AddFriendlyFilenames.xsl"" /> <!-- if="${sandcastle.style != 'prototype'}" /> -->
- <arg value="/xsl:"${sandcastle.productiontransforms.dir}\AddGuidFilenames.xsl"" if="${sandcastle.style == 'disabled'}" />
- <arg value="reflection.int.xml" />
- <arg value="/out:reflection.xml" />
- <arg value="/arg:IncludeAllMembersTopic=true" />
- <arg value="/arg:IncludeInheritedOverloadTopics=true" />
- </exec>
-
- <!-- Create Manifest (list of Topics) -->
- <exec program="${sandcastle.xsltransform.exe}" workingdir="${sandcastle.workingdir}">
- <arg value="/xsl:"${sandcastle.productiontransforms.dir}\ReflectionToManifest.xsl"" />
- <arg value="reflection.xml" />
- <arg value="/out:manifest.xml" />
- </exec>
-
- <!-- Create Output Environment -->
- <mkdir dir="${sandcastle.output.dir}" />
- <mkdir dir="${sandcastle.output.dir}/html" />
- <copy todir="${sandcastle.output.dir}">
- <fileset basedir="${sandcastle.dir}/Presentation/${sandcastle.style}">
- <include name="icons/*" />
- <include name="media/*" />
- <include name="scripts/*" />
- <include name="styles/*" />
- </fileset>
- </copy>
-
- <!-- Run BuildAssembler (create html topic files) -->
- <exec program="${sandcastle.buildassembler.exe}" workingdir="${sandcastle.workingdir}">
- <arg value="/config:Sandcastle.config" />
- <arg value="manifest.xml" />
- </exec>
- </target>
-
- <target name="sandcastle-all" description="Generate all formats of the Sandcastle documentation files.">
- <foreach item="String" in="vs2005,prototype,hana" delim="," property="sandcastle.style">
- <call target="sandcastle" />
- </foreach>
- </target>
-</project>
diff --git a/tags/1.2.0-RC1/nant.build b/tags/1.2.0-RC1/nant.build
deleted file mode 100644
index 2340914..0000000
--- a/tags/1.2.0-RC1/nant.build
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<project name="Apache.NMS.MSMQ" default="default" xmlns="http://nant.sourceforge.net/release/0.85/nant.xsd">
- <!-- ============================================================================================ -->
- <!-- I N I T I A L I Z A T I O N -->
- <!-- ============================================================================================ -->
- <property name="basedir" value="${project::get-base-directory()}" />
- <property name="project.name" value="Apache.NMS.MSMQ" />
- <property name="project.group" value="org.apache.activemq" />
- <property name="project.version" value="1.2.0" unless="${property::exists('project.version')}" />
- <property name="project.release.type" value="RC" unless="${property::exists('project.release.type')}" />
- <property name="project.short_description" value="Apache NMS for MSMQ Class Library" />
- <property name="project.description" value="Apache NMS for MSMQ Class Library (.Net Messaging Library Implementation): An implementation of the NMS API for MSMQ" />
-
- <!-- Repository organized as: organization/module/version/plaform/artifact, platform might be something like 'all' or 'net-2.0/release' -->
- <property name="nunit.dll" value="${basedir}/lib/NUnit/${current.build.framework}/nunit.framework.dll" dynamic="true" />
- <property name="nunit.extensions.dll" value="${basedir}/lib/NUnit/${current.build.framework}/nunit.framework.extensions.dll" dynamic="true" />
- <property name="Apache.NMS.dll" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.dll" dynamic="true" />
- <property name="Apache.NMS.pdb" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.pdb" dynamic="true" />
- <property name="Apache.NMS.Test.dll" value="${basedir}/lib/Apache.NMS/${current.build.framework}//Apache.NMS.Test.dll" dynamic="true" />
- <property name="Apache.NMS.Test.pdb" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.Test.pdb" dynamic="true" />
- <property name="NUnit.Projectfile" value="Apache.NMS.MSMQ.Test.nunit" />
-
- <!-- Skip certain frameworks, since MSMQ is not supported on those platforms. -->
- <property name="build.netcf-2.0.skip" value="true" />
- <property name="build.mono-2.0.skip" value="true" />
-
- <target name="vendor-init" description="Initializes Vendor library from local repository.">
- <!--
- Vendor specific info. The prefix of 'vendor.apache.org' is taken from the property
- 'vendor.fileset.names'. This comma-delimited list is iterated, and properties with
- well-known suffixes are used to access and copy down vendor file dependencies.
- -->
- <property name="vendor.fileset.names" value="vendor.apache.org,vendor.nunit.org" />
-
- <!-- Property grouping for 'vendor.apache.org' -->
- <property name="vendor.apache.org.name" value="Apache.NMS" />
- <property name="vendor.apache.org.group" value="org.apache.activemq" />
- <property name="vendor.apache.org.version" value="1.2.0" />
- <property name="vendor.apache.org.filenames" value="Apache.NMS.dll,Apache.NMS.pdb,Apache.NMS.Test.dll,Apache.NMS.Test.pdb" />
-
- <!-- Property grouping for 'vendor.nunit.org' -->
- <property name="vendor.nunit.org.name" value="NUnit" />
- <property name="vendor.nunit.org.group" value="org.nunit" />
- <property name="vendor.nunit.org.version" value="2.4.8" />
- <property name="vendor.nunit.org.filenames" value="nunit.framework.dll,nunit.framework.extensions.dll" />
- </target>
-
- <target name="dependency-init" description="Initializes build dependencies">
- <assemblyfileset failonempty="true" id="dependencies">
- <include name="${current.build.framework.assembly.dir}/mscorlib.dll" />
- <include name="${current.build.framework.assembly.dir}/System.dll" />
- <include name="${current.build.framework.assembly.dir}/System.Xml.dll" />
- <include name="${current.build.framework.assembly.dir}/System.Messaging.dll" />
- <include name="${Apache.NMS.dll}" />
- </assemblyfileset>
-
- <assemblyfileset failonempty="true" id="test.dependencies">
- <include name="${current.build.framework.assembly.dir}/mscorlib.dll" />
- <include name="${current.build.framework.assembly.dir}/System.dll" />
- <include name="${current.build.framework.assembly.dir}/System.Xml.dll" />
- <include name="${current.build.framework.assembly.dir}/System.Messaging.dll" />
- <include name="${Apache.NMS.dll}" />
- <include name="${Apache.NMS.Test.dll}" />
- <include name="${build.bin.dir}/${project.name}.dll" />
- <include name="${nunit.dll}" />
- <include name="${nunit.extensions.dll}" />
- </assemblyfileset>
-
- <fileset id="content.filenames">
- <include name="LICENSE.txt" />
- <include name="NOTICE.txt" />
- <include name="nmsprovider-*.config" />
- <include name="${Apache.NMS.dll}" />
- <include name="${Apache.NMS.pdb}" />
- <include name="${Apache.NMS.Test.dll}" />
- <include name="${Apache.NMS.Test.pdb}" />
- <include name="${nunit.dll}" />
- <include name="${nunit.extensions.dll}" />
- <include name="${NUnit.Projectfile}" />
- </fileset>
-
- <fileset id="install.filenames">
- <include name="LICENSE.txt" />
- <include name="NOTICE.txt" />
- <include name="${build.bin.dir}/${project.name}.dll" />
- <include name="${build.bin.dir}/${project.name}.pdb" />
- </fileset>
-
- </target>
-
- <target name="default" depends="install-all" />
-
- <!-- Load the common target definitions -->
- <include buildfile="${basedir}/nant-common.xml" />
-</project>
diff --git a/tags/1.2.0-RC1/nmsprovider-test.config b/tags/1.2.0-RC1/nmsprovider-test.config
deleted file mode 100644
index 051f872..0000000
--- a/tags/1.2.0-RC1/nmsprovider-test.config
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!--
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
--->
-<configuration>
- <defaultURI value="msmq://localhost">
- <factoryParams>
- <param type="string" value="NMSTestClient"/>
- </factoryParams>
- <userName value="guest"/>
- <passWord value="guest"/>
- </defaultURI>
-</configuration>
diff --git a/tags/1.2.0-RC1/package.ps1 b/tags/1.2.0-RC1/package.ps1
deleted file mode 100644
index 48b7014..0000000
--- a/tags/1.2.0-RC1/package.ps1
+++ /dev/null
@@ -1,67 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-$pkgname = "Apache.NMS.MSMQ"
-$pkgver = "1.2.0-RC1"
-$configurations = "release", "debug"
-$frameworks = "net-2.0", "net-3.5"
-
-write-progress "Creating package directory." "Initializing..."
-if(!(test-path package))
-{
- md package
-}
-
-if(test-path build)
-{
- pushd build
-
- $pkgdir = "..\package"
-
- write-progress "Packaging Application files." "Scanning..."
- $zipfile = "$pkgdir\$pkgname-$pkgver-bin.zip"
- zip -9 -u -j "$zipfile" ..\LICENSE.txt
- zip -9 -u -j "$zipfile" ..\NOTICE.txt
- foreach($configuration in $configurations)
- {
- foreach($framework in $frameworks)
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll"
- zip -9 -u "$zipfile" "$framework\$configuration\nmsprovider*.config"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll"
- if($framework -ieq "mono-2.0")
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll.mdb"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll.mdb"
- }
- else
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.pdb"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.pdb"
- }
- }
- }
-
- popd
-}
-
-write-progress "Packaging Source code files." "Scanning..."
-$pkgdir = "package"
-$zipfile = "$pkgdir\$pkgname-$pkgver-src.zip"
-
-zip -9 -u "$zipfile" LICENSE.txt NOTICE.txt nant-common.xml nant.build package.ps1 vs2008-msmq-test.csproj vs2008-msmq.csproj vs2008-msmq.sln
-zip -9 -u -r "$zipfile" keyfile src
-
-write-progress -Completed "Packaging" "Complete."
diff --git a/tags/1.2.0-RC1/src/main/csharp/BaseMessage.cs b/tags/1.2.0-RC1/src/main/csharp/BaseMessage.cs
deleted file mode 100644
index 16d7164..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/BaseMessage.cs
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using Apache.NMS.Util;
-
-namespace Apache.NMS.MSMQ
-{
- public delegate void AcknowledgeHandler(BaseMessage baseMessage);
-
- public class BaseMessage : IMessage
- {
- private PrimitiveMap propertiesMap = new PrimitiveMap();
- private IDestination destination;
- private string correlationId;
- private TimeSpan timeToLive;
- private string messageId;
- private MsgDeliveryMode deliveryMode;
- private MsgPriority priority;
- private Destination replyTo;
- private byte[] content;
- private string type;
- private event AcknowledgeHandler Acknowledger;
- private DateTime timestamp = new DateTime();
- private bool readOnlyMsgBody = false;
-
- public bool ReadOnlyBody
- {
- get { return readOnlyMsgBody; }
- set { readOnlyMsgBody = value; }
- }
-
- // IMessage interface
-
- public void Acknowledge()
- {
- if(null != Acknowledger)
- {
- Acknowledger(this);
- }
- }
-
- /// <summary>
- /// Clears out the message body. Clearing a message's body does not clear its header
- /// values or property entries.
- ///
- /// If this message body was read-only, calling this method leaves the message body in
- /// the same state as an empty body in a newly created message.
- /// </summary>
- public virtual void ClearBody()
- {
- this.Content = null;
- this.readOnlyMsgBody = false;
- }
-
- /// <summary>
- /// Clears a message's properties.
- ///
- /// The message's header fields and body are not cleared.
- /// </summary>
- public virtual void ClearProperties()
- {
- propertiesMap.Clear();
- }
-
- // Properties
-
- public IPrimitiveMap Properties
- {
- get { return propertiesMap; }
- }
-
-
- // NMS headers
-
- /// <summary>
- /// The correlation ID used to correlate messages with conversations or long running business processes
- /// </summary>
- public string NMSCorrelationID
- {
- get { return correlationId; }
- set { correlationId = value; }
- }
-
- /// <summary>
- /// The destination of the message
- /// </summary>
- public IDestination NMSDestination
- {
- get { return destination; }
- set { destination = value; }
- }
-
- /// <summary>
- /// The time in milliseconds that this message should expire in
- /// </summary>
- public TimeSpan NMSTimeToLive
- {
- get { return timeToLive; }
- set { timeToLive = value; }
- }
-
- /// <summary>
- /// The message ID which is set by the provider
- /// </summary>
- public string NMSMessageId
- {
- get { return messageId; }
- set { messageId = value; }
- }
-
- /// <summary>
- /// Whether or not this message is persistent
- /// </summary>
- public MsgDeliveryMode NMSDeliveryMode
- {
- get { return deliveryMode; }
- set { deliveryMode = value; }
- }
-
- /// <summary>
- /// The Priority on this message
- /// </summary>
- public MsgPriority NMSPriority
- {
- get { return priority; }
- set { priority = value; }
- }
-
- /// <summary>
- /// Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully.
- /// </summary>
- public bool NMSRedelivered
- {
- get { return false; }
- }
-
-
- /// <summary>
- /// The destination that the consumer of this message should send replies to
- /// </summary>
- public IDestination NMSReplyTo
- {
- get { return replyTo; }
- set { replyTo = (Destination) value; }
- }
-
-
- /// <summary>
- /// The timestamp the broker added to the message
- /// </summary>
- public DateTime NMSTimestamp
- {
- get { return timestamp; }
- set { timestamp = value; }
- }
-
- public byte[] Content
- {
- get { return content; }
- set { this.content = value; }
- }
-
- /// <summary>
- /// The type name of this message
- /// </summary>
- public string NMSType
- {
- get { return type; }
- set { type = value; }
- }
-
-
- public object GetObjectProperty(string name)
- {
- return null;
- }
-
- public void SetObjectProperty(string name, object value)
- {
- }
-
- protected void FailIfReadOnlyBody()
- {
- if(ReadOnlyBody == true)
- {
- throw new MessageNotWriteableException("Message is in Read-Only mode.");
- }
- }
-
- protected void FailIfWriteOnlyBody()
- {
- if( ReadOnlyBody == false )
- {
- throw new MessageNotReadableException("Message is in Write-Only mode.");
- }
- }
- }
-}
-
diff --git a/tags/1.2.0-RC1/src/main/csharp/BytesMessage.cs b/tags/1.2.0-RC1/src/main/csharp/BytesMessage.cs
deleted file mode 100644
index 51ca6fa..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/BytesMessage.cs
+++ /dev/null
@@ -1,511 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-using Apache.NMS.Util;
-using System.IO;
-using System;
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- ///
- /// A BytesMessage object is used to send a message containing a stream of uninterpreted
- /// bytes. It inherits from the Message interface and adds a bytes message body. The
- /// receiver of the message supplies the interpretation of the bytes.
- ///
- /// This message type is for client encoding of existing message formats. If possible,
- /// one of the other self-defining message types should be used instead.
- ///
- /// Although the NMS API allows the use of message properties with byte messages, they
- /// are typically not used, since the inclusion of properties may affect the format.
- ///
- /// When the message is first created, and when ClearBody is called, the body of the
- /// message is in write-only mode. After the first call to Reset has been made, the
- /// message body is in read-only mode. After a message has been sent, the client that
- /// sent it can retain and modify it without affecting the message that has been sent.
- /// The same message object can be sent multiple times. When a message has been received,
- /// the provider has called Reset so that the message body is in read-only mode for the
- /// client.
- ///
- /// If ClearBody is called on a message in read-only mode, the message body is cleared and
- /// the message is in write-only mode.
- ///
- /// If a client attempts to read a message in write-only mode, a MessageNotReadableException
- /// is thrown.
- ///
- /// If a client attempts to write a message in read-only mode, a MessageNotWriteableException
- /// is thrown.
- /// </summary>
- public class BytesMessage : BaseMessage, IBytesMessage
- {
- private EndianBinaryReader dataIn = null;
- private EndianBinaryWriter dataOut = null;
- private MemoryStream outputBuffer = null;
-
- // Need this later when we add compression to store true content length.
- private long length = 0;
-
- public override void ClearBody()
- {
- base.ClearBody();
- this.outputBuffer = null;
- this.dataIn = null;
- this.dataOut = null;
- this.length = 0;
- }
-
- public long BodyLength
- {
- get
- {
- InitializeReading();
- return this.length;
- }
- }
-
- public byte ReadByte()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadByte();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteByte( byte value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public bool ReadBoolean()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadBoolean();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteBoolean( bool value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public char ReadChar()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadChar();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteChar( char value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public short ReadInt16()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadInt16();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteInt16( short value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public int ReadInt32()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadInt32();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteInt32( int value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public long ReadInt64()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadInt64();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteInt64( long value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public float ReadSingle()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadSingle();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteSingle( float value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public double ReadDouble()
- {
- InitializeReading();
- try
- {
- return dataIn.ReadDouble();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteDouble( double value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public int ReadBytes( byte[] value )
- {
- InitializeReading();
- try
- {
- return dataIn.Read( value, 0, value.Length );
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public int ReadBytes( byte[] value, int length )
- {
- InitializeReading();
- try
- {
- return dataIn.Read( value, 0, length );
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteBytes( byte[] value )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value, 0, value.Length );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteBytes( byte[] value, int offset, int length )
- {
- InitializeWriting();
- try
- {
- dataOut.Write( value, offset, length );
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public string ReadString()
- {
- InitializeReading();
- try
- {
- // JMS, CMS and NMS all encode the String using a 16 bit size header.
- return dataIn.ReadString16();
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteString( string value )
- {
- InitializeWriting();
- try
- {
- // JMS, CMS and NMS all encode the String using a 16 bit size header.
- dataOut.WriteString16(value);
- }
- catch(Exception e)
- {
- throw NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteObject( System.Object value )
- {
- InitializeWriting();
- if( value is System.Byte )
- {
- this.dataOut.Write( (byte) value );
- }
- else if( value is Char )
- {
- this.dataOut.Write( (char) value );
- }
- else if( value is Boolean )
- {
- this.dataOut.Write( (bool) value );
- }
- else if( value is Int16 )
- {
- this.dataOut.Write( (short) value );
- }
- else if( value is Int32 )
- {
- this.dataOut.Write( (int) value );
- }
- else if( value is Int64 )
- {
- this.dataOut.Write( (long) value );
- }
- else if( value is Single )
- {
- this.dataOut.Write( (float) value );
- }
- else if( value is Double )
- {
- this.dataOut.Write( (double) value );
- }
- else if( value is byte[] )
- {
- this.dataOut.Write( (byte[]) value );
- }
- else if( value is String )
- {
- this.dataOut.WriteString16( (string) value );
- }
- else
- {
- throw new MessageFormatException("Cannot write non-primitive type:" + value.GetType());
- }
- }
-
- public void Reset()
- {
- StoreContent();
- this.dataIn = null;
- this.dataOut = null;
- this.outputBuffer = null;
- this.ReadOnlyBody = true;
- }
-
- private void InitializeReading()
- {
- FailIfWriteOnlyBody();
- if(this.dataIn == null)
- {
- if(this.Content != null)
- {
- this.length = this.Content.Length;
- }
-
- // TODO - Add support for Message Compression.
- MemoryStream bytesIn = new MemoryStream(this.Content, false);
- dataIn = new EndianBinaryReader(bytesIn);
- }
- }
-
- private void InitializeWriting()
- {
- FailIfReadOnlyBody();
- if(this.dataOut == null)
- {
- // TODO - Add support for Message Compression.
- this.outputBuffer = new MemoryStream();
- this.dataOut = new EndianBinaryWriter(outputBuffer);
- }
- }
-
- private void StoreContent()
- {
- if( dataOut != null)
- {
- dataOut.Close();
- // TODO - Add support for Message Compression.
-
- this.Content = outputBuffer.ToArray();
- this.dataOut = null;
- this.outputBuffer = null;
- }
- }
- }
-}
-
diff --git a/tags/1.2.0-RC1/src/main/csharp/Connection.cs b/tags/1.2.0-RC1/src/main/csharp/Connection.cs
deleted file mode 100644
index 096e41f..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/Connection.cs
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// Represents a NMS connection MSMQ. Since the underlying MSMQ APIs are actually
- /// connectionless, NMS connection in the MSMQ case are not expensive operations.
- /// </summary>
- ///
- public class Connection : IConnection
- {
- private AcknowledgementMode acknowledgementMode = AcknowledgementMode.AutoAcknowledge;
- private IMessageConverter messageConverter = new DefaultMessageConverter();
-
- private IRedeliveryPolicy redeliveryPolicy;
- private ConnectionMetaData metaData = null;
- private bool connected;
- private bool closed;
- private string clientId;
-
- /// <summary>
- /// Starts message delivery for this connection.
- /// </summary>
- public void Start()
- {
- CheckConnected();
- }
-
- /// <summary>
- /// This property determines if the asynchronous message delivery of incoming
- /// messages has been started for this connection.
- /// </summary>
- public bool IsStarted
- {
- get { return true; }
- }
-
- /// <summary>
- /// Stop message delivery for this connection.
- /// </summary>
- public void Stop()
- {
- CheckConnected();
- }
-
- /// <summary>
- /// Creates a new session to work on this connection
- /// </summary>
- public ISession CreateSession()
- {
- return CreateSession(acknowledgementMode);
- }
-
- /// <summary>
- /// Creates a new session to work on this connection
- /// </summary>
- public ISession CreateSession(AcknowledgementMode mode)
- {
- CheckConnected();
- return new Session(this, mode);
- }
-
- public void Dispose()
- {
- closed = true;
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- public AcknowledgementMode AcknowledgementMode
- {
- get { return acknowledgementMode; }
- set { acknowledgementMode = value; }
- }
-
- public IMessageConverter MessageConverter
- {
- get { return messageConverter; }
- set { messageConverter = value; }
- }
-
- public string ClientId
- {
- get { return clientId; }
- set
- {
- if(connected)
- {
- throw new NMSException("You cannot change the ClientId once the Connection is connected");
- }
- clientId = value;
- }
- }
-
- /// <summary>
- /// Get/or set the redelivery policy for this connection.
- /// </summary>
- public IRedeliveryPolicy RedeliveryPolicy
- {
- get { return this.redeliveryPolicy; }
- set { this.redeliveryPolicy = value; }
- }
-
- /// <summary>
- /// Gets the Meta Data for the NMS Connection instance.
- /// </summary>
- public IConnectionMetaData MetaData
- {
- get { return this.metaData ?? (this.metaData = new ConnectionMetaData()); }
- }
-
- /// <summary>
- /// A delegate that can receive transport level exceptions.
- /// </summary>
- public event ExceptionListener ExceptionListener;
-
- /// <summary>
- /// An asynchronous listener that is notified when a Fault tolerant connection
- /// has been interrupted.
- /// </summary>
- public event ConnectionInterruptedListener ConnectionInterruptedListener;
-
- /// <summary>
- /// An asynchronous listener that is notified when a Fault tolerant connection
- /// has been resumed.
- /// </summary>
- public event ConnectionResumedListener ConnectionResumedListener;
-
- protected void CheckConnected()
- {
- if(closed)
- {
- throw new NMSException("Connection Closed");
- }
- if(!connected)
- {
- connected = true;
- // now lets send the connection and see if we get an ack/nak
- // TODO: establish a connection
- }
- }
-
- public void Close()
- {
- Dispose();
- }
-
- public void HandleException(Exception e)
- {
- if(ExceptionListener != null && !this.closed)
- {
- ExceptionListener(e);
- }
- else
- {
- Tracer.Error(e);
- }
- }
-
- public void HandleTransportInterrupted()
- {
- Tracer.Debug("Transport has been Interrupted.");
-
- if(this.ConnectionInterruptedListener != null && !this.closed)
- {
- try
- {
- this.ConnectionInterruptedListener();
- }
- catch
- {
- }
- }
- }
-
- public void HandleTransportResumed()
- {
- Tracer.Debug("Transport has resumed normal operation.");
-
- if(this.ConnectionResumedListener != null && !this.closed)
- {
- try
- {
- this.ConnectionResumedListener();
- }
- catch
- {
- }
- }
- }
- }
-}
diff --git a/tags/1.2.0-RC1/src/main/csharp/ConnectionFactory.cs b/tags/1.2.0-RC1/src/main/csharp/ConnectionFactory.cs
deleted file mode 100644
index 24e895d..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/ConnectionFactory.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using Apache.NMS.Policies;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// A Factory that can estbalish NMS connections to MSMQ
- /// </summary>
- public class ConnectionFactory : IConnectionFactory
- {
- public const string DEFAULT_BROKER_URL = "msmq://localhost";
- public const string ENV_BROKER_URL = "MSMQ_BROKER_URL";
- private Uri brokerUri;
- private IRedeliveryPolicy redeliveryPolicy = new RedeliveryPolicy();
-
- public static string GetDefaultBrokerUrl()
- {
- string answer = Environment.GetEnvironmentVariable(ENV_BROKER_URL);
- if(answer == null)
- {
- answer = DEFAULT_BROKER_URL;
- }
- return answer;
- }
-
- public ConnectionFactory()
- : this(GetDefaultBrokerUrl())
- {
- }
-
- public ConnectionFactory(string brokerUri)
- : this(brokerUri, null)
- {
- }
-
- public ConnectionFactory(string brokerUri, string clientID)
- : this(new Uri(brokerUri), clientID)
- {
- }
-
- public ConnectionFactory(Uri brokerUri)
- : this(brokerUri, null)
- {
- }
-
- public ConnectionFactory(Uri brokerUri, string clientID)
- {
- this.brokerUri = brokerUri;
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection()
- {
- return CreateConnection(string.Empty, string.Empty, false);
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection(string userName, string password)
- {
- return CreateConnection(userName, password, false);
- }
-
- /// <summary>
- /// Creates a new connection to MSMQ.
- /// </summary>
- public IConnection CreateConnection(string userName, string password, bool useLogging)
- {
- IConnection connection = new Connection();
-
- connection.RedeliveryPolicy = this.redeliveryPolicy.Clone() as IRedeliveryPolicy;
- return connection;
- }
-
- /// <summary>
- /// Get/or set the broker Uri.
- /// </summary>
- public Uri BrokerUri
- {
- get { return brokerUri; }
- set { brokerUri = value; }
- }
-
- /// <summary>
- /// Get/or set the redelivery policy that new IConnection objects are
- /// assigned upon creation.
- /// </summary>
- public IRedeliveryPolicy RedeliveryPolicy
- {
- get { return this.redeliveryPolicy; }
- set
- {
- if(value != null)
- {
- this.redeliveryPolicy = value;
- }
- }
- }
- }
-}
diff --git a/tags/1.2.0-RC1/src/main/csharp/ConnectionMetaData.cs b/tags/1.2.0-RC1/src/main/csharp/ConnectionMetaData.cs
deleted file mode 100644
index 5a305c0..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/ConnectionMetaData.cs
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Reflection;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// Implements the Connection Meta-Data feature for Apache.NMS.MSMQ
- /// </summary>
- public class ConnectionMetaData : IConnectionMetaData
- {
- private int nmsMajorVersion;
- private int nmsMinorVersion;
-
- private string nmsProviderName;
- private string nmsVersion;
-
- private int providerMajorVersion;
- private int providerMinorVersion;
- private string providerVersion;
-
- private string[] nmsxProperties;
-
- public ConnectionMetaData()
- {
- Assembly self = Assembly.GetExecutingAssembly();
- AssemblyName asmName = self.GetName();
-
- this.nmsProviderName = asmName.Name;
- this.providerMajorVersion = asmName.Version.Major;
- this.providerMinorVersion = asmName.Version.Minor;
- this.providerVersion = asmName.Version.ToString();
-
- this.nmsxProperties = new String[] { };
-
- foreach(AssemblyName name in self.GetReferencedAssemblies())
- {
- if(0 == string.Compare(name.Name, "Apache.NMS", true))
- {
- this.nmsMajorVersion = name.Version.Major;
- this.nmsMinorVersion = name.Version.Minor;
- this.nmsVersion = name.Version.ToString();
-
- return;
- }
- }
-
- throw new NMSException("Could not find a reference to the Apache.NMS Assembly.");
- }
-
- public int NMSMajorVersion
- {
- get { return this.nmsMajorVersion; }
- }
-
- public int NMSMinorVersion
- {
- get { return this.nmsMinorVersion; }
- }
-
- public string NMSProviderName
- {
- get { return this.nmsProviderName; }
- }
-
- public string NMSVersion
- {
- get { return this.nmsVersion; }
- }
-
- public string[] NMSXPropertyNames
- {
- get { return this.nmsxProperties; }
- }
-
- public int ProviderMajorVersion
- {
- get { return this.providerMajorVersion; }
- }
-
- public int ProviderMinorVersion
- {
- get { return this.providerMinorVersion; }
- }
-
- public string ProviderVersion
- {
- get { return this.providerVersion; }
- }
- }
-}
diff --git a/tags/1.2.0-RC1/src/main/csharp/DefaultMessageConverter.cs b/tags/1.2.0-RC1/src/main/csharp/DefaultMessageConverter.cs
deleted file mode 100644
index 2aa3438..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/DefaultMessageConverter.cs
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.IO;
-using System.Messaging;
-using System.Text;
-using Apache.NMS.Util;
-
-namespace Apache.NMS.MSMQ
-{
- public enum NMSMessageType
- {
- BaseMessage,
- TextMessage,
- BytesMessage,
- ObjectMessage,
- MapMessage,
- StreamMessage
- }
-
- public class DefaultMessageConverter : IMessageConverter
- {
- public virtual Message ToMsmqMessage(IMessage message)
- {
- Message msmqMessage = new Message();
- PrimitiveMap metaData = new PrimitiveMap();
-
- ConvertMessageBodyToMSMQ(message, msmqMessage);
-
- if(message.NMSTimeToLive != TimeSpan.Zero)
- {
- msmqMessage.TimeToBeReceived = message.NMSTimeToLive;
- }
-
- if(message.NMSCorrelationID != null)
- {
- metaData.SetString("NMSCorrelationID", message.NMSCorrelationID);
- }
-
- msmqMessage.Recoverable = (message.NMSDeliveryMode == MsgDeliveryMode.Persistent);
- msmqMessage.Priority = ToMessagePriority(message.NMSPriority);
- msmqMessage.ResponseQueue = ToMsmqDestination(message.NMSReplyTo);
- if(message.NMSType != null)
- {
- msmqMessage.Label = message.NMSType;
- }
-
- // Store the NMS meta data in the extension area
- msmqMessage.Extension = metaData.Marshal();
- return msmqMessage;
- }
-
- public virtual IMessage ToNmsMessage(Message message)
- {
- BaseMessage answer = CreateNmsMessage(message);
- // Get the NMS meta data from the extension area
- PrimitiveMap metaData = PrimitiveMap.Unmarshal(message.Extension);
-
- try
- {
- answer.NMSMessageId = message.Id;
- answer.NMSCorrelationID = metaData.GetString("NMSCorrelationID");
- answer.NMSDeliveryMode = (message.Recoverable ? MsgDeliveryMode.Persistent : MsgDeliveryMode.NonPersistent);
- answer.NMSDestination = ToNmsDestination(message.DestinationQueue);
- }
- catch(InvalidOperationException)
- {
- }
-
- try
- {
- answer.NMSType = message.Label;
- answer.NMSReplyTo = ToNmsDestination(message.ResponseQueue);
- answer.NMSTimeToLive = message.TimeToBeReceived;
- }
- catch(InvalidOperationException)
- {
- }
-
- return answer;
- }
-
- private static MessagePriority ToMessagePriority(MsgPriority msgPriority)
- {
- switch(msgPriority)
- {
- case MsgPriority.Lowest:
- return MessagePriority.Lowest;
-
- case MsgPriority.VeryLow:
- return MessagePriority.VeryLow;
-
- case MsgPriority.Low:
- case MsgPriority.AboveLow:
- return MessagePriority.Low;
-
- default:
- case MsgPriority.BelowNormal:
- case MsgPriority.Normal:
- return MessagePriority.Normal;
-
- case MsgPriority.AboveNormal:
- return MessagePriority.AboveNormal;
-
- case MsgPriority.High:
- return MessagePriority.High;
-
- case MsgPriority.VeryHigh:
- return MessagePriority.VeryHigh;
-
- case MsgPriority.Highest:
- return MessagePriority.Highest;
- }
- }
-
- protected virtual void ConvertMessageBodyToMSMQ(IMessage message, Message answer)
- {
- if(message is TextMessage)
- {
- TextMessage textMessage = message as TextMessage;
- byte[] buf = Encoding.UTF32.GetBytes(textMessage.Text);
- answer.BodyStream.Write(buf, 0, buf.Length);
- answer.AppSpecific = (int) NMSMessageType.TextMessage;
- }
- else if(message is BytesMessage)
- {
- BytesMessage bytesMessage = message as BytesMessage;
- answer.BodyStream.Write(bytesMessage.Content, 0, bytesMessage.Content.Length);
- answer.AppSpecific = (int) NMSMessageType.BytesMessage;
- }
- else if(message is ObjectMessage)
- {
- ObjectMessage objectMessage = message as ObjectMessage;
- answer.Body = objectMessage.Body;
- answer.AppSpecific = (int) NMSMessageType.ObjectMessage;
- }
- else if(message is MapMessage)
- {
- MapMessage mapMessage = message as MapMessage;
- PrimitiveMap mapBody = mapMessage.Body as PrimitiveMap;
- byte[] buf = mapBody.Marshal();
- answer.BodyStream.Write(buf, 0, buf.Length);
- answer.AppSpecific = (int) NMSMessageType.MapMessage;
- }
- else if(message is StreamMessage)
- {
- StreamMessage streamMessage = message as StreamMessage;
- answer.AppSpecific = (int) NMSMessageType.StreamMessage;
- // TODO: Implement
- }
- else if(message is BaseMessage)
- {
- answer.AppSpecific = (int) NMSMessageType.BaseMessage;
- }
- else
- {
- throw new Exception("unhandled message type");
- }
- }
-
- protected virtual BaseMessage CreateNmsMessage(Message message)
- {
- BaseMessage result = null;
-
- if((int) NMSMessageType.TextMessage == message.AppSpecific)
- {
- TextMessage textMessage = new TextMessage();
- string content = String.Empty;
-
- if(message.BodyStream != null && message.BodyStream.Length > 0)
- {
- byte[] buf = null;
- buf = new byte[message.BodyStream.Length];
- message.BodyStream.Read(buf, 0, buf.Length);
- content = Encoding.UTF32.GetString(buf);
- }
-
- textMessage.Text = content;
- result = textMessage;
- }
- else if((int) NMSMessageType.BytesMessage == message.AppSpecific)
- {
- byte[] buf = null;
-
- if(message.BodyStream != null && message.BodyStream.Length > 0)
- {
- buf = new byte[message.BodyStream.Length];
- message.BodyStream.Read(buf, 0, buf.Length);
- }
-
- BytesMessage bytesMessage = new BytesMessage();
- bytesMessage.Content = buf;
- result = bytesMessage;
- }
- else if((int) NMSMessageType.ObjectMessage == message.AppSpecific)
- {
- ObjectMessage objectMessage = new ObjectMessage();
-
- objectMessage.Body = message.Body;
- result = objectMessage;
- }
- else if((int) NMSMessageType.MapMessage == message.AppSpecific)
- {
- byte[] buf = null;
-
- if(message.BodyStream != null && message.BodyStream.Length > 0)
- {
- buf = new byte[message.BodyStream.Length];
- message.BodyStream.Read(buf, 0, buf.Length);
- }
-
- MapMessage mapMessage = new MapMessage();
- mapMessage.Body = PrimitiveMap.Unmarshal(buf);
- result = mapMessage;
- }
- else if((int) NMSMessageType.StreamMessage == message.AppSpecific)
- {
- StreamMessage streamMessage = new StreamMessage();
-
- // TODO: Implement
- result = streamMessage;
- }
- else
- {
- BaseMessage baseMessage = new BaseMessage();
-
- result = baseMessage;
- }
-
- return result;
- }
-
- public MessageQueue ToMsmqDestination(IDestination destination)
- {
- if(null == destination)
- {
- return null;
- }
-
- return new MessageQueue((destination as Destination).Path);
- }
-
- protected virtual IDestination ToNmsDestination(MessageQueue destinationQueue)
- {
- if(null == destinationQueue)
- {
- return null;
- }
-
- return new Queue(destinationQueue.Path);
- }
- }
-}
diff --git a/tags/1.2.0-RC1/src/main/csharp/Destination.cs b/tags/1.2.0-RC1/src/main/csharp/Destination.cs
deleted file mode 100644
index ba97213..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/Destination.cs
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-namespace Apache.NMS.MSMQ
-{
-
- /// <summary>
- /// Summary description for Destination.
- /// </summary>
- public abstract class Destination : IDestination
- {
-
- private String path = "";
-
- /**
- * The Default Constructor
- */
- protected Destination()
- {
- }
-
- /**
- * Construct the Destination with a defined physical name;
- *
- * @param name
- */
- protected Destination(String name)
- {
- Path = name;
- }
-
- public String Path
- {
- get { return this.path; }
- set
- {
- this.path = value;
- if(!this.path.Contains("\\"))
- {
- // Queues must have paths in them. If no path specified, then
- // default to local machine.
- this.path = ".\\" + this.path;
- }
- }
- }
-
-
- public bool IsTopic
- {
- get
- {
- return DestinationType == DestinationType.Topic
- || DestinationType == DestinationType.TemporaryTopic;
- }
- }
-
- public bool IsQueue
- {
- get
- {
- return !IsTopic;
- }
- }
-
-
- public bool IsTemporary
- {
- get
- {
- return DestinationType == DestinationType.TemporaryQueue
- || DestinationType == DestinationType.TemporaryTopic;
- }
- }
-
- /**
- * @return string representation of this instance
- */
- public override String ToString()
- {
- return this.path;
- }
-
- /**
- * @return hashCode for this instance
- */
- public override int GetHashCode()
- {
- int answer = 37;
-
- if(this.path != null)
- {
- answer = path.GetHashCode();
- }
- if(IsTopic)
- {
- answer ^= 0xfabfab;
- }
- return answer;
- }
-
- /**
- * if the object passed in is equivalent, return true
- *
- * @param obj the object to compare
- * @return true if this instance and obj are equivalent
- */
- public override bool Equals(Object obj)
- {
- bool result = this == obj;
- if(!result && obj != null && obj is Destination)
- {
- Destination other = (Destination) obj;
- result = this.DestinationType == other.DestinationType
- && this.path.Equals(other.path);
- }
- return result;
- }
-
- /**
- * Factory method to create a child destination if this destination is a composite
- * @param name
- * @return the created Destination
- */
- public abstract Destination CreateDestination(String name);
-
-
- public abstract DestinationType DestinationType
- {
- get;
- }
-
- }
-}
-
diff --git a/tags/1.2.0-RC1/src/main/csharp/IMessageConverter.cs b/tags/1.2.0-RC1/src/main/csharp/IMessageConverter.cs
deleted file mode 100644
index 152377b..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/IMessageConverter.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- public interface IMessageConverter
- {
-
- /// <summary>
- /// Method ToMSMQMessageQueue
- /// </summary>
- /// <param name="destination">An IDestination</param>
- /// <returns>A MessageQueue</returns>
- MessageQueue ToMsmqDestination(IDestination destination);
-
- Message ToMsmqMessage(IMessage message);
- IMessage ToNmsMessage(Message message);
- }
-}
diff --git a/tags/1.2.0-RC1/src/main/csharp/MapMessage.cs b/tags/1.2.0-RC1/src/main/csharp/MapMessage.cs
deleted file mode 100644
index e900328..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/MapMessage.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using Apache.NMS.Util;
-
-namespace Apache.NMS.MSMQ
-{
- public class MapMessage : BaseMessage, IMapMessage
- {
- private IPrimitiveMap body = new PrimitiveMap();
-
- public IPrimitiveMap Body
- {
- get { return body; }
- set { body = value; }
- }
- }
-}
-
diff --git a/tags/1.2.0-RC1/src/main/csharp/MessageConsumer.cs b/tags/1.2.0-RC1/src/main/csharp/MessageConsumer.cs
deleted file mode 100644
index ee57b96..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/MessageConsumer.cs
+++ /dev/null
@@ -1,231 +0,0 @@
-using System;
-using System.Messaging;
-using System.Threading;
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.NMS.Util;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// An object capable of receiving messages from some destination
- /// </summary>
- public class MessageConsumer : IMessageConsumer
- {
- protected TimeSpan zeroTimeout = new TimeSpan(0);
-
- private readonly Session session;
- private readonly AcknowledgementMode acknowledgementMode;
- private MessageQueue messageQueue;
- private event MessageListener listener;
- private int listenerCount = 0;
- private Thread asyncDeliveryThread = null;
- private AutoResetEvent pause = new AutoResetEvent(false);
- private Atomic<bool> asyncDelivery = new Atomic<bool>(false);
-
- public MessageConsumer(Session session, AcknowledgementMode acknowledgementMode, MessageQueue messageQueue)
- {
- this.session = session;
- this.acknowledgementMode = acknowledgementMode;
- this.messageQueue = messageQueue;
- if(null != this.messageQueue)
- {
- this.messageQueue.MessageReadPropertyFilter.SetAll();
- }
- }
-
- public event MessageListener Listener
- {
- add
- {
- listener += value;
- listenerCount++;
- StartAsyncDelivery();
- }
-
- remove
- {
- if(listenerCount > 0)
- {
- listener -= value;
- listenerCount--;
- }
-
- if(0 == listenerCount)
- {
- StopAsyncDelivery();
- }
- }
- }
-
- public IMessage Receive()
- {
- IMessage nmsMessage = null;
-
- if(messageQueue != null)
- {
- Message message;
-
- try
- {
- message = messageQueue.Receive(zeroTimeout);
- }
- catch
- {
- message = null;
- }
-
- if(null == message)
- {
- ReceiveCompletedEventHandler receiveMsg =
- delegate(Object source, ReceiveCompletedEventArgs asyncResult) {
- message = messageQueue.EndReceive(asyncResult.AsyncResult);
- pause.Set();
- };
-
- messageQueue.ReceiveCompleted += receiveMsg;
- messageQueue.BeginReceive();
- pause.WaitOne();
- messageQueue.ReceiveCompleted -= receiveMsg;
- }
-
- nmsMessage = ToNmsMessage(message);
- }
-
- return nmsMessage;
- }
-
- public IMessage Receive(TimeSpan timeout)
- {
- IMessage nmsMessage = null;
-
- if(messageQueue != null)
- {
- Message message = messageQueue.Receive(timeout);
- nmsMessage = ToNmsMessage(message);
- }
-
- return nmsMessage;
- }
-
- public IMessage ReceiveNoWait()
- {
- IMessage nmsMessage = null;
-
- if(messageQueue != null)
- {
- Message message = messageQueue.Receive(zeroTimeout);
- nmsMessage = ToNmsMessage(message);
- }
-
- return nmsMessage;
- }
-
- public void Dispose()
- {
- Close();
- }
-
- public void Close()
- {
- StopAsyncDelivery();
- if(messageQueue != null)
- {
- messageQueue.Dispose();
- messageQueue = null;
- }
- }
-
- protected virtual void StopAsyncDelivery()
- {
- if(asyncDelivery.CompareAndSet(true, false))
- {
- if(null != asyncDeliveryThread)
- {
- Tracer.Info("Stopping async delivery thread.");
- pause.Set();
- if(!asyncDeliveryThread.Join(10000))
- {
- Tracer.Info("Aborting async delivery thread.");
- asyncDeliveryThread.Abort();
- }
-
- asyncDeliveryThread = null;
- Tracer.Info("Async delivery thread stopped.");
- }
- }
- }
-
- protected virtual void StartAsyncDelivery()
- {
- if(asyncDelivery.CompareAndSet(false, true))
- {
- asyncDeliveryThread = new Thread(new ThreadStart(DispatchLoop));
- asyncDeliveryThread.Name = "Message Consumer Dispatch: " + messageQueue.QueueName;
- asyncDeliveryThread.IsBackground = true;
- asyncDeliveryThread.Start();
- }
- }
-
- protected virtual void DispatchLoop()
- {
- Tracer.Info("Starting dispatcher thread consumer: " + this);
- while(asyncDelivery.Value)
- {
- try
- {
- IMessage message = Receive();
- if(asyncDelivery.Value && message != null)
- {
- try
- {
- listener(message);
- }
- catch(Exception e)
- {
- HandleAsyncException(e);
- }
- }
- }
- catch(ThreadAbortException ex)
- {
- Tracer.InfoFormat("Thread abort received in thread: {0} : {1}", this, ex.Message);
- break;
- }
- catch(Exception ex)
- {
- Tracer.ErrorFormat("Exception while receiving message in thread: {0} : {1}", this, ex.Message);
- }
- }
- Tracer.Info("Stopping dispatcher thread consumer: " + this);
- }
-
- protected virtual void HandleAsyncException(Exception e)
- {
- session.Connection.HandleException(e);
- }
-
- protected virtual IMessage ToNmsMessage(Message message)
- {
- if(message == null)
- {
- return null;
- }
- return session.MessageConverter.ToNmsMessage(message);
- }
- }
-}
diff --git a/tags/1.2.0-RC1/src/main/csharp/MessageProducer.cs b/tags/1.2.0-RC1/src/main/csharp/MessageProducer.cs
deleted file mode 100644
index 26598d3..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/MessageProducer.cs
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// An object capable of sending messages to some destination
- /// </summary>
- public class MessageProducer : IMessageProducer
- {
-
- private readonly Session session;
- private Destination destination;
-
- //private long messageCounter;
- private MsgDeliveryMode deliveryMode;
- private TimeSpan timeToLive;
- private MsgPriority priority;
- private bool disableMessageID;
- private bool disableMessageTimestamp;
-
- private MessageQueue messageQueue;
-
- public MessageProducer(Session session, Destination destination)
- {
- this.session = session;
- this.destination = destination;
- if(destination != null)
- {
- messageQueue = openMessageQueue(destination);
- }
- }
-
- private MessageQueue openMessageQueue(Destination dest)
- {
- MessageQueue rc = null;
- try
- {
- if(!MessageQueue.Exists(dest.Path))
- {
- // create the new message queue and make it transactional
- rc = MessageQueue.Create(dest.Path, session.Transacted);
- this.destination.Path = rc.Path;
- }
- else
- {
- rc = new MessageQueue(dest.Path);
- this.destination.Path = rc.Path;
- if(!rc.CanWrite)
- {
- throw new NMSSecurityException("Do not have write access to: " + dest);
- }
- }
- }
- catch(Exception e)
- {
- if(rc != null)
- {
- rc.Dispose();
- }
-
- throw new NMSException(e.Message + ": " + dest, e);
- }
- return rc;
- }
-
- public void Send(IMessage message)
- {
- Send(Destination, message);
- }
-
- public void Send(IMessage message, MsgDeliveryMode deliveryMode, MsgPriority priority, TimeSpan timeToLive)
- {
- Send(Destination, message, deliveryMode, priority, timeToLive);
- }
-
- public void Send(IDestination destination, IMessage message)
- {
- Send(destination, message, DeliveryMode, Priority, TimeToLive);
- }
-
- public void Send(IDestination destination, IMessage imessage, MsgDeliveryMode deliveryMode, MsgPriority priority, TimeSpan timeToLive)
- {
- BaseMessage message = (BaseMessage) imessage;
- MessageQueue mq = null;
-
- try
- {
- // Locate the MSMQ Queue we will be sending to
- if(messageQueue != null)
- {
- if(destination.Equals(this.destination))
- {
- mq = messageQueue;
- }
- else
- {
- throw new NMSException("This producer can only be used to send to: " + destination);
- }
- }
- else
- {
- mq = openMessageQueue((Destination) destination);
- }
-
- message.NMSDeliveryMode = deliveryMode;
- message.NMSTimeToLive = timeToLive;
- message.NMSPriority = priority;
- if(!DisableMessageTimestamp)
- {
- message.NMSTimestamp = DateTime.UtcNow;
- }
-
- if(!DisableMessageID)
- {
- // TODO: message.NMSMessageId =
- }
-
- // Convert the Mesasge into a MSMQ message
- Message msg = session.MessageConverter.ToMsmqMessage(message);
-
- if(mq.Transactional)
- {
- if(session.Transacted)
- {
- mq.Send(msg, session.MessageQueueTransaction);
-
- }
- else
- {
- // Start our own mini transaction here to send the message.
- using(MessageQueueTransaction transaction = new MessageQueueTransaction())
- {
- transaction.Begin();
- mq.Send(msg, transaction);
- transaction.Commit();
- }
- }
- }
- else
- {
- if(session.Transacted)
- {
- // We may want to raise an exception here since app requested
- // a transeced NMS session, but is using a non transacted message queue
- // For now silently ignore it.
- }
- mq.Send(msg);
- }
-
- }
- finally
- {
- if(mq != null && mq != messageQueue)
- {
- mq.Dispose();
- }
- }
- }
-
- public void Close()
- {
- if(messageQueue != null)
- {
- messageQueue.Dispose();
- messageQueue = null;
- }
- }
-
- public void Dispose()
- {
- Close();
- }
-
- public IMessage CreateMessage()
- {
- return session.CreateMessage();
- }
-
- public ITextMessage CreateTextMessage()
- {
- return session.CreateTextMessage();
- }
-
- public ITextMessage CreateTextMessage(String text)
- {
- return session.CreateTextMessage(text);
- }
-
- public IMapMessage CreateMapMessage()
- {
- return session.CreateMapMessage();
- }
-
- public IObjectMessage CreateObjectMessage(Object body)
- {
- return session.CreateObjectMessage(body);
- }
-
- public IBytesMessage CreateBytesMessage()
- {
- return session.CreateBytesMessage();
- }
-
- public IBytesMessage CreateBytesMessage(byte[] body)
- {
- return session.CreateBytesMessage(body);
- }
-
- public IStreamMessage CreateStreamMessage()
- {
- return session.CreateStreamMessage();
- }
-
- public MsgDeliveryMode DeliveryMode
- {
- get { return deliveryMode; }
- set { deliveryMode = value; }
- }
-
- public TimeSpan TimeToLive
- {
- get { return timeToLive; }
- set { timeToLive = value; }
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- public IDestination Destination
- {
- get { return destination; }
- set { destination = (Destination) value; }
- }
-
- public MsgPriority Priority
- {
- get { return priority; }
- set { priority = value; }
- }
-
- public bool DisableMessageID
- {
- get { return disableMessageID; }
- set { disableMessageID = value; }
- }
-
- public bool DisableMessageTimestamp
- {
- get { return disableMessageTimestamp; }
- set { disableMessageTimestamp = value; }
- }
- }
-}
diff --git a/tags/1.2.0-RC1/src/main/csharp/ObjectMessage.cs b/tags/1.2.0-RC1/src/main/csharp/ObjectMessage.cs
deleted file mode 100644
index dd9a5f5..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/ObjectMessage.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System.IO;
-
-#if !(PocketPC||NETCF||NETCF_2_0)
-using System.Runtime.Serialization;
-using System.Runtime.Serialization.Formatters.Binary;
-#endif
-
-namespace Apache.NMS.MSMQ
-{
- public class ObjectMessage : BaseMessage, IObjectMessage
- {
- private object body;
-#if !(PocketPC||NETCF||NETCF_2_0)
- private IFormatter formatter;
-#endif
-
- public ObjectMessage()
- {
- }
-
- public ObjectMessage(object body)
- {
- this.body = body;
- }
-
- public object Body
- {
- get
- {
-#if !(PocketPC||NETCF||NETCF_2_0)
- if(body == null)
- {
- body = Formatter.Deserialize(new MemoryStream(Content));
- }
-#else
-#endif
- return body;
- }
-
- set
- {
-#if !(PocketPC||NETCF||NETCF_2_0)
- body = value;
-#else
- throw new NotImplementedException();
-#endif
- }
- }
-
-
-#if !(PocketPC||NETCF||NETCF_2_0)
- public IFormatter Formatter
- {
- get
- {
- if(formatter == null)
- {
- formatter = new BinaryFormatter();
- }
- return formatter;
- }
-
- set
- {
- formatter = value;
- }
- }
-
-#endif
- }
-}
-
-
-
-
-
-
diff --git a/tags/1.2.0-RC1/src/main/csharp/Queue.cs b/tags/1.2.0-RC1/src/main/csharp/Queue.cs
deleted file mode 100644
index 30efcd9..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/Queue.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-namespace Apache.NMS.MSMQ
-{
-
- /// <summary>
- /// Summary description for Queue.
- /// </summary>
- public class Queue : Destination, IQueue
- {
-
- public Queue()
- : base()
- {
- }
-
- public Queue(String name)
- : base(name)
- {
- }
-
- override public DestinationType DestinationType
- {
- get
- {
- return DestinationType.Queue;
- }
- }
-
- public String QueueName
- {
- get { return Path; }
- }
-
-
- public override Destination CreateDestination(String name)
- {
- return new Queue(name);
- }
-
-
- }
-}
-
diff --git a/tags/1.2.0-RC1/src/main/csharp/Session.cs b/tags/1.2.0-RC1/src/main/csharp/Session.cs
deleted file mode 100644
index 6ee3d9e..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/Session.cs
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Messaging;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// MSQM provider of ISession
- /// </summary>
- public class Session : ISession
- {
- private Connection connection;
- private AcknowledgementMode acknowledgementMode;
- private MessageQueueTransaction messageQueueTransaction;
- private IMessageConverter messageConverter;
-
- public Session(Connection connection, AcknowledgementMode acknowledgementMode)
- {
- this.connection = connection;
- this.acknowledgementMode = acknowledgementMode;
- MessageConverter = connection.MessageConverter;
- if(this.acknowledgementMode == AcknowledgementMode.Transactional)
- {
- MessageQueueTransaction = new MessageQueueTransaction();
- }
- }
-
- public void Dispose()
- {
- if(MessageQueueTransaction != null)
- {
- MessageQueueTransaction.Dispose();
- }
- }
-
- public IMessageProducer CreateProducer()
- {
- return CreateProducer(null);
- }
-
- public IMessageProducer CreateProducer(IDestination destination)
- {
- return new MessageProducer(this, (Destination) destination);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination)
- {
- return CreateConsumer(destination, null);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination, string selector)
- {
- return CreateConsumer(destination, selector, false);
- }
-
- public IMessageConsumer CreateConsumer(IDestination destination, string selector, bool noLocal)
- {
- if(selector != null)
- {
- throw new NotSupportedException("Selectors are not supported by MSMQ");
- }
- MessageQueue queue = MessageConverter.ToMsmqDestination(destination);
- return new MessageConsumer(this, acknowledgementMode, queue);
- }
-
- public IMessageConsumer CreateDurableConsumer(ITopic destination, string name, string selector, bool noLocal)
- {
- throw new NotSupportedException("Durable Topic subscribers are not supported by MSMQ");
- }
-
- public void DeleteDurableConsumer(string name)
- {
- throw new NotSupportedException("Durable Topic subscribers are not supported by MSMQ");
- }
-
- public IQueueBrowser CreateBrowser(IQueue queue)
- {
- throw new NotImplementedException();
- }
-
- public IQueueBrowser CreateBrowser(IQueue queue, string selector)
- {
- throw new NotImplementedException();
- }
-
- public IQueue GetQueue(string name)
- {
- return new Queue(name);
- }
-
- public ITopic GetTopic(string name)
- {
- throw new NotSupportedException("Topics are not supported by MSMQ");
- }
-
- public ITemporaryQueue CreateTemporaryQueue()
- {
- throw new NotSupportedException("Tempoary Queues are not supported by MSMQ");
- }
-
- public ITemporaryTopic CreateTemporaryTopic()
- {
- throw new NotSupportedException("Tempoary Topics are not supported by MSMQ");
- }
-
- /// <summary>
- /// Delete a destination (Queue, Topic, Temp Queue, Temp Topic).
- /// </summary>
- public void DeleteDestination(IDestination destination)
- {
- // TODO: Implement if possible. If not possible, then change exception to NotSupportedException().
- throw new NotImplementedException();
- }
-
- public IMessage CreateMessage()
- {
- BaseMessage answer = new BaseMessage();
- return answer;
- }
-
-
- public ITextMessage CreateTextMessage()
- {
- TextMessage answer = new TextMessage();
- return answer;
- }
-
- public ITextMessage CreateTextMessage(string text)
- {
- TextMessage answer = new TextMessage(text);
- return answer;
- }
-
- public IMapMessage CreateMapMessage()
- {
- return new MapMessage();
- }
-
- public IBytesMessage CreateBytesMessage()
- {
- return new BytesMessage();
- }
-
- public IBytesMessage CreateBytesMessage(byte[] body)
- {
- BytesMessage answer = new BytesMessage();
- answer.Content = body;
- return answer;
- }
-
- public IStreamMessage CreateStreamMessage()
- {
- return new StreamMessage();
- }
-
- public IObjectMessage CreateObjectMessage(Object body)
- {
- ObjectMessage answer = new ObjectMessage();
- answer.Body = body;
- return answer;
- }
-
- public void Commit()
- {
- if(!Transacted)
- {
- throw new InvalidOperationException("You cannot perform a Commit() on a non-transacted session. Acknowlegement mode is: " + acknowledgementMode);
- }
- messageQueueTransaction.Commit();
- }
-
- public void Rollback()
- {
- if(!Transacted)
- {
- throw new InvalidOperationException("You cannot perform a Commit() on a non-transacted session. Acknowlegement mode is: " + acknowledgementMode);
- }
- messageQueueTransaction.Abort();
- }
-
- // Properties
- public Connection Connection
- {
- get { return connection; }
- }
-
- /// <summary>
- /// The default timeout for network requests.
- /// </summary>
- public TimeSpan RequestTimeout
- {
- get { return NMSConstants.defaultRequestTimeout; }
- set { }
- }
-
- public bool Transacted
- {
- get { return acknowledgementMode == AcknowledgementMode.Transactional; }
- }
-
- public AcknowledgementMode AcknowledgementMode
- {
- get { throw new NotImplementedException(); }
- }
-
- public MessageQueueTransaction MessageQueueTransaction
- {
- get
- {
- if(null != messageQueueTransaction
- && messageQueueTransaction.Status != MessageQueueTransactionStatus.Pending)
- {
- messageQueueTransaction.Begin();
- }
-
- return messageQueueTransaction;
- }
- set { messageQueueTransaction = value; }
- }
-
- public IMessageConverter MessageConverter
- {
- get { return messageConverter; }
- set { messageConverter = value; }
- }
-
- public void Close()
- {
- Dispose();
- }
- }
-}
diff --git a/tags/1.2.0-RC1/src/main/csharp/StreamMessage.cs b/tags/1.2.0-RC1/src/main/csharp/StreamMessage.cs
deleted file mode 100644
index c939867..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/StreamMessage.cs
+++ /dev/null
@@ -1,893 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.IO;
-using Apache.NMS.Util;
-
-namespace Apache.NMS.MSMQ
-{
- public class StreamMessage : BaseMessage, IStreamMessage
- {
- private EndianBinaryReader dataIn = null;
- private EndianBinaryWriter dataOut = null;
- private MemoryStream byteBuffer = null;
- private int bytesRemaining = -1;
-
- public bool ReadBoolean()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.BOOLEAN_TYPE)
- {
- return this.dataIn.ReadBoolean();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Boolean.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a bool");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Boolean type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public byte ReadByte()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Byte.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a byte");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Byte type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public char ReadChar()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.CHAR_TYPE)
- {
- return this.dataIn.ReadChar();
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a char");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Char type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public short ReadInt16()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.SHORT_TYPE)
- {
- return this.dataIn.ReadInt16();
- }
- else if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Int16.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a short");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Int16 type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public int ReadInt32()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.INTEGER_TYPE)
- {
- return this.dataIn.ReadInt32();
- }
- else if(type == PrimitiveMap.SHORT_TYPE)
- {
- return this.dataIn.ReadInt16();
- }
- else if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Int32.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a int");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Int32 type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public long ReadInt64()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.LONG_TYPE)
- {
- return this.dataIn.ReadInt64();
- }
- else if(type == PrimitiveMap.INTEGER_TYPE)
- {
- return this.dataIn.ReadInt32();
- }
- else if(type == PrimitiveMap.SHORT_TYPE)
- {
- return this.dataIn.ReadInt16();
- }
- else if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Int64.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a long");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Int64 type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public float ReadSingle()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.FLOAT_TYPE)
- {
- return this.dataIn.ReadSingle();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Single.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a float");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Single type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public double ReadDouble()
- {
- InitializeReading();
-
- try
- {
- long startingPos = this.byteBuffer.Position;
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.DOUBLE_TYPE)
- {
- return this.dataIn.ReadDouble();
- }
- else if(type == PrimitiveMap.FLOAT_TYPE)
- {
- return this.dataIn.ReadSingle();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return Single.Parse(this.dataIn.ReadString16());
- }
- else if(type == PrimitiveMap.NULL)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new NMSException("Cannot convert Null type to a double");
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a Double type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public string ReadString()
- {
- InitializeReading();
-
- long startingPos = this.byteBuffer.Position;
-
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.BIG_STRING_TYPE)
- {
- return this.dataIn.ReadString32();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return this.dataIn.ReadString16();
- }
- else if(type == PrimitiveMap.LONG_TYPE)
- {
- return this.dataIn.ReadInt64().ToString();
- }
- else if(type == PrimitiveMap.INTEGER_TYPE)
- {
- return this.dataIn.ReadInt32().ToString();
- }
- else if(type == PrimitiveMap.SHORT_TYPE)
- {
- return this.dataIn.ReadInt16().ToString();
- }
- else if(type == PrimitiveMap.FLOAT_TYPE)
- {
- return this.dataIn.ReadSingle().ToString();
- }
- else if(type == PrimitiveMap.DOUBLE_TYPE)
- {
- return this.dataIn.ReadDouble().ToString();
- }
- else if(type == PrimitiveMap.CHAR_TYPE)
- {
- return this.dataIn.ReadChar().ToString();
- }
- else if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte().ToString();
- }
- else if(type == PrimitiveMap.BOOLEAN_TYPE)
- {
- return this.dataIn.ReadBoolean().ToString();
- }
- else if(type == PrimitiveMap.NULL)
- {
- return null;
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a known type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public int ReadBytes(byte[] value)
- {
- InitializeReading();
-
- if(value == null)
- {
- throw new NullReferenceException("Passed Byte Array is null");
- }
-
- try
- {
- if(this.bytesRemaining == -1)
- {
- long startingPos = this.byteBuffer.Position;
- byte type = this.dataIn.ReadByte();
-
- if(type != PrimitiveMap.BYTE_ARRAY_TYPE)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Not a byte array");
- }
-
- this.bytesRemaining = this.dataIn.ReadInt32();
- }
- else if(this.bytesRemaining == 0)
- {
- this.bytesRemaining = -1;
- return -1;
- }
-
- if(value.Length <= this.bytesRemaining)
- {
- // small buffer
- this.bytesRemaining -= value.Length;
- this.dataIn.Read(value, 0, value.Length);
- return value.Length;
- }
- else
- {
- // big buffer
- int rc = this.dataIn.Read(value, 0, this.bytesRemaining);
- this.bytesRemaining = 0;
- return rc;
- }
- }
- catch(EndOfStreamException ex)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(ex);
- }
- catch(IOException ex)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(ex);
- }
- }
-
- public Object ReadObject()
- {
- InitializeReading();
-
- long startingPos = this.byteBuffer.Position;
-
- try
- {
- int type = this.dataIn.ReadByte();
-
- if(type == PrimitiveMap.BIG_STRING_TYPE)
- {
- return this.dataIn.ReadString32();
- }
- else if(type == PrimitiveMap.STRING_TYPE)
- {
- return this.dataIn.ReadString16();
- }
- else if(type == PrimitiveMap.LONG_TYPE)
- {
- return this.dataIn.ReadInt64();
- }
- else if(type == PrimitiveMap.INTEGER_TYPE)
- {
- return this.dataIn.ReadInt32();
- }
- else if(type == PrimitiveMap.SHORT_TYPE)
- {
- return this.dataIn.ReadInt16();
- }
- else if(type == PrimitiveMap.FLOAT_TYPE)
- {
- return this.dataIn.ReadSingle();
- }
- else if(type == PrimitiveMap.DOUBLE_TYPE)
- {
- return this.dataIn.ReadDouble();
- }
- else if(type == PrimitiveMap.CHAR_TYPE)
- {
- return this.dataIn.ReadChar();
- }
- else if(type == PrimitiveMap.BYTE_TYPE)
- {
- return this.dataIn.ReadByte();
- }
- else if(type == PrimitiveMap.BOOLEAN_TYPE)
- {
- return this.dataIn.ReadBoolean();
- }
- else if(type == PrimitiveMap.BYTE_ARRAY_TYPE)
- {
- int length = this.dataIn.ReadInt32();
- byte[] data = new byte[length];
- this.dataIn.Read(data, 0, length);
- return data;
- }
- else if(type == PrimitiveMap.NULL)
- {
- return null;
- }
- else
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw new MessageFormatException("Value is not a known type.");
- }
- }
- catch(FormatException e)
- {
- this.byteBuffer.Seek(startingPos, SeekOrigin.Begin);
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- catch(EndOfStreamException e)
- {
- throw NMSExceptionSupport.CreateMessageEOFException(e);
- }
- catch(IOException e)
- {
- throw NMSExceptionSupport.CreateMessageFormatException(e);
- }
- }
-
- public void WriteBoolean(bool value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.BOOLEAN_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteByte(byte value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.BYTE_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteBytes(byte[] value)
- {
- InitializeWriting();
- this.WriteBytes(value, 0, value.Length);
- }
-
- public void WriteBytes(byte[] value, int offset, int length)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.BYTE_ARRAY_TYPE);
- this.dataOut.Write((int) length);
- this.dataOut.Write(value, offset, length);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteChar(char value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.CHAR_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteInt16(short value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.SHORT_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteInt32(int value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.INTEGER_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteInt64(long value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.LONG_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteSingle(float value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.FLOAT_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteDouble(double value)
- {
- InitializeWriting();
- try
- {
- this.dataOut.Write(PrimitiveMap.DOUBLE_TYPE);
- this.dataOut.Write(value);
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteString(string value)
- {
- InitializeWriting();
- try
- {
- if(value.Length > 8192)
- {
- this.dataOut.Write(PrimitiveMap.BIG_STRING_TYPE);
- this.dataOut.WriteString32(value);
- }
- else
- {
- this.dataOut.Write(PrimitiveMap.STRING_TYPE);
- this.dataOut.WriteString16(value);
- }
- }
- catch(IOException e)
- {
- NMSExceptionSupport.Create(e);
- }
- }
-
- public void WriteObject(Object value)
- {
- InitializeWriting();
- if(value is System.Byte)
- {
- this.WriteByte((byte) value);
- }
- else if(value is Char)
- {
- this.WriteChar((char) value);
- }
- else if(value is Boolean)
- {
- this.WriteBoolean((bool) value);
- }
- else if(value is Int16)
- {
- this.WriteInt16((short) value);
- }
- else if(value is Int32)
- {
- this.WriteInt32((int) value);
- }
- else if(value is Int64)
- {
- this.WriteInt64((long) value);
- }
- else if(value is Single)
- {
- this.WriteSingle((float) value);
- }
- else if(value is Double)
- {
- this.WriteDouble((double) value);
- }
- else if(value is byte[])
- {
- this.WriteBytes((byte[]) value);
- }
- else if(value is String)
- {
- this.WriteString((string) value);
- }
- else
- {
- throw new MessageFormatException("Cannot write non-primitive type:" + value.GetType());
- }
- }
-
- public override void ClearBody()
- {
- base.ClearBody();
- this.byteBuffer = null;
- this.dataIn = null;
- this.dataOut = null;
- this.bytesRemaining = -1;
- }
-
- public void Reset()
- {
- StoreContent();
- this.dataIn = null;
- this.dataOut = null;
- this.byteBuffer = null;
- this.bytesRemaining = -1;
- this.ReadOnlyBody = true;
- }
-
- private void InitializeReading()
- {
- FailIfWriteOnlyBody();
- if(this.dataIn == null)
- {
- // TODO - Add support for Message Compression.
- this.byteBuffer = new MemoryStream(this.Content, false);
- dataIn = new EndianBinaryReader(byteBuffer);
- }
- }
-
- private void InitializeWriting()
- {
- FailIfReadOnlyBody();
- if(this.dataOut == null)
- {
- // TODO - Add support for Message Compression.
- this.byteBuffer = new MemoryStream();
- this.dataOut = new EndianBinaryWriter(byteBuffer);
- }
- }
-
- private void StoreContent()
- {
- if(dataOut != null)
- {
- dataOut.Close();
- // TODO - Add support for Message Compression.
-
- this.Content = byteBuffer.ToArray();
- this.dataOut = null;
- this.byteBuffer = null;
- }
- }
- }
-}
diff --git a/tags/1.2.0-RC1/src/main/csharp/TextMessage.cs b/tags/1.2.0-RC1/src/main/csharp/TextMessage.cs
deleted file mode 100644
index 9a8c61e..0000000
--- a/tags/1.2.0-RC1/src/main/csharp/TextMessage.cs
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-
-namespace Apache.NMS.MSMQ
-{
- public class TextMessage : BaseMessage, ITextMessage
- {
- public const int SIZE_OF_INT = 4; // sizeof(int) - though causes unsafe issues with net 1.1
-
- private String text;
-
- public TextMessage()
- {
- }
-
- public TextMessage(String text)
- {
- this.Text = text;
- }
-
-
- // Properties
-
- public string Text
- {
- get
- {
- if(text == null)
- {
- // now lets read the content
- byte[] data = this.Content;
- if(data != null)
- {
- // TODO assume that the text is ASCII
- char[] chars = new char[data.Length - SIZE_OF_INT];
- for(int i = 0; i < chars.Length; i++)
- {
- chars[i] = (char) data[i + SIZE_OF_INT];
- }
- text = new String(chars);
- }
- }
- return text;
- }
-
- set
- {
- this.text = value;
- byte[] data = null;
- if(text != null)
- {
- // TODO assume that the text is ASCII
-
- byte[] sizePrefix = System.BitConverter.GetBytes(text.Length);
- data = new byte[text.Length + sizePrefix.Length]; //int at the front of it
-
- // add the size prefix
- for(int j = 0; j < sizePrefix.Length; j++)
- {
- // The bytes need to be encoded in big endian
- if(BitConverter.IsLittleEndian)
- {
- data[j] = sizePrefix[sizePrefix.Length - j - 1];
- }
- else
- {
- data[j] = sizePrefix[j];
- }
- }
-
- // Add the data.
- char[] chars = text.ToCharArray();
- for(int i = 0; i < chars.Length; i++)
- {
- data[i + sizePrefix.Length] = (byte) chars[i];
- }
- }
- this.Content = data;
-
- }
- }
-
- }
-}
-
diff --git a/tags/1.2.0-RC1/src/main/ndoc/NamespaceSummary.xml b/tags/1.2.0-RC1/src/main/ndoc/NamespaceSummary.xml
deleted file mode 100644
index b8e19d5..0000000
--- a/tags/1.2.0-RC1/src/main/ndoc/NamespaceSummary.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<namespaces>
- <namespace name="NMS">
- The <b>NMS</b> namespace defines the .Net Message System API which is an interface to messaging systems rather like JMS is for Java.
- </namespace>
-</namespaces>
diff --git a/tags/1.2.0-RC1/src/main/sandcastle/feedback_content.xml b/tags/1.2.0-RC1/src/main/sandcastle/feedback_content.xml
deleted file mode 100644
index ee30a12..0000000
--- a/tags/1.2.0-RC1/src/main/sandcastle/feedback_content.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<content xml:space="preserve">
-
- <item id="fb_alias">activemq.docs@apache.org</item>
- <item id="fb_product"></item>
- <item id="fb_deliverable"></item>
-
- <item id="fb_subject">Customer%20Feedback</item>
- <item id="fb_body">%0\dThank%20you%20for%20your%20feedback.%20The%20developer%20writing%20teams%20use%20your%20feedback%20to%20improve%20documentation.%20While%20we%20are%20reviewing%20your%20feedback,%20we%20may%20send%20you%20e-mail%20to%20ask%20for%20clarification%20or%20feedback%20on%20a%20solution.%20We%20do%20not%20use%20your%20e-mail%20address%20for%20any%20other%20purpose.%0\d</item>
-
- <item id="fb_headerFeedBack">Send Feedback</item>
-
-
- <!-- feedback values for sandcastle scenario -->
-
- <item id="feedback_alias"></item>
- <item id="feedback_product"></item>
- <item id="feedback_deliverable"></item>
- <item id="feedback_fileVersion"></item>
- <item id="feedback_topicVersion"></item>
- <item id="feedback_body"></item>
- <item id="feedback_subject"></item>
-
- <item id="fb_Introduction">We value your feedback. To rate this topic and send feedback about this topic to the documentation team, click a rating, and then click <b>Send Feedback</b>. For assistance with support issues, refer to the technical support information included with the product.</item>
-
- <item id="fb_Send">Send Feedback</item>
- <item id="fb_Poor">Poor</item>
- <item id="fb_Excellent">Outstanding</item>
- <item id="fb_EnterFeedbackText">To e-mail your feedback, click here:</item>
- <item id="fb_Title">Documentation Feedback</item>
- <item id="fb_altIcon">Display feedback instructions at the bottom of the page.</item>
-
-</content>
\ No newline at end of file
diff --git a/tags/1.2.0-RC1/src/test/csharp/MSMQTest.cs b/tags/1.2.0-RC1/src/test/csharp/MSMQTest.cs
deleted file mode 100644
index 5cf5c09..0000000
--- a/tags/1.2.0-RC1/src/test/csharp/MSMQTest.cs
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Messaging;
-using NUnit.Framework;
-
-namespace Apache.NMS.MSMQ
-{
- /// <summary>
- /// Use to test and verify MSMQ behaviour.
- /// </summary>
- [TestFixture]
- public class MSMQTest
- {
- String queueName = ".\\Private$\\FOO";
-
- [SetUp]
- public void SetUp()
- {
- }
-
- [TearDown]
- public void TearDown()
- {
- }
-
- [Test]
- public void TestSendAndReceive()
- {
- // check to make sure the message queue does not exist already
- if(!MessageQueue.Exists(queueName))
- {
- // create the new message queue and make it transactional
- MessageQueue MQ = MessageQueue.Create(queueName, true);
-
- // set the label name and close the message queue
- MQ.Label = "FOO";
- MQ.Close();
-
- Console.WriteLine("Created Queue: " + queueName);
- //Assert.Fail("Should have thrown an exception!");
- }
- else
- {
- Console.WriteLine("Queue Existed: " + queueName);
- }
-
- if(!MessageQueue.Exists(".\\Private$\\BAR"))
- {
- // create the new message queue and make it transactional
- MessageQueue MQ = MessageQueue.Create(".\\Private$\\BAR", true);
-
- // set the label name and close the message queue
- MQ.Label = "BAR Label";
- MQ.Close();
- }
- else
- {
- Console.WriteLine("Queue Existed: " + queueName);
- }
-
- // create a message queue transaction and start it
- MessageQueueTransaction Transaction = new MessageQueueTransaction();
- Transaction.Begin();
-
- MessageQueue MQueue = new MessageQueue(queueName);
-
- Message Msg = new Message("Hello World");
- Msg.ResponseQueue = new MessageQueue(".\\Private$\\BAR");
- Msg.Priority = MessagePriority.Normal;
- Msg.UseJournalQueue = true;
- Msg.Label = "Test Label";
-
- Msg.AcknowledgeType = AcknowledgeTypes.FullReceive;
- Msg.AdministrationQueue = Msg.ResponseQueue;
-
- // send the message
- MQueue.Send(Msg, Transaction);
- MQueue.Send(Msg, Transaction);
- MQueue.Send(Msg, Transaction);
-
- // commit the transaction
- Transaction.Commit();
-
- // Read the message.
- MQueue.MessageReadPropertyFilter.SetAll();
-
- // the target type we have stored in the message body
-
- ((XmlMessageFormatter) MQueue.Formatter).TargetTypes = new Type[] { typeof(String) };
-
- // read the message from the queue, but only wait for 5 sec
- Msg = MQueue.Receive(new TimeSpan(0, 0, 5));
-
- // read the order from the message body
- Console.WriteLine("Received: " + Msg.Body);
-
- // close the mesage queue
- MQueue.Close();
- }
- }
-}
-
-
-
diff --git a/tags/1.2.0-RC1/vs2008-msmq-test.csproj b/tags/1.2.0-RC1/vs2008-msmq-test.csproj
deleted file mode 100644
index ea54c4b..0000000
--- a/tags/1.2.0-RC1/vs2008-msmq-test.csproj
+++ /dev/null
@@ -1,121 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{2F31ED5C-44A2-464A-BD55-2B5B010654E8}</ProjectGuid>
- <OutputType>Library</OutputType>
- <RootNamespace>Apache.NMS.MSMQ.Test</RootNamespace>
- <AssemblyName>Apache.NMS.MSMQ.Test</AssemblyName>
- <WarningLevel>4</WarningLevel>
- <StartupObject>
- </StartupObject>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <OldToolsVersion>2.0</OldToolsVersion>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- <SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>keyfile\NMSKey.snk</AssemblyOriginatorKeyFile>
- <SccProjectName>Svn</SccProjectName>
- <SccLocalPath>Svn</SccLocalPath>
- <SccAuxPath>Svn</SccAuxPath>
- <SccProvider>SubversionScc</SccProvider>
- <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>build\net-2.0\debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <Optimize>true</Optimize>
- <OutputPath>build\net-2.0\release\</OutputPath>
- <DefineConstants>TRACE;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Apache.NMS, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\Apache.NMS\net-2.0\Apache.NMS.dll</HintPath>
- </Reference>
- <Reference Include="Apache.NMS.Test, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\Apache.NMS\net-2.0\Apache.NMS.Test.dll</HintPath>
- </Reference>
- <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\NUnit\net-2.0\nunit.framework.dll</HintPath>
- </Reference>
- <Reference Include="nunit.framework.extensions, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\NUnit\net-2.0\nunit.framework.extensions.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Messaging" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="src\test\csharp\CommonAssemblyInfo.cs" />
- <Compile Include="src\test\csharp\MSMQTest.cs">
- <SubType>Code</SubType>
- </Compile>
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="vs2008-msmq.csproj">
- <Project>{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}</Project>
- <Name>vs2008-msmq</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <ItemGroup>
- <Content Include="nmsprovider-test.config">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- </ItemGroup>
- <ItemGroup>
- <None Include="keyfile\NMSKey.snk" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
- <PropertyGroup>
- <PostBuildEvent>cd $(ProjectDir)
-nant -nologo -q install-all -D:compile.skip=true</PostBuildEvent>
- </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/tags/1.2.0-RC1/vs2008-msmq.csproj b/tags/1.2.0-RC1/vs2008-msmq.csproj
deleted file mode 100644
index 6221c67..0000000
--- a/tags/1.2.0-RC1/vs2008-msmq.csproj
+++ /dev/null
@@ -1,114 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}</ProjectGuid>
- <OutputType>Library</OutputType>
- <RootNamespace>Apache.NMS.MSMQ</RootNamespace>
- <AssemblyName>Apache.NMS.MSMQ</AssemblyName>
- <WarningLevel>4</WarningLevel>
- <StartupObject>
- </StartupObject>
- <SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>keyfile\NMSKey.snk</AssemblyOriginatorKeyFile>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <OldToolsVersion>2.0</OldToolsVersion>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- <SccProjectName>Svn</SccProjectName>
- <SccLocalPath>Svn</SccLocalPath>
- <SccAuxPath>Svn</SccAuxPath>
- <SccProvider>SubversionScc</SccProvider>
- <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>build\net-2.0\debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <Optimize>true</Optimize>
- <OutputPath>build\net-2.0\release\</OutputPath>
- <DefineConstants>TRACE;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Apache.NMS, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\Apache.NMS\net-2.0\Apache.NMS.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Data" />
- <Reference Include="System.Messaging" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="src\main\csharp\BaseMessage.cs" />
- <Compile Include="src\main\csharp\BytesMessage.cs" />
- <Compile Include="src\main\csharp\CommonAssemblyInfo.cs" />
- <Compile Include="src\main\csharp\Connection.cs" />
- <Compile Include="src\main\csharp\ConnectionFactory.cs" />
- <Compile Include="src\main\csharp\ConnectionMetaData.cs" />
- <Compile Include="src\main\csharp\DefaultMessageConverter.cs" />
- <Compile Include="src\main\csharp\Destination.cs" />
- <Compile Include="src\main\csharp\IMessageConverter.cs" />
- <Compile Include="src\main\csharp\MapMessage.cs" />
- <Compile Include="src\main\csharp\MessageConsumer.cs" />
- <Compile Include="src\main\csharp\MessageProducer.cs" />
- <Compile Include="src\main\csharp\ObjectMessage.cs" />
- <Compile Include="src\main\csharp\Queue.cs" />
- <Compile Include="src\main\csharp\Session.cs" />
- <Compile Include="src\main\csharp\StreamMessage.cs" />
- <Compile Include="src\main\csharp\TextMessage.cs" />
- </ItemGroup>
- <ItemGroup>
- <None Include="keyfile\NMSKey.snk" />
- </ItemGroup>
- <ItemGroup>
- <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
- <PropertyGroup>
- <PreBuildEvent>cd $(ProjectDir)
-nant -nologo download-vendor -D:vendor.build.config=$(ConfigurationName) -D:vendor.build.framework=net-2.0</PreBuildEvent>
- <PostBuildEvent>cd $(ProjectDir)
-nant -nologo -q install-all -D:compile.skip=true</PostBuildEvent>
- </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/tags/1.2.0-RC1/vs2008-msmq.sln b/tags/1.2.0-RC1/vs2008-msmq.sln
deleted file mode 100644
index a51006f..0000000
--- a/tags/1.2.0-RC1/vs2008-msmq.sln
+++ /dev/null
@@ -1,30 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2008-msmq", "vs2008-msmq.csproj", "{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2008-msmq-test", "vs2008-msmq-test.csproj", "{2F31ED5C-44A2-464A-BD55-2B5B010654E8}"
-EndProject
-Global
- GlobalSection(SubversionScc) = preSolution
- Svn-Managed = True
- Manager = AnkhSVN - Subversion Support for Visual Studio
- EndGlobalSection
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Release|Any CPU.Build.0 = Release|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/trunk/LICENSE.txt b/trunk/LICENSE.txt
deleted file mode 100755
index e52ce5d..0000000
--- a/trunk/LICENSE.txt
+++ /dev/null
@@ -1,764 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-APACHE ACTIVEMQ DEPENDENCIES:
-
-The Apache ActiveMQ message broker includes a number of dependencies, many
-of them optional, with separate copyright notices and license terms. Your
-use of the source code for the these subcomponents is subject to the terms
-and conditions of the following licenses.
-
-For the backport-util-concurrent library:
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
-<html><head><title>Creative Commons Public Domain</title>
-
-<body>
-
-<p align="center"><em>Copyright-Only Dedication (based on United States law) or Public Domain Certification</em></p>
-
- <p>The
-person or persons who have associated work with this document (the
-"Dedicator" or "Certifier") hereby either (a) certifies that, to the
-best of his knowledge, the work of authorship identified is in the
-public domain of the country from which the work is published, or (b)
-hereby dedicates whatever copyright the dedicators holds in the work of
-authorship identified below (the "Work") to the public domain. A
-certifier, morever, dedicates any copyright interest he may have in the
-associated work, and for these purposes, is described as a "dedicator"
-below.</p>
-
- <p>A certifier has taken reasonable steps to verify
-the copyright status of this work. Certifier recognizes that his good
-faith efforts may not shield him from liability if in fact the work
-certified is not in the public domain.</p>
-
- <p>Dedicator makes
-this dedication for the benefit of the public at large and to the
-detriment of the Dedicator's heirs and successors. Dedicator intends
-this dedication to be an overt act of relinquishment in perpetuity of
-all present and future rights under copyright law, whether vested or
-contingent, in the Work. Dedicator understands that such relinquishment
-of all rights includes the relinquishment of all rights to enforce (by
-lawsuit or otherwise) those copyrights in the Work.</p>
-
- <p>Dedicator
-recognizes that, once placed in the public domain, the Work may be
-freely reproduced, distributed, transmitted, used, modified, built
-upon, or otherwise exploited by anyone for any purpose, commercial or
-non-commercial, and in any way, including by methods that have not yet
-been invented or conceived.</p>
- </div>
-</div>
-</body></html>
-
-For the mx4j, mx4j-remote, and mx4j-tools library:
-
- The MX4J License, Version 1.0
-
- Copyright (c) 2001-2004 by the MX4J contributors. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- 3. The end-user documentation included with the redistribution,
- if any, must include the following acknowledgment:
- "This product includes software developed by the
- MX4J project (http://mx4j.sourceforge.net)."
- Alternately, this acknowledgment may appear in the software itself,
- if and wherever such third-party acknowledgments normally appear.
-
- 4. The name "MX4J" must not be used to endorse or promote
- products derived from this software without prior written
- permission.
- For written permission, please contact
- biorn_steedom [at] users [dot] sourceforge [dot] net
-
- 5. Products derived from this software may not be called "MX4J",
- nor may "MX4J" appear in their name, without prior written
- permission of Simone Bordet.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE MX4J CONTRIBUTORS
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
- ====================================================================
-
- This software consists of voluntary contributions made by many
- individuals on behalf of the MX4J project. For more information on
- MX4J, please see
- <a href="http://mx4j.sourceforge.net" target="_top">the MX4J website</a>.
-
-For the jetty and jetty-util library:
-
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-For the xmlpull library:
-
-XMLPULL API IS FREE
--------------------
-
-All of the XMLPULL API source code, compiled code, and documentation
-contained in this distribution *except* for tests (see separate LICENSE_TESTS.txt)
-are in the Public Domain.
-
-XMLPULL API comes with NO WARRANTY or guarantee of fitness for any purpose.
-
-Initial authors:
-
- Stefan Haustein
- Aleksander Slominski
-
-2001-12-12
-
-For the spring library:
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-For the xstream library:
-
-(BSD Style License)
-
-Copyright (c) 2003-2004, Joe Walnes
-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 XStream 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.
diff --git a/trunk/NOTICE.txt b/trunk/NOTICE.txt
deleted file mode 100644
index 6860153..0000000
--- a/trunk/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/trunk/README.txt b/trunk/README.txt
deleted file mode 100644
index 9a01bb8..0000000
--- a/trunk/README.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-=======================================================================
-Welcome to:
- * Apache.NMS.MSMQ : Apache NMS for MSMQ Class Library
-=======================================================================
-
-For more information see http://activemq.apache.org/nms
-
-=======================================================================
-Building With NAnt 0.86-Beta2 http://nant.sourceforge.net/
-=======================================================================
-
-A recent nightly build of the NAnt 0.86 beta 2 is required to build Apache.NMS.
-To build the code using NAnt type
-
- nant
-
-To run the unit tests you need to run an Apache ActiveMQ Broker first then type
-
- nant test
-
-To generate the documentation type
-
- nant doc
-
-
-=======================================================================
-Building With Visual Stuido 2008
-=======================================================================
-
-First build the project with nant, this will download and install
-all the 3rd party dependencies for you.
-
-Open the Solution File. Build using "Build"->"Build Solution"
-menu option.
-
-The resulting DLLs will be in bin\Debug or the bin\Release directories
-depending on your settings under "Build"->"Configuration Manager"
-
-If you have the Resharper plugin installed in Visual Studio, you can run
-all the Unit Tests by using the "ReSharper"->"Unit Testing"->"Run All
-Tests from Solution" menu option. Please note that you must run an
-Apache ActiveMQ Broker before kicking off the unit tests.
diff --git a/trunk/nmsprovider-test.config b/trunk/nmsprovider-test.config
deleted file mode 100644
index 051f872..0000000
--- a/trunk/nmsprovider-test.config
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!--
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
--->
-<configuration>
- <defaultURI value="msmq://localhost">
- <factoryParams>
- <param type="string" value="NMSTestClient"/>
- </factoryParams>
- <userName value="guest"/>
- <passWord value="guest"/>
- </defaultURI>
-</configuration>
diff --git a/trunk/package.ps1 b/trunk/package.ps1
deleted file mode 100644
index c41c344..0000000
--- a/trunk/package.ps1
+++ /dev/null
@@ -1,69 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-$pkgname = "Apache.NMS.MSMQ"
-$pkgver = "1.3-SNAPSHOT"
-$configurations = "release", "debug"
-$frameworks = "net-2.0", "net-3.5"
-
-write-progress "Creating package directory." "Initializing..."
-if(!(test-path package))
-{
- md package
-}
-
-if(test-path build)
-{
- pushd build
-
- $pkgdir = "..\package"
-
- write-progress "Packaging Application files." "Scanning..."
- $zipfile = "$pkgdir\$pkgname-$pkgver-bin.zip"
- zip -9 -u -j "$zipfile" ..\LICENSE.txt
- zip -9 -u -j "$zipfile" ..\NOTICE.txt
- foreach($configuration in $configurations)
- {
- foreach($framework in $frameworks)
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.xml"
- zip -9 -u "$zipfile" "$framework\$configuration\nmsprovider*.config"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.xml"
- if($framework -ieq "mono-2.0")
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll.mdb"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll.mdb"
- }
- else
- {
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.pdb"
- zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.pdb"
- }
- }
- }
-
- popd
-}
-
-write-progress "Packaging Source code files." "Scanning..."
-$pkgdir = "package"
-$zipfile = "$pkgdir\$pkgname-$pkgver-src.zip"
-
-zip -9 -u "$zipfile" LICENSE.txt NOTICE.txt nant-common.xml nant.build package.ps1 vs2008-msmq-test.csproj vs2008-msmq.csproj vs2008-msmq.sln
-zip -9 -u -r "$zipfile" keyfile src
-
-write-progress -Completed "Packaging" "Complete."
diff --git a/trunk/vs2008-msmq.csproj b/trunk/vs2008-msmq.csproj
deleted file mode 100644
index 6221c67..0000000
--- a/trunk/vs2008-msmq.csproj
+++ /dev/null
@@ -1,114 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}</ProjectGuid>
- <OutputType>Library</OutputType>
- <RootNamespace>Apache.NMS.MSMQ</RootNamespace>
- <AssemblyName>Apache.NMS.MSMQ</AssemblyName>
- <WarningLevel>4</WarningLevel>
- <StartupObject>
- </StartupObject>
- <SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>keyfile\NMSKey.snk</AssemblyOriginatorKeyFile>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <OldToolsVersion>2.0</OldToolsVersion>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- <SccProjectName>Svn</SccProjectName>
- <SccLocalPath>Svn</SccLocalPath>
- <SccAuxPath>Svn</SccAuxPath>
- <SccProvider>SubversionScc</SccProvider>
- <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>build\net-2.0\debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <Optimize>true</Optimize>
- <OutputPath>build\net-2.0\release\</OutputPath>
- <DefineConstants>TRACE;NET,NET_2_0</DefineConstants>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Apache.NMS, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>lib\Apache.NMS\net-2.0\Apache.NMS.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Data" />
- <Reference Include="System.Messaging" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="src\main\csharp\BaseMessage.cs" />
- <Compile Include="src\main\csharp\BytesMessage.cs" />
- <Compile Include="src\main\csharp\CommonAssemblyInfo.cs" />
- <Compile Include="src\main\csharp\Connection.cs" />
- <Compile Include="src\main\csharp\ConnectionFactory.cs" />
- <Compile Include="src\main\csharp\ConnectionMetaData.cs" />
- <Compile Include="src\main\csharp\DefaultMessageConverter.cs" />
- <Compile Include="src\main\csharp\Destination.cs" />
- <Compile Include="src\main\csharp\IMessageConverter.cs" />
- <Compile Include="src\main\csharp\MapMessage.cs" />
- <Compile Include="src\main\csharp\MessageConsumer.cs" />
- <Compile Include="src\main\csharp\MessageProducer.cs" />
- <Compile Include="src\main\csharp\ObjectMessage.cs" />
- <Compile Include="src\main\csharp\Queue.cs" />
- <Compile Include="src\main\csharp\Session.cs" />
- <Compile Include="src\main\csharp\StreamMessage.cs" />
- <Compile Include="src\main\csharp\TextMessage.cs" />
- </ItemGroup>
- <ItemGroup>
- <None Include="keyfile\NMSKey.snk" />
- </ItemGroup>
- <ItemGroup>
- <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
- <PropertyGroup>
- <PreBuildEvent>cd $(ProjectDir)
-nant -nologo download-vendor -D:vendor.build.config=$(ConfigurationName) -D:vendor.build.framework=net-2.0</PreBuildEvent>
- <PostBuildEvent>cd $(ProjectDir)
-nant -nologo -q install-all -D:compile.skip=true</PostBuildEvent>
- </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/trunk/vs2008-msmq.sln b/trunk/vs2008-msmq.sln
deleted file mode 100644
index a51006f..0000000
--- a/trunk/vs2008-msmq.sln
+++ /dev/null
@@ -1,30 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2008-msmq", "vs2008-msmq.csproj", "{A5FCA129-991B-4CB2-987A-B25E43B0F5EC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2008-msmq-test", "vs2008-msmq-test.csproj", "{2F31ED5C-44A2-464A-BD55-2B5B010654E8}"
-EndProject
-Global
- GlobalSection(SubversionScc) = preSolution
- Svn-Managed = True
- Manager = AnkhSVN - Subversion Support for Visual Studio
- EndGlobalSection
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A5FCA129-991B-4CB2-987A-B25E43B0F5EC}.Release|Any CPU.Build.0 = Release|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2F31ED5C-44A2-464A-BD55-2B5B010654E8}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/trunk/vs2008-msmq-test.csproj b/vs2008-msmq-test.csproj
similarity index 100%
rename from trunk/vs2008-msmq-test.csproj
rename to vs2008-msmq-test.csproj
diff --git a/branches/1.2.x/vs2008-msmq.csproj b/vs2008-msmq.csproj
similarity index 100%
rename from branches/1.2.x/vs2008-msmq.csproj
rename to vs2008-msmq.csproj
diff --git a/branches/1.2.x/vs2008-msmq.sln b/vs2008-msmq.sln
similarity index 100%
rename from branches/1.2.x/vs2008-msmq.sln
rename to vs2008-msmq.sln