Fix AJAX file upload to support guess file encoding without throwing exception. Fix to MySpaces portlet in Liferay (AWC-1330). Fix to authentication issue with portlets in Liferay

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6210 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2007-07-11 16:23:19 +00:00
parent 4ea8311c77
commit 3588265311
4 changed files with 20 additions and 14 deletions

View File

@@ -434,12 +434,11 @@ public final class AuthenticationHelper
// Portal vendor has decided to encode the objects in the session
if (portalUserKeyName.get() == null)
{
String userKeyPostfix = "?" + AUTHENTICATION_USER;
Enumeration enumNames = session.getAttributeNames();
while (enumNames.hasMoreElements())
{
String name = (String)enumNames.nextElement();
if (name.endsWith(userKeyPostfix))
if (name.endsWith(AUTHENTICATION_USER))
{
// cache the key value once found!
portalUserKeyName.set(name);

View File

@@ -24,6 +24,7 @@
*/
package org.alfresco.web.bean.ajax;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -135,7 +136,7 @@ public class FileUploadBean
InputStream is = null;
try
{
is = new FileInputStream(file);
is = new BufferedInputStream(new FileInputStream(file));
encoding = Repository.guessEncoding(fc, is, mimetype);
}
catch (Throwable e)

View File

@@ -45,6 +45,7 @@ import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.repo.transaction.RetryingTransactionHelper;
import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.security.AuthorityService;
import org.alfresco.web.app.Application;
import org.alfresco.web.scripts.DeclarativeWebScriptRegistry;
import org.alfresco.web.scripts.WebScript;
import org.alfresco.web.scripts.WebScriptDescription;
@@ -111,6 +112,7 @@ public class WebScriptPortlet implements Portlet
*/
public void processAction(ActionRequest req, ActionResponse res) throws PortletException, PortletSecurityException, IOException
{
Application.setInPortalServer(true);
Map<String, String[]> params = req.getParameterMap();
for (Map.Entry<String, String[]> param : params.entrySet())
{
@@ -127,6 +129,7 @@ public class WebScriptPortlet implements Portlet
*/
public void render(RenderRequest req, RenderResponse res) throws PortletException, PortletSecurityException, IOException
{
Application.setInPortalServer(true);
PortletMode portletMode = req.getPortletMode();
if (PortletMode.VIEW.equals(portletMode))
{

View File

@@ -68,6 +68,8 @@ public class WebScriptPortletRequest extends WebScriptURLRequest
{
super(scriptUrlParts, serviceMatch);
this.req = req;
if (req != null)
{
// look for the user info map in the portlet request - populated by the portlet container
Map userInfo = (Map)req.getAttribute(PortletRequest.USER_INFO);
if (userInfo != null)
@@ -86,6 +88,7 @@ public class WebScriptPortletRequest extends WebScriptURLRequest
}
}
}
}
/**
* Gets the Portlet Request