com.hlcl.rql.as
Class PublishingJob

java.lang.Object
  extended by com.hlcl.rql.as.PublishingJob
All Implemented Interfaces:
CmsClientContainer, ProjectContainer

public class PublishingJob
extends java.lang.Object
implements ProjectContainer

Diese Klasse beschreibt einen manuell erstellen Publizierungsauftrag, einen laufenden und einen vordefinierten. TODO should use the State pattern and implement possible transitions between.

Author:
LEJAFR

Constructor Summary
PublishingJob(Page startPage, boolean withFollowingPages)
          constructor to start a publishing job
PublishingJob(Page startPage, boolean withFollowingPages, boolean withRelatedPages)
          constructor to start a publishing job with check in publication package of start page.
PublishingJob(Page startPage, boolean withFollowingPages, boolean withRelatedPages, boolean checkInPublicationPackage)
          constructor to start a publishing job with or without check in start pages's publication package.
PublishingJob(Project project, Page startPageOrNull, java.lang.String name, java.lang.String asyncQueueGuid, java.lang.String category, java.lang.String status, java.lang.String jobGuid, java.lang.String startedByUserName)
          Constructor for an existing (running) publishing job
PublishingJob(Project project, java.lang.String name, java.lang.String jobGuid)
          Constructor for a defined publishing job - not running.
 
Method Summary
 void addToPublish(ProjectVariant projectVariant, LanguageVariant languageVariant)
          Dieser Generierungsauftrag wird auch die gegebenen Projektvariante in der gegebenen Sprachvariante languageVariant generieren.
 void addToPublish(PublicationSetting publicationSetting)
          Bei diesem Generierungsauftrag wird auch die Sprachvariante languageVariant mitgeneriert.
 void addToPublish(java.lang.String projectVariantGuid, java.lang.String languageVariantGuid)
          Dieser Generierungsauftrag wird auch die gegebenen Projektvariante in der gegebenen Sprachvariante languageVariant generieren.
 void addToPublish(java.lang.String projectVariantGuid, java.lang.String languageVariantGuid, boolean checkThatLanguageVariantIsAccessible)
          Dieser Generierungsauftrag wird auch die gegebenen Projektvariante in der gegebenen Sprachvariante languageVariant generieren.
 void addToPublish(java.lang.String projectVariantGuids, java.lang.String separator, java.lang.String languageVariantGuid)
          Dieser Generierungsauftrag wird auch alle gegebenen Projektvarianten in der gegebenen Sprachvariante generieren.
 void addToPublishAllCombinations(java.util.List<ProjectVariant> projectVariants, java.util.List<LanguageVariant> languageVariants)
          Dieser Generierungsauftrag wird alle Kombinationen der gegebenen Projekt- und Sprachvarianten generieren.
 void addToPublishAllCombinations(java.lang.String projectVariantGuids, java.lang.String separator, java.lang.String languageVariantGuids)
          Dieser Generierungsauftrag wird alle Kombinationen der gegebenen Projekt- und Sprachvarianten generieren.
 RQLNode callCms(java.lang.String rqlRequest)
          Senden eine Anfrage an das CMS und liefert eine geparste Antwort zurueck.
 java.lang.String callCmsWithoutParsing(java.lang.String rqlRequest)
          Senden eine Anfrage an das CMS und liefert eine ungeparste Antwort zurueck.
 void cancel()
          Cancel this job.
 java.lang.String getAsyncQueueGuid()
           
 java.lang.String getCategory()
           
 CmsClient getCmsClient()
          Liefert den CmsClient.
 java.util.Set<java.lang.String> getLanguageVariantGuids()
          Liefert die Sprachvarianten GUIDs dieses Jobs zurück.
 java.util.Set<LanguageVariant> getLanguageVariants()
          Liefert die Sprachvarianten dieses Jobs zurück.
 java.lang.String getLogonGuid()
          Liefert die RedDot logon GUID des users unter dem das script läuft.
 User getMailReceiver()
          Liefert den User, der eine mail nach Ende des Jobs erhalten soll.
 java.lang.String getName()
          Liefert den Namen zurück.
 int getNumberOfPublishingMails()
          Liefert die Anzahl der gesendeten Mails - eine pro Kombination.
 Project getProject()
          Liefert das Project, zu dem dieser Folder gehoert.
 java.lang.String getProjectGuid()
          Liefert die RedDot GUID des Projekts.
 java.util.Set<ProjectVariant> getProjectVariants()
          Liefert die Projektvarianten dieses Jobs zurück.
 java.lang.String getPublishingJobGuid()
          Liefert die RedDot GUID dieses Generierungsauftrages.
 java.lang.String getSessionKey()
          Liefert den RedDot Session key.
 java.lang.String getStartedByUserName()
           
 Page getStartPage()
          Liefert die Startseite dieses Generierungsauftrages.
 java.lang.String getStatus()
           
 boolean hasStartPage()
          Liefert true, falls der existierende Job eine startseite im Namen (ID: ) hat und damit auch ein Objekt in startPage.
 boolean isActive()
          Liefert true, falls dieser vordefinierte Publizierungsauftrag gerade aktiv ist, sonst false.
 boolean isActive(boolean isActive)
          Liefert true, falls die Eigenschaft active dieses vordefinierten Publizierungsauftrages dem gegebenen Wert entspricht.
 void setIsActive(boolean isActive)
          Ändert die Eigenschaft active dieses vordefinierten Publishing jobs.
 void setMailReceiver(User user)
          Setzt den User, der nach Jobende eine Mail erhalten soll.
 void start()
          Started diesen Generierungsauftrag.
 void waitUntilFinished()
          Wartet, bis dieser Generierungsauftrag abgeschlossen ist.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PublishingJob

public PublishingJob(Page startPage,
                     boolean withFollowingPages)
              throws RQLException
constructor to start a publishing job

Throws:
RQLException

PublishingJob

public PublishingJob(Page startPage,
                     boolean withFollowingPages,
                     boolean withRelatedPages,
                     boolean checkInPublicationPackage)
              throws RQLException
constructor to start a publishing job with or without check in start pages's publication package.

Throws:
RQLException

PublishingJob

public PublishingJob(Page startPage,
                     boolean withFollowingPages,
                     boolean withRelatedPages)
              throws RQLException
constructor to start a publishing job with check in publication package of start page.

Throws:
RQLException

PublishingJob

public PublishingJob(Project project,
                     Page startPageOrNull,
                     java.lang.String name,
                     java.lang.String asyncQueueGuid,
                     java.lang.String category,
                     java.lang.String status,
                     java.lang.String jobGuid,
                     java.lang.String startedByUserName)
              throws RQLException
Constructor for an existing (running) publishing job

Throws:
RQLException

PublishingJob

public PublishingJob(Project project,
                     java.lang.String name,
                     java.lang.String jobGuid)
              throws RQLException
Constructor for a defined publishing job - not running.

Throws:
RQLException
Method Detail

addToPublish

public void addToPublish(ProjectVariant projectVariant,
                         LanguageVariant languageVariant)
                  throws RQLException
Dieser Generierungsauftrag wird auch die gegebenen Projektvariante in der gegebenen Sprachvariante languageVariant generieren.

Throws:
RQLException

addToPublish

public void addToPublish(PublicationSetting publicationSetting)
                  throws RQLException
Bei diesem Generierungsauftrag wird auch die Sprachvariante languageVariant mitgeneriert.

Throws:
RQLException

addToPublish

public void addToPublish(java.lang.String projectVariantGuid,
                         java.lang.String languageVariantGuid)
                  throws RQLException
Dieser Generierungsauftrag wird auch die gegebenen Projektvariante in der gegebenen Sprachvariante languageVariant generieren.

Throws:
RQLException

addToPublish

public void addToPublish(java.lang.String projectVariantGuid,
                         java.lang.String languageVariantGuid,
                         boolean checkThatLanguageVariantIsAccessible)
                  throws RQLException
Dieser Generierungsauftrag wird auch die gegebenen Projektvariante in der gegebenen Sprachvariante languageVariant generieren.

Parameters:
checkThatLanguageVariantIsAccessible - =true, the needs access to the given language variant in order to publish it

=false, don't check the language variant guid; user can publish it even without having access to it!

Throws:
RQLException

addToPublish

public void addToPublish(java.lang.String projectVariantGuids,
                         java.lang.String separator,
                         java.lang.String languageVariantGuid)
                  throws RQLException
Dieser Generierungsauftrag wird auch alle gegebenen Projektvarianten in der gegebenen Sprachvariante generieren.

Throws:
RQLException

addToPublishAllCombinations

public void addToPublishAllCombinations(java.lang.String projectVariantGuids,
                                        java.lang.String separator,
                                        java.lang.String languageVariantGuids)
                                 throws RQLException
Dieser Generierungsauftrag wird alle Kombinationen der gegebenen Projekt- und Sprachvarianten generieren.

Throws:
RQLException

addToPublishAllCombinations

public void addToPublishAllCombinations(java.util.List<ProjectVariant> projectVariants,
                                        java.util.List<LanguageVariant> languageVariants)
                                 throws RQLException
Dieser Generierungsauftrag wird alle Kombinationen der gegebenen Projekt- und Sprachvarianten generieren.

Throws:
RQLException

callCms

public RQLNode callCms(java.lang.String rqlRequest)
                throws RQLException
Senden eine Anfrage an das CMS und liefert eine geparste Antwort zurueck.

Specified by:
callCms in interface CmsClientContainer
Throws:
RQLException

callCmsWithoutParsing

public java.lang.String callCmsWithoutParsing(java.lang.String rqlRequest)
                                       throws RQLException
Senden eine Anfrage an das CMS und liefert eine ungeparste Antwort zurueck. Erforderlich für die Ermittlung des Werts eines Textelements.

Specified by:
callCmsWithoutParsing in interface CmsClientContainer
Throws:
RQLException

cancel

public void cancel()
            throws RQLException
Cancel this job.

Throws:
RQLException

getAsyncQueueGuid

public java.lang.String getAsyncQueueGuid()
Returns:
GUID of asynch queue

getCategory

public java.lang.String getCategory()
Returns:
job category

getStartedByUserName

public java.lang.String getStartedByUserName()
                                      throws RQLException
Returns:
the user's name starting this existing job.
Throws:
RQLException

getCmsClient

public CmsClient getCmsClient()
Liefert den CmsClient.

Specified by:
getCmsClient in interface CmsClientContainer

getLogonGuid

public java.lang.String getLogonGuid()
Liefert die RedDot logon GUID des users unter dem das script läuft. Dies ist nicht die des Users, falls er angemeldet ist!

Specified by:
getLogonGuid in interface CmsClientContainer
See Also:
getOwnLoginGuid

getMailReceiver

public User getMailReceiver()
Liefert den User, der eine mail nach Ende des Jobs erhalten soll. Ist null, falls keine Mail versandt werden soll.


getName

public java.lang.String getName()
Liefert den Namen zurück.


hasStartPage

public boolean hasStartPage()
Liefert true, falls der existierende Job eine startseite im Namen (ID: ) hat und damit auch ein Objekt in startPage.


getProject

public Project getProject()
Liefert das Project, zu dem dieser Folder gehoert.

Specified by:
getProject in interface ProjectContainer

getProjectGuid

public java.lang.String getProjectGuid()
                                throws RQLException
Liefert die RedDot GUID des Projekts.

Specified by:
getProjectGuid in interface ProjectContainer
Throws:
RQLException

getPublishingJobGuid

public java.lang.String getPublishingJobGuid()
                                      throws RQLException
Liefert die RedDot GUID dieses Generierungsauftrages.

Throws:
RQLException

getSessionKey

public java.lang.String getSessionKey()
Liefert den RedDot Session key.

Specified by:
getSessionKey in interface ProjectContainer

getStartPage

public Page getStartPage()
Liefert die Startseite dieses Generierungsauftrages.


getStatus

public java.lang.String getStatus()
Returns:
the state of this job

setMailReceiver

public void setMailReceiver(User user)
Setzt den User, der nach Jobende eine Mail erhalten soll.


start

public void start()
           throws RQLException
Started diesen Generierungsauftrag.

Throws:
RQLException

waitUntilFinished

public void waitUntilFinished()
                       throws RQLException
Wartet, bis dieser Generierungsauftrag abgeschlossen ist. ACHTUNG! Das warten kann nur mit ADMINISTRATOR Recht ausgeführt werden!

Throws:
RQLException

getNumberOfPublishingMails

public int getNumberOfPublishingMails()
                               throws RQLException
Liefert die Anzahl der gesendeten Mails - eine pro Kombination.

Throws:
RQLException

getProjectVariants

public java.util.Set<ProjectVariant> getProjectVariants()
                                                 throws RQLException
Liefert die Projektvarianten dieses Jobs zurück.

Throws:
RQLException

getLanguageVariants

public java.util.Set<LanguageVariant> getLanguageVariants()
                                                   throws RQLException
Liefert die Sprachvarianten dieses Jobs zurück.

Throws:
RQLException

getLanguageVariantGuids

public java.util.Set<java.lang.String> getLanguageVariantGuids()
                                                        throws RQLException
Liefert die Sprachvarianten GUIDs dieses Jobs zurück.

Throws:
RQLException

isActive

public boolean isActive()
                 throws RQLException
Liefert true, falls dieser vordefinierte Publizierungsauftrag gerade aktiv ist, sonst false.

Throws:
RQLException

setIsActive

public void setIsActive(boolean isActive)
                 throws RQLException
Ändert die Eigenschaft active dieses vordefinierten Publishing jobs.

Throws:
RQLException

isActive

public boolean isActive(boolean isActive)
                 throws RQLException
Liefert true, falls die Eigenschaft active dieses vordefinierten Publizierungsauftrages dem gegebenen Wert entspricht.

Throws:
RQLException