⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boolean_field.java

📁 java 写的一个新闻发布系统
💻 JAVA
字号:
////                                   ____.//                       __/\ ______|    |__/\.     _______//            __   .____|    |       \   |    +----+       \//    _______|  /--|    |    |    -   \  _    |    :    -   \_________//   \\______: :---|    :    :           |    :    |         \________>//           |__\---\_____________:______:    :____|____:_____\//                                      /_____|////                 . . . i n   j a h i a   w e   t r u s t . . .//////  Boolean_Field//  YG 08.08.2001////  handleField( mode, jParams )//package org.jahia.engines.shared;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import org.jahia.exceptions.*;                  // JahiaExceptionimport org.jahia.utils.*;                       // JahiaConsoleimport org.jahia.data.*;                        // JahiaData, ConnectionTypesimport org.jahia.params.*;                      // ParamBeanimport org.jahia.engines.*;                     // JahiaEngine interfaceimport org.jahia.data.fields.*;                 // JahiaField, FieldTypesimport org.jahia.registries.*;                  // ServicesRegistryimport org.jahia.data.containers.*;import org.jahia.services.acl.*;public class Boolean_Field{    private static          Boolean_Field theObject   = null;    private static final    String          JSP_FILE    = "/jsp/jahia/engines/shared/boolean_field.jsp";    public  static final    String  READONLY_JSP  		= "/jsp/jahia/engines/shared/readonly_boolean_field.jsp";    /***        * getInstance        * AK    19.12.2000        *        */    public static synchronized Boolean_Field getInstance()    {        if (theObject == null) {            theObject = new Boolean_Field();        }        return theObject;    } // end getInstance    /***        * handles the field actions        *        * @param        jParams             a ParamBean object        * @param        mode                the mode, according to JahiaEngine        * @return       true if everything went okay, false if not        * @see          org.jahia.engines.JahiaEngine        *        */    public boolean handleField( ParamBean jParams, Integer modeInt, HashMap engineMap )    throws JahiaException    {        int mode = modeInt.intValue();        JahiaField theField = (JahiaField) engineMap.get( "theField" );        if (engineMap.get(theField.getDefinition().getName() + "_rawData") == null) {            theField.setValue( theField.getRawValue() );            engineMap.put(theField.getDefinition().getName() + "_rawData", Boolean.TRUE );        }        switch (mode)        {            case (JahiaEngine.LOAD_MODE)            :   return composeEngineMap( jParams, engineMap, theField );            case (JahiaEngine.UPDATE_MODE)          :   return getFormData( jParams, engineMap, theField );            case (JahiaEngine.SAVE_MODE)            :   return saveData( jParams, engineMap, theField );        }        return false;    } // end handleField    /***        * gets POST data from the form and saves it in session        *        * @param        jParams             a ParamBean object        * @param        engineMap           the engine hashmap        * @param        theField            the field we are working on        * @return       true if everything went okay, false if not        *        */    private boolean getFormData( ParamBean jParams, HashMap engineMap, JahiaField theField )    throws JahiaException    {        boolean out             = true;        String fieldValue       = jParams.getRequest().getParameter( "_" + new Integer(theField.getID()).toString() );        String engineParams     = jParams.getRequest().getParameter( "engine_params" );        fieldValue = JahiaTools.replacePattern(fieldValue,"|","|");        EngineParams eParams    = new EngineParams( engineParams );        String localSwitch      = eParams.getParameter( "localswitch" );        String dataSourceUrl    = eParams.getParameter( "dsurl" );        if (dataSourceUrl != null) {            theField.setValue( dataSourceUrl );            theField.setConnectType( ConnectionTypes.DATASOURCE );        } else if (localSwitch != null) {            theField.setValue( theField.getDefinition().getDefaultValue( jParams.getPage().getPageTemplateID() ) );            theField.setConnectType( ConnectionTypes.LOCAL );        } else if (fieldValue != null) {            if (FormDataManager.getInstance().checkIntegrity(fieldValue)) {                theField.setValue( FormDataManager.getInstance().encode( fieldValue ) );            } else {                theField.setValue( fieldValue );                out = false;            }        }        return out;    } // end getFormData    /***        * saves data in datasource        *        * @param        jParams             a ParamBean object        * @param        engineMap           the engine hashmap        * @param        theField            the field we are working on        * @return       true if everything went okay, false if not        *        */    private boolean saveData( ParamBean jParams, HashMap engineMap, JahiaField theField )    throws JahiaException    {        JahiaConsole.println("Boolean_Field.saveData","Saving Field " + theField.getDefinition().getName() + " : " + theField.getValue() );        theField.setValue( FormDataManager.getInstance().encode( theField.getValue() ) );        // 0 for parentAclID in saveField, because field already exists        //  -> field already has an aclID        //  -> no need to create a new one        ServicesRegistry.getInstance().getJahiaFieldService().saveField( theField, 0, jParams );        return true;    } // end saveData    /***        * composes engine hash map        *        * @param        jParams             a ParamBean object        * @param        engineMap           the engine hashmap        * @param        theField            the field we are working on        * @return       true if everything went okay, false if not        *        */    private boolean composeEngineMap( ParamBean jParams, HashMap engineMap, JahiaField theField )    throws JahiaException    {        boolean editable = false;        JahiaContainer theContainer = (JahiaContainer)engineMap.get("theContainer");        if ( theContainer == null ){            // in case of a field , not a field in a container            editable = true;        } else if ( theContainer.getListID()!=0 ){            JahiaBaseACL acl = JahiaEngineTools.getCtnListFieldACL((HashMap)engineMap.get("ctnListFieldAcls"), theField.getID());            if ( acl != null ){                editable = acl.getPermission(jParams.getUser(),JahiaBaseACL.WRITE_RIGHTS, jParams.getSiteID());            }        } else {            editable = true;        }        String output = "";        if ( editable ){            String localSwitchUrl = "ReloadEngine('localswitch" + EngineParams.VALUE_TOKEN + "yes')";            engineMap.put( "localSwitchUrl", localSwitchUrl );            String dataSourceConnectUrl = "";            JahiaEngine dsEngine = (JahiaEngine) EnginesRegistry.getInstance().getEngine( "selectdatasource" );            dataSourceConnectUrl = dsEngine.renderLink( jParams, theField );            engineMap.put( "dataSourceConnectUrl", dataSourceConnectUrl );            String dataSourceIDUrl = "";            dsEngine = (JahiaEngine) EnginesRegistry.getInstance().getEngine( "viewdatasourceid" );            dataSourceIDUrl = dsEngine.renderLink( jParams, theField );            engineMap.put( "dataSourceIDUrl", dataSourceIDUrl );            theField.setValue( FormDataManager.getInstance().formDecode(theField.getValue()) );            output = ServicesRegistry.getInstance().getJahiaFetcherService().fetchServlet( jParams, JSP_FILE );        } else {            output = ServicesRegistry.getInstance().getJahiaFetcherService().fetchServlet( jParams, READONLY_JSP );        }        engineMap.put( "fieldForm", output );        return true;    } // end composeEngineMap} // end SmallText_Field

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -