|
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.
|