You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by ry...@apache.org on 2008/10/27 22:50:59 UTC
svn commit: r708338 - in /labs/droids/branch/LABS-144/depot/wicket/src:
conf/ java/org/apache/droids/wicket/app/
java/org/apache/droids/wicket/component/ test/org/apache/droids/wicket/app/
Author: ryan
Date: Mon Oct 27 14:50:59 2008
New Revision: 708338
URL: http://svn.apache.org/viewvc?rev=708338&view=rev
Log:
wicket example shows simple status info while walking a file system
Added:
labs/droids/branch/LABS-144/depot/wicket/src/test/org/apache/droids/wicket/app/StartDroidsApp.java (contents, props changed)
- copied, changed from r705435, labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/StartDroidsApp.java
Removed:
labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/StartDroidsApp.java
Modified:
labs/droids/branch/LABS-144/depot/wicket/src/conf/applicationContext.xml
labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/IndexPage.html
labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/IndexPage.java
labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/component/DroidPanel.html
labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/component/DroidPanel.java
Modified: labs/droids/branch/LABS-144/depot/wicket/src/conf/applicationContext.xml
URL: http://svn.apache.org/viewvc/labs/droids/branch/LABS-144/depot/wicket/src/conf/applicationContext.xml?rev=708338&r1=708337&r2=708338&view=diff
==============================================================================
--- labs/droids/branch/LABS-144/depot/wicket/src/conf/applicationContext.xml (original)
+++ labs/droids/branch/LABS-144/depot/wicket/src/conf/applicationContext.xml Mon Oct 27 14:50:59 2008
@@ -22,11 +22,12 @@
</bean>
<bean name="taskQueue"
- class="org.apache.droids.impl.SimpleTaskQueueWithHistory">
+ class="org.apache.droids.impl.SimpleTaskQueue">
+ <!-- class="org.apache.droids.impl.SimpleTaskQueue" -->
</bean>
<bean name="droid"
- class="org.apache.droids.walker.WalkingDroid">
+ class="org.apache.droids.robot.walker.SimpleWalkingDroid">
<constructor-arg ref="taskQueue" />
<constructor-arg ref="taskMaster" />
</bean>
Modified: labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/IndexPage.html
URL: http://svn.apache.org/viewvc/labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/IndexPage.html?rev=708338&r1=708337&r2=708338&view=diff
==============================================================================
--- labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/IndexPage.html (original)
+++ labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/IndexPage.html Mon Oct 27 14:50:59 2008
@@ -3,9 +3,18 @@
<title>Hello Droids</title>
</head>
<body>
+ <div wicket:id="feedback" />
+
<h1>Hello Droids</h1>
<br/>
<div wicket:id="droid">[droids info]</div>
+
+ <hr/>
+
+ <form wicket:id="form">
+ <textarea wicket:id="initial" style="width:400px;" rows="5"></textarea><br/>
+ <input type="submit" value="start"/>
+ </form>
</body>
</html>
Modified: labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/IndexPage.java
URL: http://svn.apache.org/viewvc/labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/IndexPage.java?rev=708338&r1=708337&r2=708338&view=diff
==============================================================================
--- labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/IndexPage.java (original)
+++ labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/IndexPage.java Mon Oct 27 14:50:59 2008
@@ -16,13 +16,27 @@
*/
package org.apache.droids.wicket.app;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.StringTokenizer;
+
+import org.apache.droids.robot.walker.WalkingDroid;
import org.apache.droids.wicket.component.DroidPanel;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.TextArea;
+import org.apache.wicket.markup.html.panel.FeedbackPanel;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.spring.injection.annot.SpringBean;
public class IndexPage extends WebPage
{
+ @SpringBean( name="droid" )
+ WalkingDroid droid;
/**
* Constructor that is invoked when page is invoked without a session.
@@ -32,6 +46,32 @@
*/
public IndexPage(final PageParameters parameters)
{
+ add( new FeedbackPanel( "feedback" ) );
add( new DroidPanel( "droid" ) );
+
+ final IModel<String> initial = new Model<String>();
+ Form<Void> form = new Form<Void>("form") {
+ @Override
+ protected void onSubmit() {
+ StringTokenizer st = new StringTokenizer( initial.getObject(), "\n\r" );
+ if( !st.hasMoreTokens() ) {
+ error( "Missing files..." );
+ }
+ else {
+ Collection<File> files = new ArrayList<File>();
+ while( st.hasMoreTokens() ) {
+ File f = new File( st.nextToken() );
+ files.add( f );
+ info( "ADD: "+f.getAbsolutePath() );
+ }
+ droid.setInitialFiles( files );
+ droid.init();
+ droid.start();
+ }
+ initial.setObject( null );
+ }
+ };
+ form.add( new TextArea<String>("initial", initial ).setRequired( true ) );
+ add( form );
}
}
Modified: labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/component/DroidPanel.html
URL: http://svn.apache.org/viewvc/labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/component/DroidPanel.html?rev=708338&r1=708337&r2=708338&view=diff
==============================================================================
--- labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/component/DroidPanel.html (original)
+++ labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/component/DroidPanel.html Mon Oct 27 14:50:59 2008
@@ -1,4 +1,17 @@
<wicket:panel>
+
+<table>
+<tr><td>Current Time: </td><td><span wicket:id="currentTime">[current time]</span></td></tr>
+<tr><td>Started Time: </td><td><span wicket:id="startedTime">[started time]</span></td></tr>
+<tr><td>Finished Time: </td><td><span wicket:id="finishedTime">[finishedTime]</span></td></tr>
+<tr><td>Completed Tasks: </td><td><span wicket:id="completedTasks">[completed tasks]</span></td></tr>
+<tr><td>Memory: </td><td><span wicket:id="memory">[completed tasks]</span></td></tr>
+<tr><td>Last Task: </td><td>
+ <pre style="overflow:hidden;" wicket:id="lastTask">[last task]</pre>
+</td></tr>
+</table>
+
+
<ul>
<li>Droid: <span wicket:id="droid">[droid]</span></li>
<li>TaskQueue: <span wicket:id="queue">[droid]</span></li>
Modified: labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/component/DroidPanel.java
URL: http://svn.apache.org/viewvc/labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/component/DroidPanel.java?rev=708338&r1=708337&r2=708338&view=diff
==============================================================================
--- labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/component/DroidPanel.java (original)
+++ labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/component/DroidPanel.java Mon Oct 27 14:50:59 2008
@@ -16,15 +16,26 @@
*/
package org.apache.droids.wicket.component;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
import org.apache.droids.api.Droid;
+import org.apache.droids.api.Task;
import org.apache.droids.api.TaskMaster;
import org.apache.droids.api.TaskQueue;
+import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
+import org.apache.wicket.util.lang.Bytes;
+import org.apache.wicket.util.time.Duration;
public class DroidPanel extends Panel
{
+ static final SimpleDateFormat timeFormat = new SimpleDateFormat( "HH:mm:ss" );
+
@SpringBean( name="droid" )
Droid droid;
@@ -37,8 +48,76 @@
public DroidPanel(String id) {
super(id);
+ this.setOutputMarkupId( true );
+ this.setVersioned( false );
+
+ // SHOW INFO
+ this.add( new Label( "currentTime", new AbstractReadOnlyModel<String>() {
+ @Override
+ public String getObject() {
+ return timeFormat.format( new Date() );
+ }
+ }));
+
+ this.add( new Label( "startedTime", new AbstractReadOnlyModel<String>() {
+ @Override
+ public String getObject() {
+ Date d = droid.getTaskMaster().getStartTime();
+ return (d==null)?"" : timeFormat.format( d );
+ }
+ }));
+
+ this.add( new Label( "finishedTime", new AbstractReadOnlyModel<String>() {
+ @Override
+ public String getObject() {
+ Date d = droid.getTaskMaster().getFinishedWorking();
+ return (d==null)?"" : timeFormat.format( d );
+ }
+ }));
+
+ this.add( new Label( "completedTasks", new AbstractReadOnlyModel<Integer>() {
+ @Override
+ public Integer getObject() {
+ return droid.getTaskMaster().getCompletedTasks();
+ }
+ }));
+
+ this.add( new Label( "lastTask", new AbstractReadOnlyModel<String>() {
+ @Override
+ public String getObject() {
+ Task task = droid.getTaskMaster().getLastCompletedTask();
+ return (task==null)?"" : task.getId();
+ }
+ }));
+
+ this.add( new Label( "memory", new AbstractReadOnlyModel<CharSequence>() {
+ @Override
+ public CharSequence getObject() {
+ Runtime runtime = Runtime.getRuntime();
+ Bytes total = Bytes.bytes( runtime.totalMemory() );
+ Bytes free = Bytes.bytes( runtime.freeMemory() );
+ Bytes max = Bytes.bytes( runtime.maxMemory() );
+ Bytes used = Bytes.bytes( total.bytes()-free.bytes() );
+ int per = (int)((used.bytes()/(float)max.bytes())*100.0f);
+
+ return used + "("+total+")/" +max + " (%"+per+")";
+ }
+ }));
+
+
+
add( new Label( "droid", droid.toString() ) );
add( new Label( "queue", taskQueue.toString() ) );
add( new Label( "taskMaster", taskMaster.toString() ) );
+
+ // Refresh the view every second...
+ add(new AbstractAjaxTimerBehavior(Duration.seconds(1))
+ {
+ @Override
+ protected void onTimer(AjaxRequestTarget target)
+ {
+ target.addComponent(DroidPanel.this);
+ }
+ });
}
}
Copied: labs/droids/branch/LABS-144/depot/wicket/src/test/org/apache/droids/wicket/app/StartDroidsApp.java (from r705435, labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/StartDroidsApp.java)
URL: http://svn.apache.org/viewvc/labs/droids/branch/LABS-144/depot/wicket/src/test/org/apache/droids/wicket/app/StartDroidsApp.java?p2=labs/droids/branch/LABS-144/depot/wicket/src/test/org/apache/droids/wicket/app/StartDroidsApp.java&p1=labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/StartDroidsApp.java&r1=705435&r2=708338&rev=708338&view=diff
==============================================================================
--- labs/droids/branch/LABS-144/depot/wicket/src/java/org/apache/droids/wicket/app/StartDroidsApp.java (original)
+++ labs/droids/branch/LABS-144/depot/wicket/src/test/org/apache/droids/wicket/app/StartDroidsApp.java Mon Oct 27 14:50:59 2008
@@ -23,27 +23,27 @@
public class StartDroidsApp
{
- public static void main(String[] args)
- {
- Server server = new Server();
- SelectChannelConnector connector = new SelectChannelConnector();
- connector.setPort(7233);
- server.setConnectors(new Connector[] { connector });
+ public static void main(String[] args)
+ {
+ Server server = new Server();
+ SelectChannelConnector connector = new SelectChannelConnector();
+ connector.setPort(7233);
+ server.setConnectors(new Connector[] { connector });
- WebAppContext web = new WebAppContext();
- web.setContextPath("/");
- web.setWar("src/webapp");
- server.addHandler(web);
+ WebAppContext web = new WebAppContext();
+ web.setContextPath("/");
+ web.setWar("src/webapp");
+ server.addHandler(web);
- try
- {
- server.start();
- server.join();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- System.exit(100);
- }
- }
+ try
+ {
+ server.start();
+ server.join();
+ }
+ catch (Throwable e)
+ {
+ e.printStackTrace();
+ System.exit(100);
+ }
+ }
}
Propchange: labs/droids/branch/LABS-144/depot/wicket/src/test/org/apache/droids/wicket/app/StartDroidsApp.java
------------------------------------------------------------------------------
svn:mergeinfo =
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org