aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/ApplicationPlugins/Rest
diff options
context:
space:
mode:
authorDr Scofield2008-05-29 13:55:01 +0000
committerDr Scofield2008-05-29 13:55:01 +0000
commitc2925dcd404312b1751a03045ddcd35a7c84cd58 (patch)
treed5d5adbb4b0cb83a4c2559a2cb548209b0c72d7e /OpenSim/ApplicationPlugins/Rest
parentMantis#852. Thank you kindly, cmickeyb for a patch that: (diff)
downloadopensim-SC-c2925dcd404312b1751a03045ddcd35a7c84cd58.zip
opensim-SC-c2925dcd404312b1751a03045ddcd35a7c84cd58.tar.gz
opensim-SC-c2925dcd404312b1751a03045ddcd35a7c84cd58.tar.bz2
opensim-SC-c2925dcd404312b1751a03045ddcd35a7c84cd58.tar.xz
cleaning up returned XML REST doclet (no more xsi, xsd)
Diffstat (limited to '')
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs2
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs2
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs5
-rw-r--r--OpenSim/ApplicationPlugins/Rest/RestPlugin.cs5
-rw-r--r--OpenSim/ApplicationPlugins/Rest/RestXmlWriter.cs56
5 files changed, 66 insertions, 4 deletions
diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs b/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs
index 81eb5bd..a605d09 100644
--- a/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs
@@ -129,7 +129,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
129 { 129 {
130 // complete region details requested 130 // complete region details requested
131 XmlSerializer xs = new XmlSerializer(typeof(RegionDetails)); 131 XmlSerializer xs = new XmlSerializer(typeof(RegionDetails));
132 xs.Serialize(XmlWriter, details); 132 xs.Serialize(XmlWriter, details, _xmlNs);
133 return XmlWriterResult; 133 return XmlWriterResult;
134 } 134 }
135 135
diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs b/OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs
index 681b99f..67af7b5 100644
--- a/OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs
@@ -35,7 +35,7 @@ using OpenSim.Region.Environment.Scenes;
35 35
36namespace OpenSim.ApplicationPlugins.Rest.Regions 36namespace OpenSim.ApplicationPlugins.Rest.Regions
37{ 37{
38 [XmlRoot(ElementName="region")] 38 [XmlRoot(ElementName="region", IsNullable = false)]
39 public class RegionDetails 39 public class RegionDetails
40 { 40 {
41 public string region_name; 41 public string region_name;
diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs b/OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs
index 24bed99..fa5f117 100644
--- a/OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs
@@ -56,6 +56,8 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
56 [Extension("/OpenSim/Startup")] 56 [Extension("/OpenSim/Startup")]
57 public partial class RestRegionPlugin : RestPlugin 57 public partial class RestRegionPlugin : RestPlugin
58 { 58 {
59 private static XmlSerializerNamespaces _xmlNs;
60
59 #region overriding properties 61 #region overriding properties
60 public override string Name 62 public override string Name
61 { 63 {
@@ -88,6 +90,9 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
88 return; 90 return;
89 } 91 }
90 m_log.InfoFormat("{0} REST region plugin enabled", MsgID); 92 m_log.InfoFormat("{0} REST region plugin enabled", MsgID);
93
94 _xmlNs = new XmlSerializerNamespaces();
95 _xmlNs.Add(String.Empty, String.Empty);
91 96
92 // add REST method handlers 97 // add REST method handlers
93 AddRestStreamHandler("GET", "/regions/", GetHandler); 98 AddRestStreamHandler("GET", "/regions/", GetHandler);
diff --git a/OpenSim/ApplicationPlugins/Rest/RestPlugin.cs b/OpenSim/ApplicationPlugins/Rest/RestPlugin.cs
index e395840..8373ea2 100644
--- a/OpenSim/ApplicationPlugins/Rest/RestPlugin.cs
+++ b/OpenSim/ApplicationPlugins/Rest/RestPlugin.cs
@@ -66,7 +66,7 @@ namespace OpenSim.ApplicationPlugins.Rest
66 // which all REST URLs 66 // which all REST URLs
67 // are living 67 // are living
68 private StringWriter _sw = null; 68 private StringWriter _sw = null;
69 private XmlTextWriter _xw = null; 69 private RestXmlWriter _xw = null;
70 70
71 private string _godkey; 71 private string _godkey;
72 private int _reqk; 72 private int _reqk;
@@ -159,7 +159,7 @@ namespace OpenSim.ApplicationPlugins.Rest
159 if (null == _xw) 159 if (null == _xw)
160 { 160 {
161 _sw = new StringWriter(); 161 _sw = new StringWriter();
162 _xw = new XmlTextWriter(_sw); 162 _xw = new RestXmlWriter(_sw);
163 _xw.Formatting = Formatting.Indented; 163 _xw.Formatting = Formatting.Indented;
164 } 164 }
165 return _xw; } 165 return _xw; }
@@ -170,6 +170,7 @@ namespace OpenSim.ApplicationPlugins.Rest
170 get 170 get
171 { 171 {
172 _xw.Flush(); 172 _xw.Flush();
173 _xw.Close();
173 _xw = null; 174 _xw = null;
174 175
175 return _sw.ToString(); 176 return _sw.ToString();
diff --git a/OpenSim/ApplicationPlugins/Rest/RestXmlWriter.cs b/OpenSim/ApplicationPlugins/Rest/RestXmlWriter.cs
new file mode 100644
index 0000000..da37647
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/Rest/RestXmlWriter.cs
@@ -0,0 +1,56 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System.IO;
29using System.Text;
30using System.Xml;
31
32namespace OpenSim.ApplicationPlugins.Rest
33{
34 public class RestXmlWriter: XmlTextWriter
35 {
36 public RestXmlWriter(TextWriter textWriter) : base(textWriter)
37 {
38 }
39
40 public RestXmlWriter(Stream stream) : this(stream, Encoding.UTF8)
41 {
42 }
43
44 public RestXmlWriter(Stream stream, Encoding enc) : base(stream, enc)
45 {
46 }
47
48 public override void WriteStartDocument()
49 {
50 }
51
52 public override void WriteStartDocument(bool standalone)
53 {
54 }
55 }
56}