Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.opencms.launcher
Class CmsLinkLauncher  view CmsLinkLauncher download CmsLinkLauncher.java

java.lang.Object
  extended bycom.opencms.launcher.A_CmsLauncher
      extended bycom.opencms.launcher.CmsLinkLauncher
All Implemented Interfaces:
com.opencms.core.I_CmsConstants, I_CmsLauncher, com.opencms.boot.I_CmsLogChannels

public class CmsLinkLauncher
extends A_CmsLauncher

OpenCms launcher class for starting template classes implementing the I_CmsDumpTemplate interface. This can be used for plain text files or files containing graphics.

If no other start template class is given, CmsDumpTemplate will be used to create output.

Version:
$Revision: 1.16 $ $Date: 2003/01/20 23:59:23 $

Field Summary
private static java.lang.String C_EXPORTED_LINKHTML_01
          The html-code for returning the export file for external links
private static java.lang.String C_EXPORTED_LINKHTML_02
           
private  com.opencms.core.A_OpenCms m_openCms
          The currently running OpenCms instance.
protected static I_CmsTemplateCache m_templateCache
          The template cache that holds all cached templates
 
Fields inherited from interface com.opencms.launcher.I_CmsLauncher
C_TYPE_DUMP, C_TYPE_JAVASCRIPT, C_TYPE_JSP, C_TYPE_LINK, C_TYPE_PDF, C_TYPE_VELOCITY, C_TYPE_XML
 
Fields inherited from interface com.opencms.boot.I_CmsLogChannels
C_FLEX_CACHE, C_FLEX_LOADER, C_LOGGING, C_MODULE_CRITICAL, C_MODULE_DEBUG, C_MODULE_INFO, C_OPENCMS_CACHE, C_OPENCMS_CRITICAL, C_OPENCMS_CRONSCHEDULER, C_OPENCMS_DEBUG, C_OPENCMS_ELEMENTCACHE, C_OPENCMS_INFO, C_OPENCMS_INIT, C_OPENCMS_POOL, C_OPENCMS_STATICEXPORT, C_OPENCMS_STREAMING, C_PREPROCESSOR_IS_LOGGING
 
Fields inherited from interface com.opencms.core.I_CmsConstants
C_ACCESS_DEFAULT_FLAGS, C_ACCESS_GROUP, C_ACCESS_GROUP_READ, C_ACCESS_GROUP_VISIBLE, C_ACCESS_GROUP_WRITE, C_ACCESS_INTERNAL_READ, C_ACCESS_OWNER, C_ACCESS_OWNER_READ, C_ACCESS_OWNER_VISIBLE, C_ACCESS_OWNER_WRITE, C_ACCESS_PUBLIC, C_ACCESS_PUBLIC_READ, C_ACCESS_PUBLIC_VISIBLE, C_ACCESS_PUBLIC_WRITE, C_ACCESS_READ, C_ACCESS_VISIBLE, C_ACCESS_WRITE, C_ADDITIONAL_INFO_EXPLORERSETTINGS, C_ADDITIONAL_INFO_PREFERENCES, C_ADDITIONAL_INFO_STARTSETTINGS, C_ADDITIONAL_INFO_TASKSETTINGS, C_ADDITIONAL_INFO_TOWN, C_ADDITIONAL_INFO_ZIPCODE, C_AT_LEAST_ONCE, C_CLUSTERURL, C_CONFIGURATION_CACHE, C_CONFIGURATION_CLASS, C_CONFIGURATION_REGISTRY, C_CONFIGURATION_RESOURCEBROKER, C_COPYRIGHT, C_DEFAULT_SITE, C_DELETE_HISTORY, C_ENABLE_HISTORY, C_ERRPREFIX, C_ERRSPERATOR, C_EXPORT_TAG_ACCESS, C_EXPORT_TAG_ADDRESS, C_EXPORT_TAG_CREATOR, C_EXPORT_TAG_DATE, C_EXPORT_TAG_DEFAULTGROUP, C_EXPORT_TAG_DESCRIPTION, C_EXPORT_TAG_DESTINATION, C_EXPORT_TAG_EMAIL, C_EXPORT_TAG_EXPORT, C_EXPORT_TAG_FILE, C_EXPORT_TAG_FIRSTNAME, C_EXPORT_TAG_FLAGS, C_EXPORT_TAG_GROUP, C_EXPORT_TAG_GROUPDATA, C_EXPORT_TAG_GROUPNAME, C_EXPORT_TAG_INFO, C_EXPORT_TAG_LASTMODIFIED, C_EXPORT_TAG_LASTNAME, C_EXPORT_TAG_LAUNCHER_START_CLASS, C_EXPORT_TAG_MODULEXPORT, C_EXPORT_TAG_NAME, C_EXPORT_TAG_OC_VERSION, C_EXPORT_TAG_PARENTGROUP, C_EXPORT_TAG_PASSWORD, C_EXPORT_TAG_PROJECT, C_EXPORT_TAG_PROPERTIES, C_EXPORT_TAG_PROPERTY, C_EXPORT_TAG_RECOVERYPASSWORD, C_EXPORT_TAG_SECTION, C_EXPORT_TAG_SOURCE, C_EXPORT_TAG_TYPE, C_EXPORT_TAG_USER, C_EXPORT_TAG_USERDATA, C_EXPORT_TAG_USERGROUPDATA, C_EXPORT_TAG_USERGROUPS, C_EXPORT_TAG_USERINFO, C_EXPORT_TAG_VALUE, C_EXPORT_TAG_VERSION, C_EXPORT_VERSION, C_EXPORT_XMLFILENAME, C_EXPORTONLYFILES, C_EXPORTONLYUSERS, C_EXPORTPOINT, C_EXPORTPOINT_PATH, C_EXPORTUSERSFILES, C_FCONTENT, C_FELEMENT, C_FILE, C_FILECONTENT, C_FILES_IMPORTED, C_FLAG_DISABLED, C_FLAG_ENABLED, C_FLAG_GROUP_PROJECTCOWORKER, C_FLAG_GROUP_PROJECTMANAGER, C_FLAG_GROUP_ROLE, C_FOLDER, C_FOLDER_SEPARATOR, C_GROUP, C_GROUP_ADMIN, C_GROUP_GUEST, C_GROUP_PROJECTLEADER, C_GROUP_USERS, C_LINKCHECKTABLE_DATE, C_MAX_LENGTH_RESOURCE_NAME, C_MODULE_PROPERTY_ADDITIONAL_RESOURCES, C_MODULE_PROPERTY_ADDITIONAL_RESOURCES_SEPARATOR, C_MODUS_AUTO, C_MODUS_EXPORT, C_MODUS_EXTERN, C_MODUS_OFFLINE, C_MODUS_ONLINE, C_MOUNTPOINT_FILESYSTEM, C_MOUNTPOINT_MYSQL, C_NEVER, C_NO_FILES_IMPORTED, C_ORDER_AGENTUSER, C_ORDER_ENDTIME, C_ORDER_ID, C_ORDER_INITIATORUSER, C_ORDER_NAME, C_ORDER_ORIGINALUSER, C_ORDER_PERCENTAGE, C_ORDER_PRIORITY, C_ORDER_ROLE, C_ORDER_STARTTIME, C_ORDER_STATE, C_ORDER_TASKTYPE, C_ORDER_TIMEOUT, C_ORDER_WAKEUPTIME, C_PASSWORD_MINIMUMSIZE, C_PROJECT_ONLINE, C_PROJECT_ONLINE_ID, C_PROJECT_STATE_ARCHIVE, C_PROJECT_STATE_INVISIBLE, C_PROJECT_STATE_LOCKED, C_PROJECT_STATE_UNLOCKED, C_PROJECT_TYPE_INVISIBLE, C_PROJECT_TYPE_NORMAL, C_PROJECT_TYPE_TEMPORARY, C_PROPERTY_ACTIV, C_PROPERTY_CHANNELID, C_PROPERTY_CONTENT_ENCODING, C_PROPERTY_DEFAULT_FILE, C_PROPERTY_DESCRIPTION, C_PROPERTY_EXPORT, C_PROPERTY_EXPORTNAME, C_PROPERTY_KEYWORDS, C_PROPERTY_NAVPOS, C_PROPERTY_NAVTEXT, C_PROPERTY_RELATIVEROOT, C_PROPERTY_TEMPLATETYPE, C_PROPERTY_TITLE, C_PROPERTY_VISIBLE, C_PUBLISH_METHOD_LINK, C_REGISTRY_DESTINATION, C_REGISTRY_HISTORY, C_REGISTRY_KNOWNLAUNCHERS, C_REGISTRY_LAUNCHER, C_REGISTRY_SOURCE, C_REQUEST_CONSOLE, C_REQUEST_HTTP, C_RESPONSE_CONSOLE, C_RESPONSE_HTTP, C_ROOT, C_ROOT_TEMPLATE_NAME, C_ROOTNAME_COS, C_ROOTNAME_VFS, C_SESSION_ADMIN_POS, C_SESSION_BROADCASTMESSAGE, C_SESSION_CONTENT_ENCODING, C_SESSION_CURRENTGROUP, C_SESSION_DATA, C_SESSION_IS_DIRTY, C_SESSION_MESSAGEPENDING, C_SESSION_MODULE_VECTOR, C_SESSION_PROJECT, C_SESSION_THREAD_ERROR, C_SESSION_USERNAME, C_SORT_ASC, C_SORT_DESC, C_START_ACCESSFLAGS, C_START_DEFAULTGROUP, C_START_LANGUAGE, C_START_LOCKDIALOG, C_START_PROJECT, C_START_VIEW, C_STATE_CHANGED, C_STATE_DELETED, C_STATE_NEW, C_STATE_UNCHANGED, C_STATICEXPORT_PATH, C_STATICEXPORT_START, C_SYNCHRONISATION_PATH, C_SYNCHRONISATION_PROJECT, C_SYNCHRONISATION_RESOURCE, C_SYNCHRONISATION_RESOURCETAG, C_SYSTEMPROPERTY_CRONTABLE, C_SYSTEMPROPERTY_EXPORTPATH, C_SYSTEMPROPERTY_EXTENSIONS, C_SYSTEMPROPERTY_LINKCHECKTABLE, C_SYSTEMPROPERTY_MIMETYPES, C_SYSTEMPROPERTY_MOUNTPOINT, C_SYSTEMPROPERTY_RESOURCE_TYPE, C_TABLE_CHANNELID, C_TASK_FILTER, C_TASK_MESSAGES, C_TASK_MESSAGES_ACCEPTED, C_TASK_MESSAGES_COMPLETED, C_TASK_MESSAGES_FORWARDED, C_TASK_MESSAGES_MEMBERS, C_TASK_ORDER_BY_DATE, C_TASK_ORDER_BY_NAME, C_TASK_PRIORITY_HIGH, C_TASK_PRIORITY_LOW, C_TASK_PRIORITY_NORMAL, C_TASK_STATE_ENDED, C_TASK_STATE_HALTED, C_TASK_STATE_NOTENDED, C_TASK_STATE_PREPARE, C_TASK_STATE_START, C_TASK_STATE_STARTED, C_TASK_VIEW_ALL, C_TASKLOG_SYSTEM, C_TASKLOG_USER, C_TASKORDER_NONE, C_TASKORDER_STARTDATE, C_TASKORDER_TIMEOUT, C_TASKS_ACTIVE, C_TASKS_ALL, C_TASKS_DONE, C_TASKS_NEW, C_TASKS_OPEN, C_TASKSORDER_TASKNAME, C_TEMP_PREFIX, C_TFACCESS, C_TFGROUP, C_TFILEOBJ, C_TFILES, C_TFNAME, C_TFPROPERTYINFO, C_TFPROPERTYNAME, C_TFPROPERTYTYPE, C_TFPROPERTYVALUE, C_TFTYPE, C_TFTYPENAME, C_TFUSER, C_TGDESC, C_TGFLAG, C_TGNAME, C_TGPARENTGROUP, C_TGROUPOBJ, C_TGROUPS, C_TGROUPUSERS, C_TGUSER, C_TUADDINFO, C_TUDESC, C_TUDGROUP, C_TUDISABLED, C_TUEMAIL, C_TUFIRSTNAME, C_TUFLAG, C_TUGROUP, C_TUINFOKEY, C_TUINFOVALUE, C_TULOGIN, C_TUNAME, C_TUPASSWD, C_TUSERGROUPS, C_TUSEROBJ, C_TUSERS, C_TYPE_BODY_NAME, C_TYPE_COMPATIBLEPLAIN_NAME, C_TYPE_FOLDER, C_TYPE_FOLDER_NAME, C_TYPE_IMAGE_NAME, C_TYPE_LAST_INDEX, C_TYPE_PAGE_NAME, C_TYPE_PLAIN_NAME, C_UNKNOWN_ID, C_UNKNOWN_INT, C_UNKNOWN_LAUNCHER, C_UNKNOWN_LAUNCHER_ID, C_UNKNOWN_LONG, C_URL_PREFIX_EXPORT, C_URL_PREFIX_HTTP, C_URL_PREFIX_HTTPS, C_URL_PREFIX_SERVERNAME, C_USER, C_USER_ADMIN, C_USER_GUEST, C_USER_TYPE_SYSTEMANDWEBUSER, C_USER_TYPE_SYSTEMUSER, C_USER_TYPE_WEBUSER, C_WEB_APP_REPLACE_KEY, C_WEEKS_HISTORY, C_WHATEVER, C_XML_BODY_ELEMENT
 
Constructor Summary
CmsLinkLauncher()
           
 
Method Summary
protected  byte[] callCanonicalRoot(com.opencms.file.CmsObject cms, com.opencms.template.I_CmsTemplate templateClass, com.opencms.file.CmsFile masterTemplate, java.util.Hashtable parameters)
          Utility method used by the launcher implementation to give control to the CanonicalRoot.
 void clearCache()
          Method for clearing this launchers template cache.
static void clearLauncherCache(com.opencms.file.CmsObject cms)
          Clear the XML template cache that is maintained in the launcher.
protected  java.lang.String getClassName()
          Gets the name of the class in the form "[ClassName] " This can be used for error logging purposes.
 int getLauncherId()
          Gets the ID that indicates the type of the launcher.
static I_CmsTemplateCache getTemplateCache()
          Gets a reference to the global template cache
protected  com.opencms.template.I_CmsTemplate getTemplateClass(com.opencms.file.CmsObject cms, java.lang.String classname)
          Calls the CmsClassManager to get an instance of the given template class.
 void handleException(com.opencms.file.CmsObject cms, java.lang.Exception e, java.lang.String errorText)
          Utility method to handle any occurence of an execption.
 void initlaunch(com.opencms.file.CmsObject cms, com.opencms.file.CmsFile file, java.lang.String startTemplateClass, com.opencms.core.A_OpenCms openCms)
          Start method called by the OpenCms system to show a resource.
protected  void launch(com.opencms.file.CmsObject cms, com.opencms.file.CmsFile file, java.lang.String startTemplateClass, com.opencms.core.A_OpenCms openCms)
          Unitary method to start generating the output.
 void setOpenCms(com.opencms.core.A_OpenCms openCms)
          Sets the currently running OpenCms instance.
protected  void writeBytesToResponse(com.opencms.file.CmsObject cms, byte[] result)
          Writes a given byte array to the HttpServletRespose output stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_openCms

private com.opencms.core.A_OpenCms m_openCms
The currently running OpenCms instance.


C_EXPORTED_LINKHTML_01

private static java.lang.String C_EXPORTED_LINKHTML_01
The html-code for returning the export file for external links


C_EXPORTED_LINKHTML_02

private static java.lang.String C_EXPORTED_LINKHTML_02

m_templateCache

protected static I_CmsTemplateCache m_templateCache
The template cache that holds all cached templates

Constructor Detail

CmsLinkLauncher

public CmsLinkLauncher()
Method Detail

getLauncherId

public int getLauncherId()
Gets the ID that indicates the type of the launcher.

Specified by:
getLauncherId in interface I_CmsLauncher
Specified by:
getLauncherId in class A_CmsLauncher

launch

protected void launch(com.opencms.file.CmsObject cms,
                      com.opencms.file.CmsFile file,
                      java.lang.String startTemplateClass,
                      com.opencms.core.A_OpenCms openCms)
               throws com.opencms.core.CmsException
Unitary method to start generating the output. Every launcher has to implement this method. In it possibly the selected file will be analyzed, and the Canonical Root will be called with the appropriate template class, template file and parameters. At least the canonical root's output must be written to the HttpServletResponse.

Specified by:
launch in class A_CmsLauncher

setOpenCms

public void setOpenCms(com.opencms.core.A_OpenCms openCms)
Sets the currently running OpenCms instance.

Specified by:
setOpenCms in interface I_CmsLauncher
Overrides:
setOpenCms in class A_CmsLauncher

callCanonicalRoot

protected byte[] callCanonicalRoot(com.opencms.file.CmsObject cms,
                                   com.opencms.template.I_CmsTemplate templateClass,
                                   com.opencms.file.CmsFile masterTemplate,
                                   java.util.Hashtable parameters)
                            throws com.opencms.core.CmsException
Utility method used by the launcher implementation to give control to the CanonicalRoot. The CanonicalRoot will call the master template and return a byte array of the generated output.


clearCache

public void clearCache()
Method for clearing this launchers template cache.

Specified by:
clearCache in interface I_CmsLauncher

getClassName

protected java.lang.String getClassName()
Gets the name of the class in the form "[ClassName] " This can be used for error logging purposes.


getTemplateCache

public static I_CmsTemplateCache getTemplateCache()
Gets a reference to the global template cache


getTemplateClass

protected com.opencms.template.I_CmsTemplate getTemplateClass(com.opencms.file.CmsObject cms,
                                                              java.lang.String classname)
                                                       throws com.opencms.core.CmsException
Calls the CmsClassManager to get an instance of the given template class. The returned object is checked to be an implementing class of the interface I_CmsTemplate. If the template cache of the template class is not yet setted, this will be done, too.


handleException

public void handleException(com.opencms.file.CmsObject cms,
                            java.lang.Exception e,
                            java.lang.String errorText)
                     throws com.opencms.core.CmsException
Utility method to handle any occurence of an execption.

If the Exception is NO CmsException (i.e. it was not detected previously) it will be written to the logfile.

If the current user is the anonymous user, no further execption will be thrown, but a server error will be sent (we want to prevent the user from seeing any exeptions). Otherwise a new Exception will be thrown.


initlaunch

public void initlaunch(com.opencms.file.CmsObject cms,
                       com.opencms.file.CmsFile file,
                       java.lang.String startTemplateClass,
                       com.opencms.core.A_OpenCms openCms)
                throws com.opencms.core.CmsException
Start method called by the OpenCms system to show a resource.

In this method initial values valid for all launchers can be set and the _clearcache parameter is checked. After this the abstract method launch(...) is called to invoke the customized part of the launcher.

Specified by:
initlaunch in interface I_CmsLauncher

clearLauncherCache

public static void clearLauncherCache(com.opencms.file.CmsObject cms)
Clear the XML template cache that is maintained in the launcher. To use this method, call it on one of the classes that extend A_CmsLauncher (e.g. com.opencms.launcher.CmsXmlLauncher.clearLauncherCache()).


writeBytesToResponse

protected void writeBytesToResponse(com.opencms.file.CmsObject cms,
                                    byte[] result)
                             throws com.opencms.core.CmsException
Writes a given byte array to the HttpServletRespose output stream.