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