aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Grid/AssetServer
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Grid/AssetServer')
-rw-r--r--OpenSim/Grid/AssetServer/Main.cs81
-rw-r--r--OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs2
-rw-r--r--OpenSim/Grid/AssetServer/RestService.cs42
3 files changed, 61 insertions, 64 deletions
diff --git a/OpenSim/Grid/AssetServer/Main.cs b/OpenSim/Grid/AssetServer/Main.cs
index c26c506..26f4bc8 100644
--- a/OpenSim/Grid/AssetServer/Main.cs
+++ b/OpenSim/Grid/AssetServer/Main.cs
@@ -46,48 +46,14 @@ namespace OpenSim.Grid.AssetServer
46 { 46 {
47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
48 48
49 public static OpenAsset_Main assetserver; 49 public AssetConfig m_config;
50 50
51 public static OpenAsset_Main assetserver;
52
51 // Temporarily hardcoded - should be a plugin 53 // Temporarily hardcoded - should be a plugin
52 protected IAssetLoader assetLoader = new AssetLoaderFileSystem(); 54 protected IAssetLoader assetLoader = new AssetLoaderFileSystem();
53 55
54 private IAssetProvider m_assetProvider; 56 private IAssetProvider m_assetProvider;
55 public AssetConfig m_config;
56
57 public OpenAsset_Main()
58 {
59 m_console = new ConsoleBase("OpenAsset", this);
60
61 MainConsole.Instance = m_console;
62 }
63
64 #region conscmd_callback Members
65
66 public override void RunCmd(string cmd, string[] cmdparams)
67 {
68 base.RunCmd(cmd, cmdparams);
69
70 switch (cmd)
71 {
72 case "help":
73 m_console.Notice(
74 @"shutdown - shutdown this asset server (USE CAUTION!)
75 stats - statistical information for this server");
76
77 break;
78
79 case "stats":
80 m_console.Notice("STATS", Environment.NewLine + StatsManager.AssetStats.Report());
81 break;
82
83 case "shutdown":
84 m_console.Close();
85 Environment.Exit(0);
86 break;
87 }
88 }
89
90 #endregion
91 57
92 [STAThread] 58 [STAThread]
93 public static void Main(string[] args) 59 public static void Main(string[] args)
@@ -112,6 +78,13 @@ namespace OpenSim.Grid.AssetServer
112 } 78 }
113 } 79 }
114 80
81 public OpenAsset_Main()
82 {
83 m_console = new ConsoleBase("OpenAsset", this);
84
85 MainConsole.Instance = m_console;
86 }
87
115 public void Startup() 88 public void Startup()
116 { 89 {
117 m_config = new AssetConfig("ASSET SERVER", (Path.Combine(Util.configDir(), "AssetServer_Config.xml"))); 90 m_config = new AssetConfig("ASSET SERVER", (Path.Combine(Util.configDir(), "AssetServer_Config.xml")));
@@ -187,18 +160,42 @@ namespace OpenSim.Grid.AssetServer
187 catch (Exception e) 160 catch (Exception e)
188 { 161 {
189 m_log.Warn("[ASSET]: setupDB() - Exception occured"); 162 m_log.Warn("[ASSET]: setupDB() - Exception occured");
190 m_log.Warn("[ASSET]: " + e); 163 m_log.Warn("[ASSET]: " + e.ToString());
191 } 164 }
192 } 165 }
193 166
194 public void LoadDefaultAssets() 167 public void LoadDefaultAssets()
195 { 168 {
196 assetLoader.ForEachDefaultXmlAsset(StoreAsset); 169 assetLoader.ForEachDefaultXmlAsset(StoreAsset);
197 } 170 }
198 171
199 protected void StoreAsset(AssetBase asset) 172 protected void StoreAsset(AssetBase asset)
200 { 173 {
201 m_assetProvider.CreateAsset(asset); 174 m_assetProvider.CreateAsset(asset);
202 } 175 }
176
177 public override void RunCmd(string cmd, string[] cmdparams)
178 {
179 base.RunCmd(cmd, cmdparams);
180
181 switch (cmd)
182 {
183 case "help":
184 m_console.Notice(
185 @"shutdown - shutdown this asset server (USE CAUTION!)
186 stats - statistical information for this server");
187
188 break;
189
190 case "stats":
191 m_console.Notice("STATS", Environment.NewLine + StatsManager.AssetStats.Report());
192 break;
193
194 case "shutdown":
195 m_console.Close();
196 Environment.Exit(0);
197 break;
198 }
199 }
203 } 200 }
204} \ No newline at end of file 201}
diff --git a/OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs b/OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs
index 3bae064..6f219a6 100644
--- a/OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs
+++ b/OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs
@@ -60,4 +60,4 @@ using System.Runtime.InteropServices;
60// 60//
61 61
62[assembly : AssemblyVersion("1.0.0.0")] 62[assembly : AssemblyVersion("1.0.0.0")]
63[assembly : AssemblyFileVersion("1.0.0.0")] \ No newline at end of file 63[assembly : AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Grid/AssetServer/RestService.cs b/OpenSim/Grid/AssetServer/RestService.cs
index 93f86b8..ece826e 100644
--- a/OpenSim/Grid/AssetServer/RestService.cs
+++ b/OpenSim/Grid/AssetServer/RestService.cs
@@ -43,8 +43,8 @@ namespace OpenSim.Grid.AssetServer
43 { 43 {
44 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 44 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
45 45
46 private readonly IAssetProvider m_assetProvider;
47 private OpenAsset_Main m_assetManager; 46 private OpenAsset_Main m_assetManager;
47 private IAssetProvider m_assetProvider;
48 48
49 /// <summary> 49 /// <summary>
50 /// Constructor. 50 /// Constructor.
@@ -58,28 +58,28 @@ namespace OpenSim.Grid.AssetServer
58 m_assetManager = assetManager; 58 m_assetManager = assetManager;
59 m_assetProvider = assetProvider; 59 m_assetProvider = assetProvider;
60 } 60 }
61 61
62 public override byte[] Handle(string path, Stream request) 62 public override byte[] Handle(string path, Stream request)
63 { 63 {
64 string param = GetParam(path); 64 string param = GetParam(path);
65 byte[] result = new byte[] {}; 65 byte[] result = new byte[] {};
66 66
67 string[] p = param.Split(new[] {'/', '?', '&'}, StringSplitOptions.RemoveEmptyEntries); 67 string[] p = param.Split(new char[] {'/', '?', '&'}, StringSplitOptions.RemoveEmptyEntries);
68 68
69 if (p.Length > 0) 69 if (p.Length > 0)
70 { 70 {
71 LLUUID assetID = null; 71 LLUUID assetID = null;
72 72
73 if (!LLUUID.TryParse(p[0], out assetID)) 73 if (!LLUUID.TryParse(p[0], out assetID))
74 { 74 {
75 m_log.InfoFormat( 75 m_log.InfoFormat(
76 "[REST]: GET:/asset ignoring request with malformed UUID {0}", p[0]); 76 "[REST]: GET:/asset ignoring request with malformed UUID {0}", p[0]);
77 return result; 77 return result;
78 } 78 }
79 79
80 if (StatsManager.AssetStats != null) 80 if (StatsManager.AssetStats != null)
81 StatsManager.AssetStats.AddRequest(); 81 StatsManager.AssetStats.AddRequest();
82 82
83 AssetBase asset = m_assetProvider.FetchAsset(assetID); 83 AssetBase asset = m_assetProvider.FetchAsset(assetID);
84 if (asset != null) 84 if (asset != null)
85 { 85 {
@@ -94,39 +94,32 @@ namespace OpenSim.Grid.AssetServer
94 //StreamReader sr = new StreamReader(ms); 94 //StreamReader sr = new StreamReader(ms);
95 95
96 result = ms.GetBuffer(); 96 result = ms.GetBuffer();
97 97
98 m_log.InfoFormat( 98 m_log.InfoFormat(
99 "[REST]: GET:/asset found {0} with name {1}, size {2} bytes", 99 "[REST]: GET:/asset found {0} with name {1}, size {2} bytes",
100 assetID, asset.Name, result.Length); 100 assetID, asset.Name, result.Length);
101 101
102 Array.Resize(ref result, (int) ms.Length); 102 Array.Resize<byte>(ref result, (int) ms.Length);
103 } 103 }
104 else 104 else
105 { 105 {
106 if (StatsManager.AssetStats != null) 106 if (StatsManager.AssetStats != null)
107 StatsManager.AssetStats.AddNotFoundRequest(); 107 StatsManager.AssetStats.AddNotFoundRequest();
108 108
109 m_log.InfoFormat("[REST]: GET:/asset failed to find {0}", assetID); 109 m_log.InfoFormat("[REST]: GET:/asset failed to find {0}", assetID);
110 } 110 }
111 } 111 }
112 112
113 return result; 113 return result;
114 } 114 }
115 } 115 }
116 116
117 public class PostAssetStreamHandler : BaseStreamHandler 117 public class PostAssetStreamHandler : BaseStreamHandler
118 { 118 {
119 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 119 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
120 120
121 private readonly IAssetProvider m_assetProvider;
122 private OpenAsset_Main m_assetManager; 121 private OpenAsset_Main m_assetManager;
123 122 private IAssetProvider m_assetProvider;
124 public PostAssetStreamHandler(OpenAsset_Main assetManager, IAssetProvider assetProvider)
125 : base("POST", "/assets")
126 {
127 m_assetManager = assetManager;
128 m_assetProvider = assetProvider;
129 }
130 123
131 public override byte[] Handle(string path, Stream request) 124 public override byte[] Handle(string path, Stream request)
132 { 125 {
@@ -146,5 +139,12 @@ namespace OpenSim.Grid.AssetServer
146 139
147 return new byte[] {}; 140 return new byte[] {};
148 } 141 }
142
143 public PostAssetStreamHandler(OpenAsset_Main assetManager, IAssetProvider assetProvider)
144 : base("POST", "/assets")
145 {
146 m_assetManager = assetManager;
147 m_assetProvider = assetProvider;
148 }
149 } 149 }
150} \ No newline at end of file 150}