On 9/29/06, Yura Taras <[EMAIL PROTECTED]> wrote:
Hi, Lenya users.
I want to add custom doctype to my publication. Also I want to use my
own creator (instead of DefaultBranchCreator).
In sample blog publication there is such a feature:

public class NewBlogEntryCreator extends DefaultBranchCreator {

    protected void transformXML(Document doc, String childId, short childType,
          String childName, Map parameters) throws Exception {
// skip
        // Replace title
        du.setElementValue(doc, "/echo:entry/echo:title",
(String)parameters.get("title"));
 }
}

As you see, thay use parameters variable to get values entered into
input fields by user.
I want to do thms like that, but by default, parameters is EMPTY_MAP
and I don't know, in which part of code I should change parameters
variable... I can't recognize where do they do it in blog app.
Can anybody help me with that?

To be clear:

I have class NewMovieReviewCreator:

public class NewMovieReviewCreator extends DefaultBranchCreator

It has method transformXML:
        @Override
        protected void transformXML(Document doc, String childId, short 
childType,
                        String childName, Map parameters) throws Exception {
      String title = (String).get("properties.create.child-name"));
}

title is always null, but i want to assign it value of request
parameter properties.create.child-name

Thanks.


Can't anyone help me with it?? Maybe, I've described my question bad...
DocumentCreator calls NewBlogEntryCreator.create with empty"parameters" param:

           creator.create(
               new File(doctypesDirectory, "samples"),
               new File(authoringDirectory, parentId),
               childId,
               childType,
               childName,
               language,
               Collections.EMPTY_MAP);

NewBlogEntryCreator.create is inherited from DefaultCreator:
   public void create(
       File samplesDir,
       File parentDir,
       String childId,
       short childType,
       String childName,
       String language,
       Map parameters) {
...
       // transform the xml if needed
       log.debug("transform sample file: ");
       transformXML(doc, id, childType, childName, parameters);
...
}

And NewBlogEntryCreator.transformXML uses parameters as non-empty map:
       // Replace title
       du.setElementValue(doc, "/echo:entry/echo:title",
(String)parameters.get("title"));

I can't understand, where empty parameters map is replaced with
request parameters map but I need the same trick in my app.
Thanks.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to