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 implementationUses 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.valand when referencing the argument's operator the query writer usesargname.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, ChartDataType 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
All Methods Instance Methods Concrete Methods 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()ChartDataTypegetBaseChartDF()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()booleanhasArgument(java.lang.String argumentName)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(ChartDataType 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, removeListDataListener
-
Methods inherited from class org.gorpipe.querydialogs.BasicBean
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
-
-
-
Field Detail
-
PROPERTY_TYPE
public static final java.lang.String PROPERTY_TYPE
The property name for the dialog's type.- See Also:
- Constant Field Values
-
PROPERTY_BASE_QUERY
public static final java.lang.String PROPERTY_BASE_QUERY
The 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_CHARTSCRIPT
The 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_CHARTEXEC
The 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_CHARTCOLUMNS
The 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_CHARTDF
The property name for dialog's interpolated query (read only).- See Also:
- Constant Field Values
-
PROPERTY_QUERY
public static final java.lang.String PROPERTY_QUERY
The property name for dialog's interpolated query (read only).- See Also:
- Constant Field Values
-
PROPERTY_CHART
public static final java.lang.String PROPERTY_CHART
The property name for dialog's interpolated query (read only).- See Also:
- Constant Field Values
-
PROPERTY_EXECUTABLE
public static final java.lang.String PROPERTY_EXECUTABLE
The property name for the dialog's executable state.- See Also:
- Constant Field Values
-
dialogDescription
public final DialogDescription 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
protected final java.util.Map<java.lang.String,Argument> argumentMap
-
attributes
public java.util.Map<java.lang.String,? extends java.lang.Object> attributes
-
executable
protected boolean executable
-
-
Constructor Detail
-
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, ChartDataType 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 Detail
-
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
public DialogType getType()
-
setType
public void setType(DialogType type)
-
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 ChartDataType getBaseChartDF()
-
setBaseChartDF
public void setBaseChartDF(ChartDataType 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
public java.util.List<Argument> copyArguments()
-
isExecutable
public boolean isExecutable()
-
getArgument
public Argument getArgument(java.lang.String argumentName)
-
hasArgument
public boolean hasArgument(java.lang.String argumentName)
-
setArgument
public void setArgument(java.lang.String argumentName, Argument arg)
-
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
-
-