aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/AssetService
diff options
context:
space:
mode:
authorDiva Canto2010-11-25 11:14:16 -0800
committerDiva Canto2010-11-25 11:14:16 -0800
commitae4b02e1152b775dc1cdccd1abfbff44ab1a8949 (patch)
treed0b89d3bf8f3256a3043c2d21bd7a22cb23891c0 /OpenSim/Services/AssetService
parentAttempt at fixing failing test. (diff)
downloadopensim-SC_OLD-ae4b02e1152b775dc1cdccd1abfbff44ab1a8949.zip
opensim-SC_OLD-ae4b02e1152b775dc1cdccd1abfbff44ab1a8949.tar.gz
opensim-SC_OLD-ae4b02e1152b775dc1cdccd1abfbff44ab1a8949.tar.bz2
opensim-SC_OLD-ae4b02e1152b775dc1cdccd1abfbff44ab1a8949.tar.xz
WARNING: LOTS OF CONFIGURATION CHANGES AFFECTING PRIMARILY HG CONFIGS. Added capability to preserve creator information on HG asset transfers. Added a new HGAssetService that is intended to be the one outside the firewall. It processes and filters the assets that go out of the grid. Also fixed the normal AssetService to do special things for the main instance (console commands, etc). Moved HGInventoryService to OpenSim.Services.HypergridService. Changed the way the login service gets the ServiceURL configs.
Diffstat (limited to 'OpenSim/Services/AssetService')
-rw-r--r--OpenSim/Services/AssetService/AssetService.cs73
1 files changed, 40 insertions, 33 deletions
diff --git a/OpenSim/Services/AssetService/AssetService.cs b/OpenSim/Services/AssetService/AssetService.cs
index 470a4dd..3fd2fcf 100644
--- a/OpenSim/Services/AssetService/AssetService.cs
+++ b/OpenSim/Services/AssetService/AssetService.cs
@@ -43,44 +43,51 @@ namespace OpenSim.Services.AssetService
43 LogManager.GetLogger( 43 LogManager.GetLogger(
44 MethodBase.GetCurrentMethod().DeclaringType); 44 MethodBase.GetCurrentMethod().DeclaringType);
45 45
46 protected static AssetService m_RootInstance;
47
46 public AssetService(IConfigSource config) : base(config) 48 public AssetService(IConfigSource config) : base(config)
47 { 49 {
48 MainConsole.Instance.Commands.AddCommand("kfs", false, 50 if (m_RootInstance == null)
49 "show digest",
50 "show digest <ID>",
51 "Show asset digest", HandleShowDigest);
52
53 MainConsole.Instance.Commands.AddCommand("kfs", false,
54 "delete asset",
55 "delete asset <ID>",
56 "Delete asset from database", HandleDeleteAsset);
57
58 if (m_AssetLoader != null)
59 { 51 {
60 IConfig assetConfig = config.Configs["AssetService"]; 52 m_RootInstance = this;
61 if (assetConfig == null)
62 throw new Exception("No AssetService configuration");
63 53
64 string loaderArgs = assetConfig.GetString("AssetLoaderArgs", 54 MainConsole.Instance.Commands.AddCommand("kfs", false,
65 String.Empty); 55 "show digest",
56 "show digest <ID>",
57 "Show asset digest", HandleShowDigest);
66 58
67 bool assetLoaderEnabled = assetConfig.GetBoolean("AssetLoaderEnabled", true); 59 MainConsole.Instance.Commands.AddCommand("kfs", false,
60 "delete asset",
61 "delete asset <ID>",
62 "Delete asset from database", HandleDeleteAsset);
68 63
69 if (assetLoaderEnabled) 64 if (m_AssetLoader != null)
70 { 65 {
71 m_log.InfoFormat("[ASSET]: Loading default asset set from {0}", loaderArgs); 66 IConfig assetConfig = config.Configs["AssetService"];
72 m_AssetLoader.ForEachDefaultXmlAsset(loaderArgs, 67 if (assetConfig == null)
73 delegate(AssetBase a) 68 throw new Exception("No AssetService configuration");
74 { 69
75 Store(a); 70 string loaderArgs = assetConfig.GetString("AssetLoaderArgs",
76 }); 71 String.Empty);
72
73 bool assetLoaderEnabled = assetConfig.GetBoolean("AssetLoaderEnabled", true);
74
75 if (assetLoaderEnabled)
76 {
77 m_log.InfoFormat("[ASSET]: Loading default asset set from {0}", loaderArgs);
78 m_AssetLoader.ForEachDefaultXmlAsset(loaderArgs,
79 delegate(AssetBase a)
80 {
81 Store(a);
82 });
83 }
84
85 m_log.Info("[ASSET SERVICE]: Local asset service enabled");
77 } 86 }
78
79 m_log.Info("[ASSET SERVICE]: Local asset service enabled");
80 } 87 }
81 } 88 }
82 89
83 public AssetBase Get(string id) 90 public virtual AssetBase Get(string id)
84 { 91 {
85 UUID assetID; 92 UUID assetID;
86 93
@@ -93,12 +100,12 @@ namespace OpenSim.Services.AssetService
93 return m_Database.GetAsset(assetID); 100 return m_Database.GetAsset(assetID);
94 } 101 }
95 102
96 public AssetBase GetCached(string id) 103 public virtual AssetBase GetCached(string id)
97 { 104 {
98 return Get(id); 105 return Get(id);
99 } 106 }
100 107
101 public AssetMetadata GetMetadata(string id) 108 public virtual AssetMetadata GetMetadata(string id)
102 { 109 {
103 UUID assetID; 110 UUID assetID;
104 111
@@ -112,7 +119,7 @@ namespace OpenSim.Services.AssetService
112 return null; 119 return null;
113 } 120 }
114 121
115 public byte[] GetData(string id) 122 public virtual byte[] GetData(string id)
116 { 123 {
117 UUID assetID; 124 UUID assetID;
118 125
@@ -123,7 +130,7 @@ namespace OpenSim.Services.AssetService
123 return asset.Data; 130 return asset.Data;
124 } 131 }
125 132
126 public bool Get(string id, Object sender, AssetRetrieved handler) 133 public virtual bool Get(string id, Object sender, AssetRetrieved handler)
127 { 134 {
128 //m_log.DebugFormat("[AssetService]: Get asset async {0}", id); 135 //m_log.DebugFormat("[AssetService]: Get asset async {0}", id);
129 136
@@ -141,7 +148,7 @@ namespace OpenSim.Services.AssetService
141 return true; 148 return true;
142 } 149 }
143 150
144 public string Store(AssetBase asset) 151 public virtual string Store(AssetBase asset)
145 { 152 {
146 //m_log.DebugFormat("[ASSET SERVICE]: Store asset {0} {1}", asset.Name, asset.ID); 153 //m_log.DebugFormat("[ASSET SERVICE]: Store asset {0} {1}", asset.Name, asset.ID);
147 m_Database.StoreAsset(asset); 154 m_Database.StoreAsset(asset);
@@ -154,7 +161,7 @@ namespace OpenSim.Services.AssetService
154 return false; 161 return false;
155 } 162 }
156 163
157 public bool Delete(string id) 164 public virtual bool Delete(string id)
158 { 165 {
159 m_log.DebugFormat("[ASSET SERVICE]: Deleting asset {0}", id); 166 m_log.DebugFormat("[ASSET SERVICE]: Deleting asset {0}", id);
160 UUID assetID; 167 UUID assetID;