📄 selectdatasource_engine.java
字号:
//// ____.// __/\ ______| |__/\. _______// __ .____| | \ | +----+ \// _______| /--| | | - \ _ | : - \_________// \\______: :---| : : | : | \________>// |__\---\_____________:______: :____|____:_____\// /_____|//// . . . i n j a h i a w e t r u s t . . .////// SelectDataSource_Engine// EV 03.12.2000//// getInstance()// authoriseRender()// renderLink()// needsJahiaData()// handleActions()//package org.jahia.engines.selectdatasource;import java.io.*; // PrintWriterimport java.util.*; // Enumerationimport java.net.*; // URLEncoderimport org.jahia.utils.*; // JahiaConsoleimport org.jahia.data.*; // JahiaDataimport org.jahia.data.fields.*; // JahiaFieldimport org.jahia.params.*; // ParamBeanimport org.jahia.engines.*; // JahiaEngine interface, EngineParamsimport org.jahia.exceptions.JahiaException;public class SelectDataSource_Engine implements JahiaEngine { private static SelectDataSource_Engine theObject = null; private String engineName = "selectdatasource"; /*** * constructor * EV 03.12.2000 * */ private SelectDataSource_Engine() { // JahiaConsole.println( "Engine", "***** Starting SelectDataSource Engine *****" ); } // end constructor /*** * getInstance * EV 03.12.2000 * */ public static synchronized SelectDataSource_Engine getInstance() { if (theObject == null) { theObject = new SelectDataSource_Engine(); } return theObject; } // end getInstance /*** * authoriseRender * EV 03.12.2000 * */ public boolean authoriseRender( ParamBean jParams ) { return (jParams.getOperationMode() == jParams.EDIT); } // end authoriseRender /*** * renderLink * EV 03.12.2000 * */ public String renderLink( ParamBean jParams, Object theObj ) throws JahiaException { JahiaField theField = (JahiaField) theObj; String params = "";// params += "&mode=displaywindow"; params += "?mode=displaywindow"; params += "&fid=" + theField.getID(); return jParams.composeEngineUrl( engineName, params ); } // end renderLink /*** * needsJahiaData * EV 03.12.2000 * */ public boolean needsJahiaData( ParamBean jParams ) { return false; } // end needsJahiaData /*** * handleActions * EV 03.12.2000 * */ public void handleActions( ParamBean jParams, JahiaData jData ) throws JahiaException { String mode = jParams.getRequest().getParameter( "mode" ); String ipAddr = jParams.getRequest().getRemoteAddr(); if (mode != null) { if (mode.equals("displaywindow")) { JahiaConsole.println( "SelectDataSource_Engine", ipAddr + " is displaying SelectDataSource Window" ); displayFormWindow( jParams ); } else if (mode.equals("processform")) { JahiaConsole.println( "SelectDataSource_Engine", ipAddr + " is processing SelectDataSource Form" ); processForm( jParams ); } } } // end handleAction /*** * displayFormWindow() * EV 03.12.2000 * */ public void displayFormWindow( ParamBean jParams ) throws JahiaException { String html = ""; String urlParams = ""; urlParams += "&mode=processform"; String theUrl = jParams.composeEngineUrl( engineName, urlParams ); html += "<center><table border=\"0\" width=\"90%\"><tr>\n"; html += "<td width=\"100%\" colspan=\"2\" bgcolor=\"#333333\">\n"; html += "<font face=\"arial\" size=\"2\">Please enter datasource id :</font>\n"; html += "</td></tr>\n"; html += "<tr><td width\"20%\" valign=\"top\"> </td>\n"; html += "<td width=\"80%\">"; html += "<form method=\"POST\" action=\"" + theUrl + "\">\n"; html += "<input type=\"text\" name=\"datasource_url\" size=\"20\" maxlenght=\"250\" value=\"http://\">"; html += "</form>\n"; html += "</td></tr></table>\n"; EngineRenderer.getInstance().render( jParams, engineName, html ); } // end displayFormWindow /*** * processForm() * EV 20.11.2000 * */ public void processForm( ParamBean jParams ) throws JahiaException { String dsUrl = ""; try { dsUrl = jParams.getRequest().getParameter( "datasource_url" ); PrintWriter out = jParams.getResponse().getWriter(); jParams.getResponse().setContentType( "text/html" ); out.println( "<center> Computing values... </center>" ); String encodedUrl = URLEncoder.encode( dsUrl ); out.println( "<script language=\"javascript\" src=\"" + jParams.settings().getJsHttpPath() + "\">" ); out.println( "</script>" ); out.println( "<script language=\"javascript\">" ); if (!dsUrl.equals("")) { out.println( " CloseJahiaWindow('&engine_params=dsurl" + EngineParams.VALUE_TOKEN + encodedUrl + "');" ); } else { out.println( " CloseJahiaWindow();" ); } out.println( "</script>" ); } catch (IOException ie) { String errorMsg = "Error while handling the SelectDataSource Window : " + ie.getMessage() + " -> BAILING OUT"; JahiaConsole.println( "SelectDataSource_Engine", errorMsg ); throw new JahiaException( "Error while handling a Jahia window's content", errorMsg, JahiaException.DATA_ERROR, JahiaException.CRITICAL ); } } // end processForm} // end SelectDataSource_Engine
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -