- Remove old ExportController
- Add support for simple REST transformation
This commit is contained in:
@@ -1,167 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
|
||||
|
||||
<beans>
|
||||
|
||||
<bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
|
||||
<property name="filterInvocationDefinitionSource">
|
||||
<value>
|
||||
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
|
||||
PATTERN_TYPE_APACHE_ANT
|
||||
/**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,securityContextHolderAwareRequestFilter,rememberMeProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
|
||||
</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="shaPasswordEncoder" class="org.acegisecurity.providers.encoding.ShaPasswordEncoder"/>
|
||||
|
||||
<bean id="encoder" class="com.wisemapping.security.CustomPasswordEncoder">
|
||||
<property name="delegatedEncoder" ref="shaPasswordEncoder"/>
|
||||
</bean>
|
||||
|
||||
<bean id="httpSessionContextIntegrationFilter"
|
||||
class="org.acegisecurity.context.HttpSessionContextIntegrationFilter"/>
|
||||
|
||||
<bean id="logoutFilter" class="org.acegisecurity.ui.logout.LogoutFilter">
|
||||
<property name="filterProcessesUrl" value="/c/logout.htm"/>
|
||||
<constructor-arg value="/c/login.htm"/>
|
||||
<!-- URL redirected to after logout -->
|
||||
<constructor-arg>
|
||||
<list>
|
||||
<ref bean="rememberMeServices"/>
|
||||
<bean class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler"/>
|
||||
</list>
|
||||
</constructor-arg>
|
||||
</bean>
|
||||
|
||||
<bean id="ssoCustomAuthenticationHandler" class="com.wisemapping.security.DefaultAuthenticationHandler"/>
|
||||
|
||||
<bean id="authenticationProcessingFilter" class="com.wisemapping.security.WiseAuthenticationProcessingFilter">
|
||||
<property name="authenticationManager" ref="authenticationManager"/>
|
||||
<property name="authenticationFailureUrl" value="/c/login.htm?login_error=1"/>
|
||||
<property name="defaultTargetUrl" value="/c/login.htm"/>
|
||||
<property name="filterProcessesUrl" value="/c/j_acegi_security_check"/>
|
||||
<property name="rememberMeServices" ref="rememberMeServices"/>
|
||||
<property name="authenticationHandler" ref="ssoCustomAuthenticationHandler"/>
|
||||
<property name="exceptionMappings">
|
||||
<props>
|
||||
<prop key="org.acegisecurity.BadCredentialsException">/c/login.htm?login_error=2</prop>
|
||||
<prop key="org.acegisecurity.LockedException">/c/login.htm?login_error=3</prop>
|
||||
</props>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="securityContextHolderAwareRequestFilter"
|
||||
class="org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter"/>
|
||||
|
||||
<bean id="rememberMeProcessingFilter" class="org.acegisecurity.ui.rememberme.RememberMeProcessingFilter">
|
||||
<property name="authenticationManager" ref="authenticationManager"/>
|
||||
<property name="rememberMeServices" ref="rememberMeServices"/>
|
||||
</bean>
|
||||
|
||||
<bean id="anonymousProcessingFilter" class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
|
||||
<property name="key" value="changeThis"/>
|
||||
<property name="userAttribute" value="anonymousUser,ROLE_ANONYMOUS"/>
|
||||
</bean>
|
||||
|
||||
<bean id="exceptionTranslationFilter" class="org.acegisecurity.ui.ExceptionTranslationFilter">
|
||||
<property name="authenticationEntryPoint">
|
||||
<bean class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
|
||||
<property name="loginFormUrl" value="/c/login.htm"/>
|
||||
<property name="forceHttps" value="false"/>
|
||||
</bean>
|
||||
</property>
|
||||
<property name="accessDeniedHandler">
|
||||
<bean class="org.acegisecurity.ui.AccessDeniedHandlerImpl">
|
||||
<property name="errorPage" value="/accessDenied.jsp"/>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="filterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
|
||||
<property name="authenticationManager" ref="authenticationManager"/>
|
||||
<property name="accessDecisionManager">
|
||||
<bean class="org.acegisecurity.vote.AffirmativeBased">
|
||||
<property name="allowIfAllAbstainDecisions" value="false"/>
|
||||
<property name="decisionVoters">
|
||||
<list>
|
||||
<bean class="org.acegisecurity.vote.RoleVoter"/>
|
||||
<bean class="org.acegisecurity.vote.AuthenticatedVoter"/>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
<property name="objectDefinitionSource">
|
||||
<value>
|
||||
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
|
||||
PATTERN_TYPE_APACHE_ANT
|
||||
/index.jsp=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/login*=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/userregistration*=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/activation.htm=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/forgotpassword*=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/captcha*=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/home.htm=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/try.htm=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/search.htm=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/keyboard.htm=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/css/*=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/js/**=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/ws/**=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/images/*=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/embeddedview.htm=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/export.htm=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/c/publicview.htm=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/dwr/engine.js=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/dwr/interface/loggerservice.js=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/dwr/call/plaincall/loggerservice.logerror.dwr=IS_AUTHENTICATED_ANONYMOUSLY
|
||||
/**=IS_AUTHENTICATED_REMEMBERED
|
||||
</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rememberMeServices" class="com.wisemapping.security.CustomTokenBasedRememberMeServices">
|
||||
<property name="userDetailsService" ref="userDetailsService"/>
|
||||
<property name="key" value="changeThis"/>
|
||||
</bean>
|
||||
|
||||
<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
|
||||
<property name="providers">
|
||||
<list>
|
||||
<ref local="daoAuthenticationProvider"/>
|
||||
<bean class="org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider">
|
||||
<property name="key" value="changeThis"/>
|
||||
</bean>
|
||||
<bean class="org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider">
|
||||
<property name="key" value="changeThis"/>
|
||||
</bean>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
|
||||
<property name="userDetailsService" ref="userDetailsService"/>
|
||||
<!-- @Todo: Check if this still required. this was removed in the new spring version.-->
|
||||
<!--<property name="userCache">-->
|
||||
<!--<bean class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">-->
|
||||
<!--<property name="cache">-->
|
||||
<!--<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean">-->
|
||||
<!--<property name="cacheManager">-->
|
||||
<!--<bean class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>-->
|
||||
<!--</property>-->
|
||||
<!--<property name="cacheName" value="userCache"/>-->
|
||||
<!--</bean>-->
|
||||
<!--</property>-->
|
||||
<!--</bean>-->
|
||||
<!--</property>-->
|
||||
<property name="encoder" ref="encoder"/>
|
||||
</bean>
|
||||
|
||||
<bean id="userDetailsService" class="com.wisemapping.security.UserDetailService">
|
||||
<property name="userManager" ref="userManager"/>
|
||||
</bean>
|
||||
|
||||
<!-- This bean is optional; it isn't used by any other bean as it only listens and logs -->
|
||||
<bean id="loggerListener" class="org.acegisecurity.event.authentication.LoggerListener"/>
|
||||
</beans>
|
||||
|
@@ -15,15 +15,10 @@
|
||||
<context:annotation-config/>
|
||||
<mvc:annotation-driven/>
|
||||
|
||||
|
||||
<!-- To enable @RequestMapping process on type level and method level -->
|
||||
<!--<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>-->
|
||||
<!--<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>-->
|
||||
|
||||
<bean id="jaxbMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
|
||||
<property name="classesToBeBound">
|
||||
<list>
|
||||
<value>com.wisemapping.rest.model.RestMindMap</value>
|
||||
<value>com.wisemapping.rest.model.RestMindmap</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
@@ -33,11 +28,14 @@
|
||||
<property name="favorPathExtension" value="true"/>
|
||||
<property name="mediaTypes">
|
||||
<map>
|
||||
<entry key="xml" value="text/xml"/>
|
||||
<entry key="html" value="text/html"/>
|
||||
<entry key="xml" value="text/xml"/>
|
||||
<entry key="json" value="application/json"/>
|
||||
<entry key="freemind" value="application/freemind"/>
|
||||
<entry key="pdf" value="application/pdf"/>
|
||||
<entry key="png" value="application/png"/>
|
||||
<entry key="png" value="image/png"/>
|
||||
<entry key="jpeg" value="image/jpg"/>
|
||||
<entry key="svg" value="image/svg+xml"/>
|
||||
</map>
|
||||
</property>
|
||||
<property name="viewResolvers">
|
||||
@@ -76,5 +74,7 @@
|
||||
<constructor-arg value="application/freemind"/>
|
||||
</bean>
|
||||
|
||||
|
||||
<bean id="transformViewSvg" class="com.wisemapping.rest.view.TransformView">
|
||||
<constructor-arg value="image/svg+xml"/>
|
||||
</bean>
|
||||
</beans>
|
@@ -30,9 +30,11 @@
|
||||
<sec:http pattern="/dwr/interface/loggerservice.js" security="none"/>
|
||||
<sec:http pattern="/dwr/call/plaincall/loggerservice.logerror.dwr" security="none"/>
|
||||
|
||||
<sec:http pattern="/service/transform.*" security="none"/>
|
||||
<sec:http use-expressions="true" create-session="stateless" entry-point-ref="digestEntryPoint"
|
||||
pattern="/service/**">
|
||||
<sec:intercept-url pattern="/service/**" access="isAuthenticated()"/>
|
||||
|
||||
<sec:http-basic/>
|
||||
<sec:custom-filter ref="digestFilter" after="BASIC_AUTH_FILTER"/>
|
||||
</sec:http>
|
||||
|
@@ -107,11 +107,7 @@
|
||||
<property name="userService" ref="userService"/>
|
||||
</bean>
|
||||
|
||||
<bean id="exportController" class="com.wisemapping.controller.ExportController">
|
||||
<property name="methodNameResolver" ref="paramResolverByAction"/>
|
||||
<property name="mindmapService" ref="mindmapService"/>
|
||||
<property name="userService" ref="userService"/>
|
||||
</bean>
|
||||
|
||||
<bean id="publishController" class="com.wisemapping.controller.MindmapPublishController">
|
||||
<property name="methodNameResolver" ref="paramResolverByAction2"/>
|
||||
<property name="mindmapService" ref="mindmapService"/>
|
||||
@@ -303,7 +299,6 @@
|
||||
<prop key="/c/editor.htm">editorController</prop>
|
||||
<prop key="/c/cooker.htm">cookerController</prop>
|
||||
<prop key="/c/settings.htm">settingsController</prop>
|
||||
<prop key="/c/export.htm">exportController</prop>
|
||||
<prop key="/c/publish.htm">publishController</prop>
|
||||
<prop key="/c/editProfile.htm">editProfileController</prop>
|
||||
<prop key="/c/tags.htm">tagsController</prop>
|
||||
|
@@ -1,13 +1,13 @@
|
||||
<%@ include file="/jsp/init.jsp" %>
|
||||
<h1>
|
||||
<spring:message code="EXPORT"/>
|
||||
'${mindmap.title}'</h1>
|
||||
<spring:message code="EXPORT"/>'${mindmap.title}'</h1>
|
||||
|
||||
<div>
|
||||
<form method="post" id="exportForm" name="exportForm" action="<c:url value="export.htm"/>" style="height:100%;">
|
||||
<input type="hidden" name="action" value="export"/>
|
||||
<input type="hidden" name="mapId" value="${mindmap.id}"/>
|
||||
<input type="hidden" name="mapSvg" value=""/>
|
||||
<form method="POST" id="exportForm" name="exportForm" action="<c:url value="/service/transform"/>"
|
||||
style="height:100%;" enctype="application/x-www-form-urlencoded">
|
||||
<input name="svgXml" value="" type="hidden"/>
|
||||
<input name="mapXml" value="" type="hidden"/>
|
||||
<input name="filename" value="${mindmap.title}" type="hidden"/>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -85,14 +85,36 @@
|
||||
});
|
||||
|
||||
$('ok').addEvent('click', function(event) {
|
||||
$('exportForm').submit();
|
||||
|
||||
var form = $('exportForm');
|
||||
|
||||
// Look for the selected format and append export suffix...
|
||||
var value = $$('input[name=exportFormat]:checked')[0].get('value');
|
||||
var suffix;
|
||||
if (value == 'IMG_EXPORT_FORMAT') {
|
||||
var selected = $('imgFormat');
|
||||
suffix = selected.options[selected.selectedIndex].value;
|
||||
} else {
|
||||
suffix = value;
|
||||
}
|
||||
suffix = suffix.toLowerCase();
|
||||
form.action = form.action + "." + suffix;
|
||||
|
||||
// Store SVG o native map...
|
||||
if (suffix == "freemind") {
|
||||
var mindmap = designer.getMindmap();
|
||||
var serializer = mindplot.XMLMindmapSerializerFactory.getSerializerFromMindmap(mindmap);
|
||||
var domMap = serializer.toXML(mindmap);
|
||||
form.mapXml.value = core.Utils.innerXML(domMap);
|
||||
} else {
|
||||
form.svgXml.value = $("workspaceContainer").innerHTML;
|
||||
}
|
||||
|
||||
// Finally, submit map ...
|
||||
form.submit();
|
||||
|
||||
|
||||
MooDialog.Request.active.close();
|
||||
});
|
||||
|
||||
$('cancel').addEvent('click', function(event) {
|
||||
MooDialog.Request.active.close();
|
||||
});
|
||||
|
||||
document.exportForm.mapSvg.value = $("workspaceContainer").innerHTML;
|
||||
|
||||
</script>
|
Reference in New Issue
Block a user