Package org.gorpipe.querydialogs
Class Dialog
java.lang.Object
org.gorpipe.querydialogs.BasicBean
org.gorpipe.querydialogs.AbstractListBean
org.gorpipe.querydialogs.Dialog
- All Implemented Interfaces:
java.io.Serializable,javax.swing.ListModel
- Direct Known Subclasses:
PerspectiveDialog
public class Dialog extends AbstractListBean
A basic dialog implementation
Uses the freemarker library to interpolate the dialog's query with
supplied arguments.
The provided query is processed such that all whitespace is
replaced with a single space character.
Provides a couple of freemarker directives to query writers:
skip(value[, scope])- will skip (i.e. not output) the first occurance of the given value within the given scope
- br
- inserts an explicit newline
All arguments are wrapped in a freemarker object wrapper such that when
referencing the argument's value the query writer uses argname.val
and when referencing the argument's operator the query writer uses argname.op.
Aside from being a bean model for a dialog this class provides a ListModel interface on the dialog's arguments.
The interpolated query is defined as executable if all non-optional arguments have received valid values.
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,Argument>argumentMapjava.util.Map<java.lang.String,? extends java.lang.Object>attributesDialogDescriptiondialogDescriptionprotected java.lang.StringerrorMsgTemplateprotected booleanexecutableprotected java.lang.StringgitSHAprotected java.lang.StringlongRunningQueryTemplateprotected java.lang.StringpackageVersionstatic java.lang.StringPROPERTY_BASE_CHARTCOLUMNSThe property name for the dialog's base query (not interpolated).static java.lang.StringPROPERTY_BASE_CHARTDFThe property name for dialog's interpolated query (read only).static java.lang.StringPROPERTY_BASE_CHARTEXECThe property name for the dialog's base query (not interpolated).static java.lang.StringPROPERTY_BASE_CHARTSCRIPTThe property name for the dialog's base query (not interpolated).static java.lang.StringPROPERTY_BASE_QUERYThe property name for the dialog's base query (not interpolated).static java.lang.StringPROPERTY_CHARTThe property name for dialog's interpolated query (read only).static java.lang.StringPROPERTY_EXECUTABLEThe property name for the dialog's executable state.static java.lang.StringPROPERTY_QUERYThe property name for dialog's interpolated query (read only).static java.lang.StringPROPERTY_TYPEThe property name for the dialog's type.protected java.lang.Stringversion -
Constructor Summary
Constructors Constructor Description Dialog(java.util.Map<java.lang.String,? extends java.lang.Object> attributes, org.gorpipe.gor.model.FileReader fileResolver, org.gorpipe.gor.model.QueryEvaluator queryEval, DialogDescription dialogDescription, DialogType type, java.lang.String query, java.lang.String chartScript, java.lang.String chartExec, java.lang.String chartColumns, boolean chartDF, java.util.List<Argument> arguments, java.lang.String errorMsgTemplate, java.lang.String longRunningQueryTemplate, java.lang.String version, java.lang.String packageVersion, java.lang.String gitSHA) -
Method Summary
Modifier and Type Method Description booleanadvancedArgumentsVisible()voidcalcInterpolatedQuery()java.util.List<Argument>copyArguments()java.lang.StringdetermineLongRunningQuery()ArgumentgetArgument(java.lang.String argumentName)java.lang.ObjectgetAttribute(java.lang.String attributeName)java.lang.StringgetBaseChartColumns()booleangetBaseChartDF()java.lang.StringgetBaseChartExec()java.lang.StringgetBaseChartScript()java.lang.StringgetBaseQuery()java.lang.StringgetChart()java.lang.StringgetDescription()java.lang.ObjectgetElementAt(int index)java.lang.StringgetErrorMessage()org.gorpipe.gor.model.FileReadergetFileResolver()java.lang.StringgetGitSha()java.lang.StringgetHelpLink()java.lang.StringgetInterpolatedChart()java.lang.StringgetInterpolatedQuery()java.lang.StringgetListDescription()java.lang.StringgetName()java.lang.StringgetPackageVersion()java.lang.StringgetQuery()org.gorpipe.gor.model.QueryEvaluatorgetQueryEval()java.lang.StringgetShortName()intgetSize()DialogTypegetType()java.lang.StringgetVersion()protected java.lang.StringinterpolateChart(java.lang.String templateName)protected java.lang.StringinterpolateQuery(java.lang.String templateName)booleanisExecutable()protected voidloadQuery(java.lang.String queryName, java.lang.String query)voidsetAdvancedArgumentsVisible(boolean visible)voidsetArgument(java.lang.String argumentName, Argument arg)voidsetBaseChartColumns(java.lang.String chartColumns)voidsetBaseChartDF(boolean chartDF)voidsetBaseChartExec(java.lang.String chartExec)voidsetBaseChartScript(java.lang.String chartScript)voidsetBaseQuery(java.lang.String query)voidsetDeferUpdates(boolean deferUpdates)Defer updates to interpolated query.voidsetType(DialogType type)java.lang.StringtoString()Methods inherited from class org.gorpipe.querydialogs.AbstractListBean
addListDataListener, fireContentsChanged, removeListDataListenerMethods inherited from class org.gorpipe.querydialogs.BasicBean
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Field Details
-
PROPERTY_TYPE
public static final java.lang.String PROPERTY_TYPEThe property name for the dialog's type.- See Also:
- Constant Field Values
-
PROPERTY_BASE_QUERY
public static final java.lang.String PROPERTY_BASE_QUERYThe property name for the dialog's base query (not interpolated).- See Also:
- Constant Field Values
-
PROPERTY_BASE_CHARTSCRIPT
public static final java.lang.String PROPERTY_BASE_CHARTSCRIPTThe property name for the dialog's base query (not interpolated).- See Also:
- Constant Field Values
-
PROPERTY_BASE_CHARTEXEC
public static final java.lang.String PROPERTY_BASE_CHARTEXECThe property name for the dialog's base query (not interpolated).- See Also:
- Constant Field Values
-
PROPERTY_BASE_CHARTCOLUMNS
public static final java.lang.String PROPERTY_BASE_CHARTCOLUMNSThe property name for the dialog's base query (not interpolated).- See Also:
- Constant Field Values
-
PROPERTY_BASE_CHARTDF
public static final java.lang.String PROPERTY_BASE_CHARTDFThe property name for dialog's interpolated query (read only).- See Also:
- Constant Field Values
-
PROPERTY_QUERY
public static final java.lang.String PROPERTY_QUERYThe property name for dialog's interpolated query (read only).- See Also:
- Constant Field Values
-
PROPERTY_CHART
public static final java.lang.String PROPERTY_CHARTThe property name for dialog's interpolated query (read only).- See Also:
- Constant Field Values
-
PROPERTY_EXECUTABLE
public static final java.lang.String PROPERTY_EXECUTABLEThe property name for the dialog's executable state.- See Also:
- Constant Field Values
-
dialogDescription
-
errorMsgTemplate
protected final java.lang.String errorMsgTemplate -
longRunningQueryTemplate
protected final java.lang.String longRunningQueryTemplate -
version
protected final java.lang.String version -
packageVersion
protected final java.lang.String packageVersion -
gitSHA
protected final java.lang.String gitSHA -
argumentMap
-
attributes
public java.util.Map<java.lang.String,? extends java.lang.Object> attributes -
executable
protected boolean executable
-
-
Constructor Details
-
Dialog
public Dialog(java.util.Map<java.lang.String,? extends java.lang.Object> attributes, org.gorpipe.gor.model.FileReader fileResolver, org.gorpipe.gor.model.QueryEvaluator queryEval, DialogDescription dialogDescription, DialogType type, java.lang.String query, java.lang.String chartScript, java.lang.String chartExec, java.lang.String chartColumns, boolean chartDF, java.util.List<Argument> arguments, java.lang.String errorMsgTemplate, java.lang.String longRunningQueryTemplate, java.lang.String version, java.lang.String packageVersion, java.lang.String gitSHA) throws freemarker.template.TemplateException- Throws:
freemarker.template.TemplateException
-
-
Method Details
-
getFileResolver
public org.gorpipe.gor.model.FileReader getFileResolver() -
getQueryEval
public org.gorpipe.gor.model.QueryEvaluator getQueryEval() -
getName
public java.lang.String getName() -
getShortName
public java.lang.String getShortName()- Returns:
- The dialog name shortened so that it contains at most 2 capital letters (from right) and breaks on the right most underscore
-
getDescription
public java.lang.String getDescription() -
getHelpLink
public java.lang.String getHelpLink() -
getListDescription
public java.lang.String getListDescription() -
getType
-
setType
-
getBaseQuery
public java.lang.String getBaseQuery() -
setBaseQuery
public void setBaseQuery(java.lang.String query) throws freemarker.template.TemplateException- Throws:
freemarker.template.TemplateException
-
getBaseChartExec
public java.lang.String getBaseChartExec() -
setBaseChartExec
public void setBaseChartExec(java.lang.String chartExec) throws freemarker.template.TemplateException- Throws:
freemarker.template.TemplateException
-
getBaseChartScript
public java.lang.String getBaseChartScript() -
setBaseChartScript
public void setBaseChartScript(java.lang.String chartScript) -
getBaseChartDF
public boolean getBaseChartDF() -
setBaseChartDF
public void setBaseChartDF(boolean chartDF) -
getBaseChartColumns
public java.lang.String getBaseChartColumns() -
setBaseChartColumns
public void setBaseChartColumns(java.lang.String chartColumns) -
setDeferUpdates
public void setDeferUpdates(boolean deferUpdates)Defer updates to interpolated query. If set - query won't be evaluated on every change to input parameters but only when requested through getInterpolatedQuery() -
advancedArgumentsVisible
public boolean advancedArgumentsVisible()- Returns:
trueif advanced arguments are visible, otherwisefalse
-
setAdvancedArgumentsVisible
public void setAdvancedArgumentsVisible(boolean visible)- Parameters:
visible- the visibility of advanced arguments to set
-
loadQuery
protected void loadQuery(java.lang.String queryName, java.lang.String query) -
interpolateQuery
protected java.lang.String interpolateQuery(java.lang.String templateName) throws freemarker.template.TemplateException, java.io.IOException- Throws:
freemarker.template.TemplateExceptionjava.io.IOException
-
interpolateChart
protected java.lang.String interpolateChart(java.lang.String templateName) throws freemarker.template.TemplateException, java.io.IOException- Throws:
freemarker.template.TemplateExceptionjava.io.IOException
-
calcInterpolatedQuery
public void calcInterpolatedQuery() throws freemarker.template.TemplateException- Throws:
freemarker.template.TemplateException
-
getInterpolatedQuery
public java.lang.String getInterpolatedQuery() -
getInterpolatedChart
public java.lang.String getInterpolatedChart() -
getQuery
public java.lang.String getQuery() -
getChart
public java.lang.String getChart() -
getVersion
public java.lang.String getVersion() -
getPackageVersion
public java.lang.String getPackageVersion() -
getGitSha
public java.lang.String getGitSha() -
getErrorMessage
public java.lang.String getErrorMessage() -
determineLongRunningQuery
public java.lang.String determineLongRunningQuery() -
copyArguments
-
isExecutable
public boolean isExecutable() -
getArgument
-
setArgument
-
getAttribute
public java.lang.Object getAttribute(java.lang.String attributeName) -
getElementAt
public java.lang.Object getElementAt(int index) -
getSize
public int getSize() -
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-