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&nbsp;Time:&nbsp;</td><td><span wicket:id="currentTime">[current time]</span></td></tr>
+<tr><td>Started&nbsp;Time:&nbsp;</td><td><span wicket:id="startedTime">[started time]</span></td></tr>
+<tr><td>Finished&nbsp;Time:&nbsp;</td><td><span wicket:id="finishedTime">[finishedTime]</span></td></tr>
+<tr><td>Completed&nbsp;Tasks:&nbsp;</td><td><span wicket:id="completedTasks">[completed tasks]</span></td></tr>
+<tr><td>Memory:&nbsp;</td><td><span wicket:id="memory">[completed tasks]</span></td></tr>
+<tr><td>Last&nbsp;Task:&nbsp;</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