|
From: <tre...@us...> - 2007-11-01 17:27:04
|
Revision: 551
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=551&view=rev
Author: trevorolio
Date: 2007-11-01 10:27:02 -0700 (Thu, 01 Nov 2007)
Log Message:
-----------
Added a separate guest body, in this case a simplified Mike with a matte black texture.
Modified Paths:
--------------
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/SpaceClient.java
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/model/BodyConfiguration.java
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/util/WebConstants.java
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DDataManager.java
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/xml/BodyConfigurationDocument.java
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/SpaceClient.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/SpaceClient.java 2007-11-01 13:16:40 UTC (rev 550)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/SpaceClient.java 2007-11-01 17:27:02 UTC (rev 551)
@@ -165,8 +165,7 @@
for (int i = 0; i < userDocs.length; i++) {
BodyConfigurationDocument bodyConfDoc = null;
if (userDocs[i].getUsername().startsWith(WebConstants.GUEST_COOKIE_PREFIX)) {
- System.out.println("Need to handle guest bodies correctly");
- bodyConfDoc = new BodyConfigurationDocument(0, userDocs[i].getUsername(), "Body", 1, null);
+ bodyConfDoc = new BodyConfigurationDocument(0, userDocs[i].getUsername(), "Body", -1, null);
} else {
bodyConfDoc = webClient.getBodyConfiguration(userDocs[i].getUsername(), userDocs[i].getBodyConfigurationID());
}
@@ -758,8 +757,12 @@
public ZipInputStream getBodyData(long bodyDataID) {
try {
- BodyDataDocument dataDoc = webClient.getBodyDataDocument(bodyDataID);
- return webClient.getBodyData(dataDoc.getFileName());
+ if(bodyDataID == -1){
+ return webClient.getBodyData(WebConstants.GUEST_BODY_FILE_NAME);
+ } else {
+ BodyDataDocument dataDoc = webClient.getBodyDataDocument(bodyDataID);
+ return webClient.getBodyData(dataDoc.getFileName());
+ }
} catch (IOException e) {
Log.warn("Requested an unknown body: " + bodyDataID);
return null;
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/model/BodyConfiguration.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/model/BodyConfiguration.java 2007-11-01 13:16:40 UTC (rev 550)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/model/BodyConfiguration.java 2007-11-01 17:27:02 UTC (rev 551)
@@ -33,8 +33,7 @@
this.bodyConfigurationID = bodyConfigurationID;
ArgumentUtils.assertNotEmpty(displayName);
this.displayName = displayName;
- ArgumentUtils.assertNotNegative(bodyDataID);
- this.bodyDataID = bodyDataID;
+ this.bodyDataID = bodyDataID; //-1 indicates that this is a guest body
this.baseTextureName = baseTextureName;
}
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/util/WebConstants.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/util/WebConstants.java 2007-11-01 13:16:40 UTC (rev 550)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/util/WebConstants.java 2007-11-01 17:27:02 UTC (rev 551)
@@ -15,4 +15,6 @@
public static final String REQUESTED_GUEST_NAME_PARAMETER = "requestedGuestName";
public static final String GUEST_DISPLAY_NAME_PREFIX = "Guest";
+
+ public static final String GUEST_BODY_FILE_NAME = "ogoglio-body-guest.jar";
}
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DDataManager.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DDataManager.java 2007-11-01 13:16:40 UTC (rev 550)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DDataManager.java 2007-11-01 17:27:02 UTC (rev 551)
@@ -37,6 +37,7 @@
import com.ogoglio.util.Log;
import com.ogoglio.util.StreamUtils;
import com.ogoglio.util.UIConstants;
+import com.ogoglio.util.WebConstants;
import com.ogoglio.viewer.j3d.body.MorphDeltaMap;
import com.ogoglio.viewer.j3d.body.MorphDeltaMapParseException;
import com.ogoglio.viewer.j3d.body.MorphDeltaMapParser;
@@ -71,8 +72,6 @@
DEFAULT_APPEARANCE.setMaterial(DEFAULT_MATERIAL);
}
- public static final String[] BODY_NAMES = { "mike", "andrea" };
-
private TemplateDataProvider templateDataProvider = null;
private BodyDataProvider bodyDataProvider = null;
@@ -90,6 +89,10 @@
}
public BufferedImage getBodyTexture(String username, long bodyConfigurationID) {
+ if(username == null || username.startsWith(WebConstants.GUEST_COOKIE_PREFIX)){
+ return null;
+ }
+
BufferedImage image = dataCache.getBodyTexture(bodyConfigurationID);
if (image != null) {
return image;
@@ -112,6 +115,11 @@
dataCache.removeBodyTexture(bodyConfigurationID);
}
+ /**
+ *
+ * @param bodyDataID if -1, indicates guest body. otherwise, bodyDataID
+ * @return
+ */
public J3DBodyData getBodyData(long bodyDataID) {
J3DBodyData data = dataCache.getBodyData(bodyDataID);
if (data != null) {
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/xml/BodyConfigurationDocument.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/xml/BodyConfigurationDocument.java 2007-11-01 13:16:40 UTC (rev 550)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/xml/BodyConfigurationDocument.java 2007-11-01 17:27:02 UTC (rev 551)
@@ -41,8 +41,7 @@
data.setAttribute(OWNER_USERNAME, ownerUsername);
ArgumentUtils.assertNotNull(displayName);
data.setAttribute(DISPLAY_NAME, displayName);
- ArgumentUtils.assertNotNegative(bodyDataID);
- data.setAttribute(BODY_DATA_ID, bodyDataID);
+ data.setAttribute(BODY_DATA_ID, bodyDataID); //if -1, indicates to use the guest body
if(baseTextureName != null){
data.setAttribute(BASE_TEXTURE_NAME, baseTextureName);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|