Package ag.kcmedia

Source Code of ag.kcmedia.DirectAction

//
// DirectAction.java
// Project ERD2WTemplate
//
// Created by ak on Sun Apr 21 2002
//
package ag.kcmedia;

import java.io.File;

import org.apache.log4j.Logger;

import ag.kcmedia.Jode.ClassProxy;

import com.webobjects.appserver.WOActionResults;
import com.webobjects.appserver.WOComponent;
import com.webobjects.appserver.WORequest;
import com.webobjects.directtoweb.ERD2WRuleEditorModel;
import com.webobjects.foundation.NSArray;

import er.extensions.appserver.ERXDirectAction;

public class DirectAction extends ERXDirectAction {
    static Logger log = Logger.getLogger(DirectAction.class);

    public DirectAction(WORequest aRequest) {
        super(aRequest);
    }

    ClassProxy selectedClass() {
        String className = context().request().stringFormValueForKey("className");
        if(className == null) {
            className = (String)valueForKeyPath("context.mutableUserInfo.className");
        }
        ClassProxy selectedClass = Jode.classProxyForName(className);
        return selectedClass;
    }

    public WOComponent methodsAction() {
        WOComponent nextPage = pageWithName("StringHolder");
        nextPage.takeValueForKey(selectedClass().methods() +"", "string");
        nextPage.takeValueForKey(Boolean.valueOf(true), "isDocumentation");

        return nextPage;
    }
    public WOComponent codeAction() {
        WOComponent nextPage = pageWithName("StringHolder");
        if(selectedClass() != null || true)
            nextPage.takeValueForKey(selectedClass().sourceCode(), "string");
        nextPage.takeValueForKey(Boolean.valueOf(false), "isDocumentation");
        return nextPage;
    }
    public WOComponent docsAction() {
        WOComponent nextPage = null;
        if(true) {
            nextPage = pageWithName("StringHolder");
            if(selectedClass() != null)
                nextPage.takeValueForKey(selectedClass().documentation(), "string");
            nextPage.takeValueForKey(Boolean.valueOf(true), "isDocumentation");
        } else {
            nextPage = pageWithName("WORedirect");
            if(selectedClass() != null)
                nextPage.takeValueForKey("file:///System" + selectedClass().documentationPath(), "URL");
        }
        return nextPage;
    }
   
    public WOActionResults defaultAction() {
        if(false) {
            WOComponent nextPage = pageWithName("JavaDocViewer");
            nextPage.takeValueForKey("com.webobjects.appserver.WOContext", "className");
            return nextPage;
        }
        return pageWithName("Main");
    }

    public WOComponent dumpRulesAction() {
        WOComponent nextPage = pageWithName("ERXStringHolder");
        String string = "Please a provide fileName parameter";
        String fileName = context().request().stringFormValueForKey("fileName");
        if(fileName != null) {
            ERD2WRuleEditorModel model = new ERD2WRuleEditorModel(new File(fileName));
            string = ((NSArray)model.publicRules().valueForKeyPath("description.@sort.toString")).componentsJoinedByString("\n");
        }
        nextPage.takeValueForKey(string, "value");
        nextPage.takeValueForKey(Boolean.FALSE, "escapeHTML");
        return nextPage;
    }

    public WOActionResults findAction() {
        JavaBrowser jb = (JavaBrowser)pageWithName("JavaBrowser");
        jb.setStringToFind(context().request().stringFormValueForKey("what"));
        return jb;
    }

    public WOActionResults performActionNamed(String name) {
        int dot = name.indexOf(".");
        if(dot > 0) {
            String action = name.substring(0,dot);
            String className = name.substring(dot+1);
            takeValueForKeyPath(className, "context.mutableUserInfo.className");
            name = action;
        }
        return super.performActionNamed(name);
    }
}
TOP

Related Classes of ag.kcmedia.DirectAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.