From: <ac...@us...> - 2008-04-24 01:43:34
|
Revision: 48 http://drawbridge.svn.sourceforge.net/drawbridge/?rev=48&view=rev Author: acresse Date: 2008-04-23 18:43:24 -0700 (Wed, 23 Apr 2008) Log Message: ----------- dwr the permissions Modified Paths: -------------- trunk/drawbridge/WebContent/WEB-INF/drawbridge-servlet.xml trunk/drawbridge/WebContent/WEB-INF/jsp/permissions/manage.jsp trunk/drawbridge/WebContent/WEB-INF/web.xml trunk/drawbridge/WebContent/js/drawbridge.js trunk/drawbridge/build.xml trunk/drawbridge/src/java/net/sf/drawbridge/sched/QuartzDrawbridgeScheduleLoader.java Added Paths: ----------- trunk/drawbridge/WebContent/WEB-INF/dwr.xml trunk/drawbridge/src/java/net/sf/drawbridge/dwr/ trunk/drawbridge/src/java/net/sf/drawbridge/dwr/DwrDrawbridgeFacade.java trunk/drawbridge/src/java/net/sf/drawbridge/dwr/WrapperDwrDrawbridgeFacade.java Modified: trunk/drawbridge/WebContent/WEB-INF/drawbridge-servlet.xml =================================================================== --- trunk/drawbridge/WebContent/WEB-INF/drawbridge-servlet.xml 2008-04-23 00:48:51 UTC (rev 47) +++ trunk/drawbridge/WebContent/WEB-INF/drawbridge-servlet.xml 2008-04-24 01:43:24 UTC (rev 48) @@ -26,4 +26,8 @@ <property name="defaultErrorView" value="error"/> </bean> + <bean id="DwrDrawbridgeFacade" class="net.sf.drawbridge.dwr.WrapperDwrDrawbridgeFacade"> + <constructor-arg ref="DrawbridgeService"/> + </bean> + </beans> Added: trunk/drawbridge/WebContent/WEB-INF/dwr.xml =================================================================== --- trunk/drawbridge/WebContent/WEB-INF/dwr.xml (rev 0) +++ trunk/drawbridge/WebContent/WEB-INF/dwr.xml 2008-04-24 01:43:24 UTC (rev 48) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"> +<dwr> + <allow> + <create creator="spring" javascript="DrawbridgeService"> + <param name="beanName" value="DwrDrawbridgeFacade"/> + </create> + <convert converter="bean" match="net.sf.drawbridge.vo.RunAsAccount"/> + </allow> +</dwr> \ No newline at end of file Modified: trunk/drawbridge/WebContent/WEB-INF/jsp/permissions/manage.jsp =================================================================== --- trunk/drawbridge/WebContent/WEB-INF/jsp/permissions/manage.jsp 2008-04-23 00:48:51 UTC (rev 47) +++ trunk/drawbridge/WebContent/WEB-INF/jsp/permissions/manage.jsp 2008-04-24 01:43:24 UTC (rev 48) @@ -20,8 +20,10 @@ <%@taglib prefix="display" uri="http://displaytag.sf.net"%> <%@page import="net.sf.drawbridge.vo.Permission"%> <%@ include file="../header.jsp" %> -<script language="JavaScript" src="js/drawbridge.js" /> - +<script language="JavaScript" src="js/drawbridge.js"></script> +<script type='text/javascript' src='/drawbridge/dwr/interface/DrawbridgeService.js'></script> +<script type='text/javascript' src='/drawbridge/dwr/engine.js'></script> +<script type='text/javascript' src='/drawbridge/dwr/util.js'></script> <div id="instructions"> Please choose a group to continue. </div> Modified: trunk/drawbridge/WebContent/WEB-INF/web.xml =================================================================== --- trunk/drawbridge/WebContent/WEB-INF/web.xml 2008-04-23 00:48:51 UTC (rev 47) +++ trunk/drawbridge/WebContent/WEB-INF/web.xml 2008-04-24 01:43:24 UTC (rev 48) @@ -2,16 +2,39 @@ <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>drawbridge</display-name> + <context-param> + <param-name>contextConfigLocation</param-name> + <param-value>/WEB-INF/drawbridge-servlet.xml</param-value> + </context-param> + + <listener> + <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> + </listener> + <servlet> <servlet-name>drawbridge</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> + <servlet> + <servlet-name>dwr-invoker</servlet-name> + <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> + <init-param> + <param-name>debug</param-name> + <param-value>true</param-value> + </init-param> + </servlet> + <servlet-mapping> <servlet-name>drawbridge</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> + <servlet-mapping> + <servlet-name>dwr-invoker</servlet-name> + <url-pattern>/dwr/*</url-pattern> + </servlet-mapping> + <welcome-file-list> <welcome-file>MainMenu.do</welcome-file> </welcome-file-list> Modified: trunk/drawbridge/WebContent/js/drawbridge.js =================================================================== --- trunk/drawbridge/WebContent/js/drawbridge.js 2008-04-23 00:48:51 UTC (rev 47) +++ trunk/drawbridge/WebContent/js/drawbridge.js 2008-04-24 01:43:24 UTC (rev 48) @@ -4,32 +4,50 @@ function handleGroupChange(){ isFirst=isFirstSelected('groupSelect'); - setVisibility('systemDiv',isFirst); - setVisibility('databaseDiv',isFirst); - setVisibility('submitDiv',isFirst); if(isFirst){ + setVisibility('systemDiv',false); + setVisibility('databaseDiv',false); + setVisibility('submitDiv',false); setVisibility('runAsDiv',false); setVisibility('permissionsDiv',false); + select=document.getElementById('databaseSelect'); + select.selectedIndex=0 + } else { + setVisibility('systemDiv',true); + setVisibility('databaseDiv',true); + setVisibility('submitDiv',true); } } +var populateRunAs = function(data){ + dwr.util.addOptions('runAsSelect', data, 'userName'); +} + function handleDatabaseChange(){ isFirst=isFirstSelected('databaseSelect'); - setVisibility('runAsDiv',isFirst); + dwr.util.removeAllOptions('runAsSelect'); + option=new Array(); + option[0]='Please choose an account'; + dwr.util.addOptions('runAsSelect',option); if(isFirst){ + setVisibility('runAsDiv',false); setVisibility('permissionsDiv',false); + } else { + select=document.getElementById('databaseSelect'); + DrawbridgeService.listRunAsAccounts(dwr.util.getValue('databaseSelect'), populateRunAs); + setVisibility('runAsDiv',true); } } function handleRunAsChange(){ isFirst=isFirstSelected('runAsSelect'); - setVisibility('permissionsDiv',isFirst); + setVisibility('permissionsDiv',!isFirst); } function isFirstSelected(id){ select=document.getElementById(id); index=select.selectedIndex; - return index!=0; + return index==0; } function setVisibility(id, isVisible){ Modified: trunk/drawbridge/build.xml =================================================================== --- trunk/drawbridge/build.xml 2008-04-23 00:48:51 UTC (rev 47) +++ trunk/drawbridge/build.xml 2008-04-24 01:43:24 UTC (rev 48) @@ -27,6 +27,7 @@ <get-dependency dep="${jar.commons.logging}"/> <get-dependency dep="${jar.displaytag}"/> <get-dependency dep="${jar.dom4j}"/> + <get-dependency dep="${jar.dwr}"/> <get-dependency dep="${jar.hibernate}"/> <get-dependency dep="${jar.hsqldb}"/> <get-dependency dep="${jar.jmock}"/> @@ -54,7 +55,7 @@ <delete dir="${env.JAR_REPO}/@{dep}"/> </else> </if> - <get dest="${env.JAR_REPO}/@{dep}" src="http://www.pojo.us/drawbridge/@{dep}" usetimestamp="true" verbose="off"/> + <get dest="${env.JAR_REPO}/@{dep}" src="http://www.pojo.us/drawbridge/@{dep}" usetimestamp="true" verbose="on" ignoreerrors="true"/> </sequential> </macrodef> @@ -147,6 +148,7 @@ <file file="${env.JAR_REPO}/${jar.commons.logging}"/> <file file="${env.JAR_REPO}/${jar.displaytag}"/> <file file="${env.JAR_REPO}/${jar.dom4j}"/> + <file file="${env.JAR_REPO}/${jar.dwr}"/> <file file="${env.JAR_REPO}/${jar.hibernate}"/> <file file="${env.JAR_REPO}/${jar.jstl}"/> <file file="${env.JAR_REPO}/${jar.jta}"/> Added: trunk/drawbridge/src/java/net/sf/drawbridge/dwr/DwrDrawbridgeFacade.java =================================================================== --- trunk/drawbridge/src/java/net/sf/drawbridge/dwr/DwrDrawbridgeFacade.java (rev 0) +++ trunk/drawbridge/src/java/net/sf/drawbridge/dwr/DwrDrawbridgeFacade.java 2008-04-24 01:43:24 UTC (rev 48) @@ -0,0 +1,11 @@ +package net.sf.drawbridge.dwr; + +import java.util.List; + +import net.sf.drawbridge.vo.RunAsAccount; + +public interface DwrDrawbridgeFacade { + + public List<RunAsAccount> listRunAsAccounts(Integer databaseId); + +} Added: trunk/drawbridge/src/java/net/sf/drawbridge/dwr/WrapperDwrDrawbridgeFacade.java =================================================================== --- trunk/drawbridge/src/java/net/sf/drawbridge/dwr/WrapperDwrDrawbridgeFacade.java (rev 0) +++ trunk/drawbridge/src/java/net/sf/drawbridge/dwr/WrapperDwrDrawbridgeFacade.java 2008-04-24 01:43:24 UTC (rev 48) @@ -0,0 +1,25 @@ +package net.sf.drawbridge.dwr; + +import java.util.List; + +import net.sf.drawbridge.domain.DrawbridgeService; +import net.sf.drawbridge.vo.RunAsAccount; + +public class WrapperDwrDrawbridgeFacade implements DwrDrawbridgeFacade { + + private DrawbridgeService drawbridgeService; + + public WrapperDwrDrawbridgeFacade(DrawbridgeService drawbridgeService){ + this.drawbridgeService = drawbridgeService; + } + + public List<RunAsAccount> listRunAsAccounts(Integer databaseId) { + List<RunAsAccount> accounts = drawbridgeService.listRunAsAccounts(databaseId); + for (RunAsAccount account : accounts) { + account.setPassword("********"); + } + return accounts; + } + + +} Modified: trunk/drawbridge/src/java/net/sf/drawbridge/sched/QuartzDrawbridgeScheduleLoader.java =================================================================== --- trunk/drawbridge/src/java/net/sf/drawbridge/sched/QuartzDrawbridgeScheduleLoader.java 2008-04-23 00:48:51 UTC (rev 47) +++ trunk/drawbridge/src/java/net/sf/drawbridge/sched/QuartzDrawbridgeScheduleLoader.java 2008-04-24 01:43:24 UTC (rev 48) @@ -33,7 +33,13 @@ public void loadSchedule() throws Exception{ JobDetail jobDetail=new JobDetail("heartbeat","system",HeartBeatJob.class); CronTrigger trigger = new CronTrigger("heartbeat-trigger", "system", "heartbeat", "system", "0/60 * * * * ?"); - scheduler.scheduleJob(jobDetail,trigger); + try{ + //this is getting called twice because 2 contexts are being created after the context loader listener was added + //dwr needs the context loader listener + scheduler.scheduleJob(jobDetail,trigger); + } catch(Exception ex){ + ex.printStackTrace(); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |