From continuum-commits-return-33-apmail-maven-continuum-commits-archive=maven.apache.org@maven.apache.org Tue Apr 19 01:08:00 2005 Return-Path: Delivered-To: apmail-maven-continuum-commits-archive@www.apache.org Received: (qmail 97578 invoked from network); 19 Apr 2005 01:07:59 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 19 Apr 2005 01:07:59 -0000 Received: (qmail 12508 invoked by uid 500); 19 Apr 2005 01:07:59 -0000 Delivered-To: apmail-maven-continuum-commits-archive@maven.apache.org Received: (qmail 12488 invoked by uid 500); 19 Apr 2005 01:07:59 -0000 Mailing-List: contact continuum-commits-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: continuum-dev@maven.apache.org Delivered-To: mailing list continuum-commits@maven.apache.org Received: (qmail 12472 invoked by uid 99); 19 Apr 2005 01:07:59 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Mon, 18 Apr 2005 18:07:58 -0700 Received: (qmail 97573 invoked by uid 65534); 19 Apr 2005 01:07:56 -0000 Message-ID: <20050419010756.97572.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: svnmailer-1.0.0-dev Date: Tue, 19 Apr 2005 01:07:56 -0000 Subject: svn commit: r161820 - in maven/continuum/trunk/continuum-web/src/main: java/org/codehaus/continuum/web/action/Call.java java/org/codehaus/continuum/web/action/CallApplicationModel.java resources/META-INF/plexus/components.xml resources/forms/continuumProject.xml To: continuum-commits@maven.apache.org From: jvanzyl@apache.org X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: jvanzyl Date: Mon Apr 18 18:07:53 2005 New Revision: 161820 URL: http://svn.apache.org/viewcvs?view=3Drev&rev=3D161820 Log: o create an action that can make arbitrary calls into the application model. the action is configured with the role of the application model and a ser= ies of calls. each call has an id (cid) and an expression to use when calling the application model. so you just need to specify the cid in the webapp and the expression will be looked up and executed using the request parameters. =20 So i can do something like=20 =20 http://...?action=3Dcam&cid=3DbuildProject =20 and=20 =20 continuum.buildProject(#id) =20 will be executed. =20 No java code required! =20 Added: maven/continuum/trunk/continuum-web/src/main/java/org/codehaus/continuu= m/web/action/Call.java maven/continuum/trunk/continuum-web/src/main/java/org/codehaus/continuu= m/web/action/CallApplicationModel.java Modified: maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/= components.xml maven/continuum/trunk/continuum-web/src/main/resources/forms/continuumP= roject.xml Added: maven/continuum/trunk/continuum-web/src/main/java/org/codehaus/conti= nuum/web/action/Call.java URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/= main/java/org/codehaus/continuum/web/action/Call.java?view=3Dauto&rev=3D161= 820 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- maven/continuum/trunk/continuum-web/src/main/java/org/codehaus/continuu= m/web/action/Call.java (added) +++ maven/continuum/trunk/continuum-web/src/main/java/org/codehaus/continuu= m/web/action/Call.java Mon Apr 18 18:07:53 2005 @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2005 Your Corporation. All Rights Reserved. + */ +package org.codehaus.continuum.web.action; + +/** + * @author Jason van Zyl + * @version $Id:$ + */ +public class Call +{ + private String cid; + + private String expression; + + public String getCid() + { + return cid; + } + + public String getExpression() + { + return expression; + } +} Added: maven/continuum/trunk/continuum-web/src/main/java/org/codehaus/conti= nuum/web/action/CallApplicationModel.java URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/= main/java/org/codehaus/continuum/web/action/CallApplicationModel.java?view= =3Dauto&rev=3D161820 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- maven/continuum/trunk/continuum-web/src/main/java/org/codehaus/continuu= m/web/action/CallApplicationModel.java (added) +++ maven/continuum/trunk/continuum-web/src/main/java/org/codehaus/continuu= m/web/action/CallApplicationModel.java Mon Apr 18 18:07:53 2005 @@ -0,0 +1,65 @@ +package org.codehaus.continuum.web.action; + +import org.codehaus.plexus.summit.rundata.RunData; +import org.codehaus.plexus.action.AbstractAction; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualiz= able; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializabl= e; + +import java.util.Map; +import java.util.List; +import java.util.Iterator; +import java.util.HashMap; + +import ognl.Ognl; + +/** + * @author Trygve Laugstøl + * @version $Id: Login.java,v 1.1 2005/04/01 00:11:34 jvanzyl Exp $ + */ +public class CallApplicationModel + extends AbstractAction + implements Initializable +{ + private static String CID =3D "cid"; + + private String applicationRole; + + private List calls; + + private Map callMap; + + public void execute( Map parameters ) + throws Exception + { + Object application =3D lookup( applicationRole ); + + System.out.println( "application =3D " + application ); + + String cid =3D (String) parameters.get( CID ); + + Call call =3D (Call) callMap.get( cid ); + + String expression =3D call.getExpression(); + + System.out.println( "expression =3D " + expression ); + + Ognl.getValue( expression, parameters, application ); + } + + // -------------------------------------------------------------------= --- + // Lifecylce Management + // -------------------------------------------------------------------= --- + + public void initialize() + throws Exception + { + callMap =3D new HashMap(); + + for ( Iterator i =3D calls.iterator(); i.hasNext(); ) + { + Call call =3D (Call) i.next(); + + callMap.put( call.getCid(), call ); + } + } +} Modified: maven/continuum/trunk/continuum-web/src/main/resources/META-INF/p= lexus/components.xml URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/= main/resources/META-INF/plexus/components.xml?view=3Ddiff&r1=3D161819&r2=3D= 161820 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/= components.xml (original) +++ maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/= components.xml Mon Apr 18 18:07:53 2005 @@ -168,6 +168,21 @@ org.apache.maven.continuum.web.action.Login =20 + + org.codehaus.plexus.action.Action + cam + org.codehaus.continuum.web.action.CallApplicationMod= el + + org.apache.maven.continuum.Continuum + + + buildProject + buildProject(#id) + + + + + + + + title.key @@ -69,14 +72,13 @@ project.name - + Build + target/continuumProject.form?mode=3Dsummary&action=3Dc= am&cid=3DbuildProject&id=3D$id$ + + Builds target/ProjectBuilds.vm?view=3DProjectBuilds&id=3D$id$= @@ -85,7 +87,7 @@ target/$type$Project.form?mode=3Dview&id=3D$id$ - Details + Edit target/$type$Project.form?mode=3Dupdate&id=3D$id$