mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud)
101332: Merge RA-SPRINT2 to HEAD-BUG-FIX (5.1) 100713: RA-55 - Move Slingshot JS Extension to Share enablement project git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@101473 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -41,25 +41,12 @@
|
|||||||
<value>${vti.server.external.contextPath}</value>
|
<value>${vti.server.external.contextPath}</value>
|
||||||
</property>
|
</property>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<util:map id="slingshotDocLibCustomResponsesMap">
|
<!-- Bean below used by share-enablement project and over-ridden by repository-enterprise -->
|
||||||
|
<util:map id="slingshotDocLibCustomResponsesMap">
|
||||||
<entry key="vtiServer">
|
<entry key="vtiServer">
|
||||||
<ref bean="doclibCustomVtiServer"/>
|
<ref bean="doclibCustomVtiServer"/>
|
||||||
</entry>
|
</entry>
|
||||||
</util:map>
|
</util:map>
|
||||||
|
|
||||||
<bean id="slingshotDocLibCustomResponse" parent="baseJavaScriptExtension" class="org.alfresco.repo.jscript.SlingshotDocLibCustomResponse">
|
|
||||||
<property name="extensionName">
|
|
||||||
<value>slingshotDocLib</value>
|
|
||||||
</property>
|
|
||||||
<property name="customResponses" ref="slingshotDocLibCustomResponsesMap" />
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
<bean name="registerSlingshotCustomResponse" class="org.alfresco.repo.jscript.SlingshotDocLibCustomResponseRegistrar"
|
|
||||||
init-method="addCustomResponse" abstract="true">
|
|
||||||
<property name="responsesMap">
|
|
||||||
<ref bean="slingshotDocLibCustomResponsesMap" />
|
|
||||||
</property>
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
</beans>
|
</beans>
|
||||||
|
@@ -1,82 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2005-2011 Alfresco Software Limited.
|
|
||||||
*
|
|
||||||
* This file is part of Alfresco
|
|
||||||
*
|
|
||||||
* Alfresco is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Lesser General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* Alfresco is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package org.alfresco.repo.jscript;
|
|
||||||
|
|
||||||
import org.alfresco.repo.jscript.app.CustomResponse;
|
|
||||||
import org.json.JSONException;
|
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Populates DocLib webscript response with custom metadata output
|
|
||||||
*
|
|
||||||
* @author: mikeh
|
|
||||||
*/
|
|
||||||
public final class SlingshotDocLibCustomResponse extends BaseScopableProcessorExtension
|
|
||||||
{
|
|
||||||
private Map<String, Object> customResponses;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the custom response beans
|
|
||||||
*
|
|
||||||
* @param customResponses
|
|
||||||
*/
|
|
||||||
public void setCustomResponses(Map<String, Object> customResponses)
|
|
||||||
{
|
|
||||||
this.customResponses = customResponses;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a JSON string to be added to the DocLib webscript response.
|
|
||||||
*
|
|
||||||
* @return The JSON string
|
|
||||||
*/
|
|
||||||
public String getJSON()
|
|
||||||
{
|
|
||||||
return this.getJSONObj().toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a JSON object to be added to the DocLib webscript response.
|
|
||||||
*
|
|
||||||
* @return The JSON object
|
|
||||||
*/
|
|
||||||
protected Object getJSONObj()
|
|
||||||
{
|
|
||||||
JSONObject json = new JSONObject();
|
|
||||||
|
|
||||||
|
|
||||||
for (Map.Entry<String, Object> entry : this.customResponses.entrySet())
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Serializable response = ((CustomResponse) entry.getValue()).populate();
|
|
||||||
json.put(entry.getKey(), response == null ? JSONObject.NULL: response);
|
|
||||||
}
|
|
||||||
catch (JSONException error)
|
|
||||||
{
|
|
||||||
error.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return json;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,68 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2005-2014 Alfresco Software Limited.
|
|
||||||
*
|
|
||||||
* This file is part of Alfresco
|
|
||||||
*
|
|
||||||
* Alfresco is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Lesser General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* Alfresco is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package org.alfresco.repo.jscript;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register an additional custom metadata output for the DocLib webscript response
|
|
||||||
*
|
|
||||||
* @author: Will Abson
|
|
||||||
*/
|
|
||||||
public final class SlingshotDocLibCustomResponseRegistrar
|
|
||||||
{
|
|
||||||
private Map<String, Object> responsesMap;
|
|
||||||
private String key;
|
|
||||||
private Object value;
|
|
||||||
|
|
||||||
public String getKey()
|
|
||||||
{
|
|
||||||
return key;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setKey(String key)
|
|
||||||
{
|
|
||||||
this.key = key;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object getValue()
|
|
||||||
{
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setValue(Object value)
|
|
||||||
{
|
|
||||||
this.value = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<String, Object> getResponsesMap()
|
|
||||||
{
|
|
||||||
return responsesMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setResponsesMap(Map<String, Object> responsesMap)
|
|
||||||
{
|
|
||||||
this.responsesMap = responsesMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addCustomResponse()
|
|
||||||
{
|
|
||||||
responsesMap.put(key, value);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -22,14 +22,14 @@ package org.alfresco.repo.jscript.app;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface for custom properties used by SlingshotDocLibCustomResponse
|
* Interface for returning custom properties
|
||||||
*
|
*
|
||||||
* @author: mikeh
|
* @author: mikeh
|
||||||
*/
|
*/
|
||||||
public interface CustomResponse
|
public interface CustomResponse
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Populates the DocLib webscript response with custom metadata
|
* Populates the DocLib webscript response with custom metadata
|
||||||
*/
|
*/
|
||||||
Serializable populate();
|
Serializable populate();
|
||||||
}
|
}
|
||||||
|
@@ -107,9 +107,9 @@ public class VtiServerCustomResponse implements CustomResponse
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Populates the DocLib webscript response with custom metadata
|
* Populates the CustomResponse with the vti metadata
|
||||||
*
|
*
|
||||||
* @return JSONObject or null
|
* @return JSONObject or null if the vti module is not installed.
|
||||||
*/
|
*/
|
||||||
public Serializable populate()
|
public Serializable populate()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user