ugo 2003/08/07 15:11:03
Modified: src/blocks/linotype/samples sitemap.xmap flow.js
src/blocks/linotype/java/org/apache/cocoon/components
Repository.java
Log:
Ported Linotype to the FOM.
Revision Changes Path
1.4 +3 -1 cocoon-2.1/src/blocks/linotype/samples/sitemap.xmap
Index: sitemap.xmap
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/linotype/samples/sitemap.xmap,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- sitemap.xmap 29 Jul 2003 03:15:46 -0000 1.3
+++ sitemap.xmap 7 Aug 2003 22:11:03 -0000 1.4
@@ -146,7 +146,7 @@
<!-- ========================== Flowscript ================================= -->
- <map:flow language="JavaScript">
+ <map:flow language="javascript">
<map:script src="flow.js"/>
</map:flow>
@@ -300,6 +300,7 @@
<map:match pattern="private/edit/news/*/*">
<map:call function="main">
<map:parameter name="page" value="edit"/>
+ <map:parameter name="root" value="{realpath:/}"/>
<map:parameter name="id" value="{1}"/>
<map:parameter name="type" value="news"/>
<map:parameter name="subpage" value="{2}"/>
@@ -309,6 +310,7 @@
<map:match pattern="private/**">
<map:call function="main">
<map:parameter name="page" value="{1}"/>
+ <map:parameter name="root" value="{realpath:/}"/>
</map:call>
</map:match>
1.8 +22 -17 cocoon-2.1/src/blocks/linotype/samples/flow.js
Index: flow.js
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/linotype/samples/flow.js,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- flow.js 7 Aug 2003 08:41:44 -0000 1.7
+++ flow.js 7 Aug 2003 22:11:03 -0000 1.8
@@ -11,22 +11,22 @@
* Yeah, I know that hardwiring those is hacky as hell. But I'll try to
* fix this with link translation later on.
*/
-var home = cocoon.context.getRealPath("/") + "samples/linotype/";
-var stream = new java.io.FileInputStream(home + "linotype.users.properties");
-var users = new
Packages.org.apache.cocoon.components.UserManager.getInstance(stream);
var repo = new Packages.org.apache.cocoon.components.Repository.getInstance();
+var users;
+var home;
var userid = "";
var username = "";
/*
* Main entry point for the flow. This is where user authorization takes place.
*/
-function main(action) {
- var args = new Array(arguments.length - 1);
- for (var i = 1; i < arguments.length; i++) {
- args[i-1] = arguments[i];
+function main(action, root) {
+ home = root + "samples/linotype/";
+ var args = new Array(arguments.length - 2);
+ for (var i = 2; i < arguments.length; i++) {
+ args[i-2] = arguments[i];
}
if ((userid == undefined) || (userid == "")) {
@@ -46,10 +46,15 @@
var passError = "";
while (true) {
- sendPageAndWait("screen/login", { username : name, userError : userError,
passError : passError});
+ cocoon.sendPageAndWait("screen/login", { username : name, userError :
userError, passError : passError});
name = cocoon.request.getParameter("username");
password = cocoon.request.getParameter("password");
+
+ if (users == undefined) {
+ var stream = new java.io.FileInputStream(home +
"linotype.users.properties");
+ users = new
Packages.org.apache.cocoon.components.UserManager.getInstance(stream);
+ }
if (users.isValidName(name)) {
if (users.isValidPassword(name,password)) {
@@ -66,7 +71,7 @@
}
}
- cocoon.createSession();
+ // cocoon.createSession();
}
/*
@@ -81,7 +86,7 @@
if (func != undefined) {
func.apply(this,args);
} else {
- sendPage("screen/" + action, {"user" : username});
+ cocoon.sendPage("screen/" + action, {"user" : username});
}
}
@@ -93,7 +98,7 @@
*/
function logout() {
userid = "";
- sendPage("screen/logout");
+ cocoon.sendPage("screen/logout");
}
/*
@@ -105,15 +110,15 @@
if (id == "template") {
id = repo.getID(repository);
repo.copy(repository + "template", repository + id);
- redirect("../" + id + "/");
+ cocoon.redirectTo("../" + id + "/");
} else if ((subpage != undefined) && (subpage != "")) {
- sendPage("edit/" + type + "/" + id + "/" + subpage,{});
+ cocoon.sendPage("edit/" + type + "/" + id + "/" + subpage,{});
} else {
var document = repository + id;
while (true) {
var versions = repo.getVersions(document);
- sendPageAndWait("edit/" + type + "/" + id + "/", {
+ cocoon.sendPageAndWait("edit/" + type + "/" + id + "/", {
userid : userid,
username : username,
versions : versions,
@@ -128,14 +133,14 @@
repo.revertFrom(document,version);
} else {
var output = repo.getOutputStream(document);
- process("samples/linotype/action/save-" + type,{},output);
+ cocoon.processPipelineTo("/samples/linotype/action/save-" +
type,{},output);
output.close();
- repo.save(cocoon.request, document);
+ repo.fomSave(cocoon, document);
if (action == "finish") break;
}
}
- redirect("../../../" + type);
+ cocoon.redirectTo("../../../" + type);
}
}
1.2 +5 -0
cocoon-2.1/src/blocks/linotype/java/org/apache/cocoon/components/Repository.java
Index: Repository.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/blocks/linotype/java/org/apache/cocoon/components/Repository.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Repository.java 17 Jun 2003 01:32:45 -0000 1.1
+++ Repository.java 7 Aug 2003 22:11:03 -0000 1.2
@@ -59,6 +59,7 @@
import java.util.ArrayList;
import java.util.Enumeration;
+import org.apache.cocoon.components.flow.javascript.fom.FOM_Cocoon;
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.servlet.multipart.Part;
@@ -112,6 +113,10 @@
}
}
}
+
+ public static void fomSave(FOM_Cocoon cocoon, String dirName) throws Exception
{
+ save(cocoon.getRequest(), dirName);
+ }
public static void save(Request request, String param, String file) throws
Exception {
Part part = (Part) request.get(param);