|
From: <tre...@us...> - 2007-09-02 18:12:38
|
Revision: 334
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=334&view=rev
Author: trevorolio
Date: 2007-09-02 11:12:39 -0700 (Sun, 02 Sep 2007)
Log Message:
-----------
Made the whiteboard info panel provide image upload capabilities.
Fixed a bug in which browser form uploads of images resulted in displaying the image file as text (aka horrid text junk).
Modified Paths:
--------------
maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java
Modified: maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java
===================================================================
--- maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java 2007-09-02 17:22:56 UTC (rev 333)
+++ maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java 2007-09-02 18:12:39 UTC (rev 334)
@@ -40,6 +40,7 @@
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import com.ogoglio.client.DecoratedInputStream;
import com.ogoglio.util.StreamUtils;
import com.ogoglio.util.WebConstants;
import com.ogoglio.xml.SpaceDocument;
@@ -263,7 +264,7 @@
}
}
- public static InputStream getFirstFile(HttpServletRequest request, long maxSize) throws IOException {
+ public static DecoratedInputStream getFirstFile(HttpServletRequest request, long maxSize) throws IOException {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(maxSize);
@@ -271,11 +272,10 @@
Iterator iter = upload.parseRequest(request).iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
-
if (item.isFormField()) {
//ignore it.
} else {
- return item.getInputStream();
+ return new DecoratedInputStream(item.getInputStream(), -1, item.getContentType(), -1);
}
}
} catch (FileUploadException e) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tre...@us...> - 2007-09-27 18:06:30
|
Revision: 445
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=445&view=rev
Author: trevorolio
Date: 2007-09-27 11:06:34 -0700 (Thu, 27 Sep 2007)
Log Message:
-----------
Halfway through a grand avatar rewhack.
In this half I switch over to using downloadable wadges of avatar data instead of in-jar resources for avatar data.
Removed the GeomtryProvider interface, which is now replaced by TemplateDataProvider and BodyDataProvider interfaces which are used to fill the J3DDataManager with cached versions of all network accessed resources. This allows us to control memory usage, but also (eventually) reduces our memory footprint as we only make copies of data which is avatar specific.
Modified Paths:
--------------
maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java
Modified: maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java
===================================================================
--- maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java 2007-09-27 17:13:38 UTC (rev 444)
+++ maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java 2007-09-27 18:06:34 UTC (rev 445)
@@ -224,7 +224,6 @@
outputStream.flush();
outputStream.close();
}
- System.out.println("FART ABOUT TOSET STATUS:"+connection.getResponseCode());
response.setStatus(connection.getResponseCode());
Map headers = connection.getHeaderFields();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tre...@us...> - 2007-10-18 18:57:15
|
Revision: 512
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=512&view=rev
Author: trevorolio
Date: 2007-10-18 11:57:19 -0700 (Thu, 18 Oct 2007)
Log Message:
-----------
Two thirds of the way to sitting:
Added a "Sit Here" context menu item for things made from templates with seat metadata.
Bound the avatar renderable to the seat thing renderable's transform group (hello, flying sofa).
If an avatar moves or teleports while seated, it stands.
Tried to be somewhat good about progressive loading, showing standing avatars before things and then sitting avatars.
Not yet done:
Call the sit animation.
Add seat metadata UI to the template editor HTML.
Make a flying Le Corbusier sofa with info panel controls.
Modified Paths:
--------------
maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java
Modified: maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java
===================================================================
--- maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java 2007-10-18 18:57:16 UTC (rev 511)
+++ maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java 2007-10-18 18:57:19 UTC (rev 512)
@@ -56,50 +56,52 @@
private boolean noCache = true;
-
// WARNING: This is really, really easy to hose yourself with this. This will get called
// WARNING: during the init() of this class, so it is very easy to end up calling this
// WARNING: init method "too soon" in your init method, before you are fully initialized
public abstract SiteResource createBaseResource(ServletConfig servletConfig);
- protected Context initCtx=null;
- protected String baseUrl=null;
-
+ protected Context initCtx = null;
+
+ protected String baseUrl = null;
+
protected void initContext() throws NamingException {
- if (initCtx==null) {
- initCtx = new InitialContext();
- }
+ if (initCtx == null) {
+ initCtx = new InitialContext();
+ }
}
+
public void initBaseUrl() throws NamingException {
- if (baseUrl==null) {
- initContext();
+ if (baseUrl == null) {
+ initContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
baseUrl = (String) envCtx.lookup(OGOGLIO_BASE_URL_KEY);
- }
+ }
}
+
public void init(ServletConfig config) throws ServletException {
try {
- initBaseUrl();
+ initBaseUrl();
} catch (NamingException e) {
throw new ServletException("Could not init in AbstractResourceServlet: " + e);
}
super.init(config);
-
+
baseResource = createBaseResource(config);
-
- if (baseResource==null) {
- Log.warn("Class "+getClass().getName()+" should be sure it eventually sets the value of the base resource on it's servlet.");
+
+ if (baseResource == null) {
+ Log.warn("Class " + getClass().getName() + " should be sure it eventually sets the value of the base resource on it's servlet.");
} else {
- if (!(baseResource.getPathElement() instanceof String)) {
- throw new IllegalStateException("The base resource must have a String path element: " + baseResource.getPathElement());
- }
+ if (!(baseResource.getPathElement() instanceof String)) {
+ throw new IllegalStateException("The base resource must have a String path element: " + baseResource.getPathElement());
+ }
}
}
public String getBaseUrl() {
- return baseUrl;
- }
+ return baseUrl;
+ }
public void destroy() {
super.destroy();
@@ -112,6 +114,7 @@
response.addHeader("Cache-Control", "no-store");
response.setDateHeader("Expires", 0);
}
+
public static String getRequestAuthCookie(HttpServletRequest request) {
Cookie[] cookies = request.getCookies();
for (int i = 0; cookies != null && i < cookies.length; i++) {
@@ -122,12 +125,11 @@
return null;
}
-
public static void setCachable(HttpServletResponse response) {
response.setHeader("Cache-Control", "public");
response.setDateHeader("Expires", System.currentTimeMillis() + 10000000);
}
-
+
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if (noCache) {
setNoCache(response);
@@ -137,13 +139,13 @@
String[] pathElements = getPathElements((String) baseResource.getPathElement(), requestURI);
- if (pathElements==null) {
- Log.error("Can't understand path elements in "+getClass().getCanonicalName()+"! "+requestURI);
- Log.error(" baseResource for errant service() is "+baseResource.getClass().getCanonicalName());
+ if (pathElements == null) {
+ Log.error("Can't understand path elements in " + getClass().getCanonicalName() + "! " + requestURI);
+ Log.error(" baseResource for errant service() is " + baseResource.getClass().getCanonicalName());
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}
-
+
SiteResource requestedResource = getSiteResource(pathElements, baseResource);
if (requestedResource == null) {
@@ -231,8 +233,8 @@
outputStream.flush();
outputStream.close();
}
- if (connection.getResponseCode()!=200) {
- Log.warn("Proxy sending error to client: "+connection.getResponseCode()+" on "+uri);
+ if (connection.getResponseCode() != 200 && connection.getResponseCode() != 404) {
+ Log.warn("Proxy sending error to client: " + connection.getResponseCode() + " on " + uri);
}
response.setStatus(connection.getResponseCode());
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tre...@us...> - 2008-02-12 04:56:47
|
Revision: 735
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=735&view=rev
Author: trevorolio
Date: 2008-02-11 20:56:45 -0800 (Mon, 11 Feb 2008)
Log Message:
-----------
Removed the size limit of posted strings. They are not always scripts.
Modified Paths:
--------------
maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java
Modified: maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java
===================================================================
--- maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java 2008-02-12 03:18:32 UTC (rev 734)
+++ maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/servlet/AbstractResourceServlet.java 2008-02-12 04:56:45 UTC (rev 735)
@@ -275,7 +275,7 @@
}
return null;
} else {
- return StreamUtils.readInput(request.getInputStream(), SpaceDocument.MAX_SETTING_VALUE_SIZE);
+ return StreamUtils.readInput(request.getInputStream());
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|