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);
  
  
  

Reply via email to