SDK:
- improve AssetData mutex use git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10241 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
4e2302dace
commit
6efe687825
@ -126,32 +126,33 @@ public class AssetData {
|
||||
}
|
||||
|
||||
public synchronized String getProperty(final String key) {
|
||||
readProperties();
|
||||
return propsMutex.readAccess(new Action<String>() {
|
||||
public String run() {
|
||||
readProperties();
|
||||
return props.getProperty(key);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public synchronized String getProperty(final String key, final String defaultValue) {
|
||||
readProperties();
|
||||
return propsMutex.readAccess(new Action<String>() {
|
||||
public String run() {
|
||||
readProperties();
|
||||
return props.getProperty(key, defaultValue);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public synchronized String setProperty(final String key, final String value) {
|
||||
return propsMutex.writeAccess(new Action<String>() {
|
||||
readProperties();
|
||||
String ret = propsMutex.writeAccess(new Action<String>() {
|
||||
public String run() {
|
||||
String ret = (String) props.setProperty(key, value);
|
||||
readProperties();
|
||||
writeProperties();
|
||||
return ret;
|
||||
}
|
||||
});
|
||||
writeProperties();
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@ -163,7 +164,7 @@ public class AssetData {
|
||||
}
|
||||
|
||||
private void readProperties() {
|
||||
propsMutex.readAccess(new Runnable() {
|
||||
propsMutex.writeAccess(new Runnable() {
|
||||
public void run() {
|
||||
final FileObject myFile = FileUtil.findBrother(file.getPrimaryFile(), extension);
|
||||
if (myFile == null) {
|
||||
@ -171,8 +172,6 @@ public class AssetData {
|
||||
}
|
||||
final Date lastMod = myFile.lastModified();
|
||||
if (!lastMod.equals(lastLoaded)) {
|
||||
propsMutex.writeAccess(new Runnable() {
|
||||
public void run() {
|
||||
props.clear();
|
||||
lastLoaded = lastMod;
|
||||
InputStream in = null;
|
||||
@ -194,8 +193,6 @@ public class AssetData {
|
||||
}
|
||||
logger.log(Level.INFO, "Read AssetData properties for {0}", file);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user