diff options
author | Diva Canto | 2010-11-25 11:14:16 -0800 |
---|---|---|
committer | Diva Canto | 2010-11-25 11:14:16 -0800 |
commit | ae4b02e1152b775dc1cdccd1abfbff44ab1a8949 (patch) | |
tree | d0b89d3bf8f3256a3043c2d21bd7a22cb23891c0 /OpenSim/Services/AssetService | |
parent | Attempt at fixing failing test. (diff) | |
download | opensim-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.cs | 73 |
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; |