Author: michiel
Date: 2010-01-22 17:19:07 +0100 (Fri, 22 Jan 2010)
New Revision: 40702

Added:
   speeltuin/mihxil/portal/src/main/java/
   speeltuin/mihxil/portal/src/main/java/org/
   speeltuin/mihxil/portal/src/main/java/org/mmbase/
   speeltuin/mihxil/portal/src/main/java/org/mmbase/portal/
   speeltuin/mihxil/portal/src/main/java/org/mmbase/portal/PageCloner.java
Modified:
   speeltuin/mihxil/portal/pom.xml
   speeltuin/mihxil/portal/src/main/config/builders/portal/pages.xml
   speeltuin/mihxil/portal/src/main/webapp/mmbase/portal/portal.js.jsp
   speeltuin/mihxil/portal/test-webapp/pom.xml
   speeltuin/mihxil/portal/test-webapp/src/main/webapp/index.jspx
Log:
clone functionality

Modified: speeltuin/mihxil/portal/pom.xml
===================================================================
--- speeltuin/mihxil/portal/pom.xml     2010-01-22 14:44:01 UTC (rev 40701)
+++ speeltuin/mihxil/portal/pom.xml     2010-01-22 16:19:07 UTC (rev 40702)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.mmbase</groupId>
     <artifactId>mmbase-application-parent</artifactId>
-    <version>1.9-SNAPSHOT</version>
+    <version>2.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>mmbase-portal</artifactId>

Modified: speeltuin/mihxil/portal/src/main/config/builders/portal/pages.xml
===================================================================
--- speeltuin/mihxil/portal/src/main/config/builders/portal/pages.xml   
2010-01-22 14:44:01 UTC (rev 40701)
+++ speeltuin/mihxil/portal/src/main/config/builders/portal/pages.xml   
2010-01-22 16:19:07 UTC (rev 40702)
@@ -204,7 +204,7 @@
       </datatype>
     </field>
 
-    <field name="created" readonly="true">
+    <field name="created" readonly="true" state="system">
       <descriptions>
         <description xml:lang="en">Creation date of this item</description>
         <description xml:lang="nl">Creatiedatum van het item</description>
@@ -224,8 +224,8 @@
       </datatype>
     </field>
 
-    <field name="creator" readonly="true">
-      <descriptions>
+    <field name="creator" readonly="true" state="system">
+      <descriptions>s
         <description xml:lang="en">User that created this item</description>
         <description xml:lang="nl">De gebruiker die dit item 
aanmaakte</description>
       </descriptions>
@@ -242,7 +242,7 @@
       <datatype base="creator" xmlns="http://www.mmbase.org/xmlns/datatypes"; />
     </field>
 
-    <field name="lastmodified" readonly="true">
+    <field name="lastmodified" readonly="true" state="system">
       <descriptions>
         <description xml:lang="en">Date and time the item was last 
modified</description>
         <description xml:lang="nl">Datum en tijd waarop het item het laatst 
werd gewijzigd</description>
@@ -261,7 +261,7 @@
       <datatype base="lastmodified" 
xmlns="http://www.mmbase.org/xmlns/datatypes"; />
     </field>
 
-    <field name="lastmodifier" readonly="true">
+    <field name="lastmodifier" readonly="true" state="system">
       <descriptions>
         <description xml:lang="en">Username of the person who last modified 
this item</description>
         <description xml:lang="nl">Inlognaam van de gebruiker die het item het 
laatst heeft veranderd</description>
@@ -278,9 +278,15 @@
       </editor>
       <datatype base="lastmodifier" 
xmlns="http://www.mmbase.org/xmlns/datatypes"; />
     </field>
+    <!-- /END CODE DUPLICATION -->
 
   </fieldlist>
   <!--
   <xi:include 
href="http://www.mmbase.org/builders/mmsite/content.meta.fields.xml"; />
   -->
+  <functionlist>
+    <function>
+      <class>org.mmbase.portal.PageCloner</class>
+    </function>
+  </functionlist>
 </builder>

Added: speeltuin/mihxil/portal/src/main/java/org/mmbase/portal/PageCloner.java
===================================================================
--- speeltuin/mihxil/portal/src/main/java/org/mmbase/portal/PageCloner.java     
                        (rev 0)
+++ speeltuin/mihxil/portal/src/main/java/org/mmbase/portal/PageCloner.java     
2010-01-22 16:19:07 UTC (rev 40702)
@@ -0,0 +1,27 @@
+package org.mmbase.portal;
+
+import org.mmbase.util.functions.*;
+import org.mmbase.bridge.util.*;
+import org.mmbase.bridge.*;
+import java.util.*;
+
+/**
+ * @author Michiel Meeuwissen
+ */
+
+public class PageCloner extends NodeFunction {
+
+    public PageCloner() {
+        super("clone", new Parameter[] {}, ReturnType.NODE);
+    }
+
+    protected Node  getFunctionValue(Node node, Parameters parameters) {
+        Node newNode = CloneUtil.cloneNodeWithRelations(node);
+        long duration = node.getDateValue("offline").getTime() - 
node.getDateValue("online").getTime();
+        newNode.setDateValue("online", node.getDateValue("offline"));
+        newNode.setDateValue("offline", new 
Date(node.getDateValue("offline").getTime() + duration));
+        newNode.commit();
+        return newNode;
+    }
+}
+

Modified: speeltuin/mihxil/portal/src/main/webapp/mmbase/portal/portal.js.jsp
===================================================================
--- speeltuin/mihxil/portal/src/main/webapp/mmbase/portal/portal.js.jsp 
2010-01-22 14:44:01 UTC (rev 40701)
+++ speeltuin/mihxil/portal/src/main/webapp/mmbase/portal/portal.js.jsp 
2010-01-22 16:19:07 UTC (rev 40702)
@@ -1,7 +1,8 @@
 // -*- mode: javascript; -*-
-<%...@page contentType="text/javascript; charset=UTF-8" %><%...@taglib 
uri="http://www.mmbase.org/mmbase-taglib-2.0"; prefix="mm"%>
-<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
-<mm:content type="text/javascript" language="${param.language}">
+<%...@page contentType="text/javascript; charset=UTF-8"
+%><%...@taglib uri="http://www.mmbase.org/mmbase-taglib-2.0"; prefix="mm"
+%><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt";
+%><mm:content type="text/javascript" language="${param.language}">
 <fmt:bundle basename="org.mmbase.portal.portal">
 $.ui.dialog.defaults.bgiframe = true;
 function MMBasePortal(root) {

Modified: speeltuin/mihxil/portal/test-webapp/pom.xml
===================================================================
--- speeltuin/mihxil/portal/test-webapp/pom.xml 2010-01-22 14:44:01 UTC (rev 
40701)
+++ speeltuin/mihxil/portal/test-webapp/pom.xml 2010-01-22 16:19:07 UTC (rev 
40702)
@@ -6,13 +6,13 @@
   <parent>
     <groupId>org.mmbase</groupId>
     <artifactId>mmbase-parent</artifactId>
-    <version>1.9-SNAPSHOT</version>
+    <version>2.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>portal-testapp</artifactId>
   <packaging>war</packaging>
   <name>MMBase Example webapp</name>
-  <version>${base.version}</version>
+  <version>${mmbase.version}</version>
 
   <properties>
     <my.postfix>${mmbase.version.postfix}</my.postfix>
@@ -78,7 +78,7 @@
     <dependency>
       <groupId>org.mmbase</groupId>
       <artifactId>base-webapp</artifactId>
-      <version>${base.version}</version>
+      <version>${mmbase.version}</version>
       <type>war</type>
     </dependency>
 
@@ -145,21 +145,5 @@
 
   </dependencies>
 
-  <profiles>
-    <profile>
-      <id>servlet25</id>
-      <activation>
-        <property>
-          <name>servlet.version</name>
-          <value>2.5</value>
-        </property>
-      </activation>
-      <properties>
-        <my.postfix>-${my.version}</my.postfix>
-        
<base.version>${mmbase.version.number}-servlet25${mmbase.version.postfix}</base.version>
-      </properties>
-    </profile>
-  </profiles>
-
 </project>
 

Modified: speeltuin/mihxil/portal/test-webapp/src/main/webapp/index.jspx
===================================================================
--- speeltuin/mihxil/portal/test-webapp/src/main/webapp/index.jspx      
2010-01-22 14:44:01 UTC (rev 40701)
+++ speeltuin/mihxil/portal/test-webapp/src/main/webapp/index.jspx      
2010-01-22 16:19:07 UTC (rev 40702)
@@ -1,11 +1,12 @@
 <mm:content
     xmlns:jsp="http://java.sun.com/JSP/Page";
     xmlns:mm-sr="http://www.mmbase.org/tags/mm/searchrelate";
+    xmlns:mm-srt="urn:jsptagdir:/WEB-INF/tags/mm/searchrelate"
     xmlns:mm="http://www.mmbase.org/mmbase-taglib-2.0";
     expires="0" type="application/xhtml+xml"
     language="client" postprocessor="none">
 
-  <mm:cloud>
+  <mm:cloud rank="basic user">
     <html xmlns="http://www.w3.org/1999/xhtml"; 
xml:lang="${requestScope['javax.servlet.jsp.jstl.fmt.locale.request']}">
 
       <head>
@@ -14,9 +15,41 @@
         </mm:link>
       </head>
       <body class="home">
+        <mm:import externid="clone" />
+        <mm:present referid="clone">
+          <mm:node number="${clone}">
+            <mm:nodefunction id="newnode" name="clone" />
+          </mm:node>
+          <p>Created node ${newnode}</p>
+        </mm:present>
 
-        <mm-sr:search type="pages" create="true" />
 
+        <table>
+          <mm:listnodes type="pages">
+            <tr>
+              <td>
+                <mm:link page="page.jspx" referids="_n...@node">
+                  <a href="${_}">
+                    <mm:nodeinfo type="gui" />
+                  </a>
+                </mm:link>
+              </td>
+              <td>
+                <mm:field name="online"><mm:fieldinfo type="guivalue" 
/></mm:field>
+              </td>
+              <td>
+                <mm:field name="offline"><mm:fieldinfo type="guivalue" 
/></mm:field>
+              </td>
+              <td>
+                <mm:link referids="_n...@clone">
+                  <a href="${_}">Clone</a>
+                </mm:link>
+              </td>
+            </tr>
+          </mm:listnodes>
+        </table>
+        <mm-srt:search type="pages" create="true" />
+
         <mm:link page="/page.jspx" id="page" write="false" />
         <script type="text/javascript">
           $(document).bind("mmsrRelate", function (e, tr, relater) {

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to