|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--dke.smwp.CommandProcessor
This class represents the interface for creating, dropping, altering, etc. fragment classes, fragment class parameters and page classes.
The class CommandProcessor uses identical interfaces like class Site.
The methods in CommandProcessor check if the parameters provided for its
methods are semantically correct. If the semantic check for given parameters
is successful the corresponding method in class Site will be invoked. After
the processing the method an proper feedback is stored in member varialbe
_output
.
Whenever a semantic error occurs during processing (e.g., invalid name, wrong number of fragment parameters, etc.) this should be signalled by throwing a dke.smwp.compiler.SemanticParserException.
Field Summary | |
private java.lang.String |
_output
contains output/feedback from the previously executed method |
private static Site |
_site
central class for managing fragment classes, fragment class parameters and page classes |
Constructor Summary | |
CommandProcessor()
default constructor |
Method Summary | |
void |
alterFragmentClass(java.lang.String fc_rootName,
java.lang.String[] fc_paramNames,
java.lang.String[] xmlPublishStmt)
|
void |
alterPageClassAddFC(java.lang.String pc_rootName,
java.lang.String[] pc_paramNames,
java.lang.String fc_rootName,
java.lang.String[] fc_paramNames,
java.lang.String fc_aliasName,
java.util.Hashtable fc_parameterMapping,
java.lang.String[] afc_rootNames,
java.lang.String[][] afc_paramNames,
java.lang.String[] afc_aliasNames,
InternalPageRef[] fc_internalPageRefs,
ExternalPageRef[] fc_externalPageRefs)
method for ALTERING page classes; adds fragment class to page class |
void |
alterPageClassDropFC(java.lang.String pc_rootName,
java.lang.String[] pc_paramNames,
java.lang.String fc_rootName,
java.lang.String[] fc_paramNames)
method for ALTERING page classes remove fragment class from page class |
void |
createDerivedFragmentClass(java.lang.String fc_rootName,
java.lang.String[] fc_paramNames,
java.lang.String bfc_rootName,
java.lang.String[] bfc_paramNames,
java.lang.String bfc_aliasName,
java.lang.String dfc_rootName,
java.lang.String[] dfc_paramNames,
java.lang.String dfc_aliasName,
java.lang.String joinClause,
java.lang.String[] xmlPublishStmt)
method for CREATING derived fragment classes |
void |
createPageClass(java.lang.String pc_rootName,
java.lang.String[] pc_paramNames,
java.lang.String filename,
java.lang.String genApproach,
java.lang.String ffc_rootName,
java.lang.String[] ffc_paramNames,
java.lang.String ffc_aliasName,
java.util.Hashtable ffc_paramMap,
InternalPageRef[] ffc_internalPageRefs,
ExternalPageRef[] ffc_externalPageRefs,
java.lang.String[] fc_rootNames,
java.lang.String[][] fc_paramNames,
java.lang.String[] fc_aliasNames,
java.util.Hashtable[] fc_paramMaps,
InternalPageRef[][] fc_internalPageRefs,
ExternalPageRef[][] fc_externalPageRefs,
java.lang.String[] xmlPublishStmt)
method for CREATING page classes |
void |
createPredicateParameter(java.lang.String pbpName,
java.lang.String fc_rootName,
java.lang.String[] fc_paramNames,
java.lang.String[] labelNames,
java.lang.String[] labelValues)
create new reference relation containing predicate based parameters; |
void |
createPrimaryFragmentClass(java.lang.String fc_rootName,
java.lang.String[] fc_paramNames,
java.lang.String bfc_rootName,
java.lang.String[] bfc_paramNames,
java.lang.String tuplePredicate,
java.lang.String fragmentPredicate,
java.lang.String[] xmlPublishStmt)
method for CREATING primary fragment classes |
void |
createValueParameter(java.lang.String vbpParam,
java.lang.String fc_rootName,
java.lang.String[] fc_paramNames,
java.lang.String syncPolicy)
create new reference relation defined upon existing root fragment class; |
void |
createValueParameter(java.lang.String vbpParam,
java.lang.String fc_rootName,
java.lang.String[] fc_paramNames,
java.lang.String rr_tableName,
java.lang.String rr_paramName)
create value parameter by using the column of an existing relation as reference relation; |
void |
dropFragmentClass(java.lang.String fc_rootName,
java.lang.String[] fc_paramNames)
method for DROPPING fragment classes |
void |
dropPageClass(java.lang.String pc_rootName,
java.lang.String[] pc_paramNames)
method for DROPPING page classes |
void |
dropParameter(java.lang.String paramName,
java.lang.String fc_rootName,
java.lang.String[] fc_paramNames)
method for DROPPING parameters; drop parameter mapped to fragment class (designated by fcName and fcParams) defining parameter paramName |
java.lang.String |
getOutput()
gets the String output for command execution which is generated another method in this class for creating, dropping, altering, etc. fragment classes, fragment class parameters and page classes. |
private void |
setOutput(java.lang.String output)
set output String |
void |
showFragmentClass(java.lang.String fc_rootName,
java.lang.String[] fc_paramNames)
method for DISPLAYING fragment classes |
void |
showPageClass(java.lang.String pc_rootName,
java.lang.String[] pc_paramNames)
methods for DISPLAYING page classes |
void |
showParameter(java.lang.String paramName,
java.lang.String fc_rootName,
java.lang.String[] fc_paramNames)
methods for DISPLAYING parameter(s) |
Methods inherited from class java.lang.Object |
|
Field Detail |
private static Site _site
private java.lang.String _output
Constructor Detail |
public CommandProcessor()
Method Detail |
public java.lang.String getOutput()
private void setOutput(java.lang.String output)
output
- output Stringpublic void createPrimaryFragmentClass(java.lang.String fc_rootName, java.lang.String[] fc_paramNames, java.lang.String bfc_rootName, java.lang.String[] bfc_paramNames, java.lang.String tuplePredicate, java.lang.String fragmentPredicate, java.lang.String[] xmlPublishStmt) throws SemanticParserException, SMWPException
fc_rootName
- fragment class root namefc_paramNames
- array of parameter names for fragment classbfc_rootName
- base fragment class root namebfc_paramNames
- array of parameter names for base fragment classtuplePredicate
- tuple selection predicatefragmentPredicate
- fragment selection predicatexmlPublishStmt
- array of xml publish statements contains
[0] fragmentNamespace, [1] fragmentElementName,
[2] tupleNamespace, [3] tupleElementName,
or null
if no fragment class is not
to be publishedSemanticParserException
- parameter constellation incorrectSMWPException
- creating primary fragment class failedpublic void createDerivedFragmentClass(java.lang.String fc_rootName, java.lang.String[] fc_paramNames, java.lang.String bfc_rootName, java.lang.String[] bfc_paramNames, java.lang.String bfc_aliasName, java.lang.String dfc_rootName, java.lang.String[] dfc_paramNames, java.lang.String dfc_aliasName, java.lang.String joinClause, java.lang.String[] xmlPublishStmt) throws SyntacticParserException, SMWPException
fc_rootName
- fragment class root namefc_paramNames
- array of parameter names for fragment classbfc_rootName
- base fragment class root namebfc_paramNames
- array of parameter names for base fragment classbfc_aliasName
- alias for base fragment class
(designated by bfc_rootName and bfc_paramNames)dfc_rootName
- derived fragment class root namedfc_paramNames
- array of parameter names for derived fragment classdfc_aliasName
- alias for derived fragment class
(designated by dfc_rootName and dfc_paramNames)joinClause
- join clause between base fragment class and
derivation fragment class via thier join attributes
in SQL statements
(f.e. bfcAlias.column = dfcAlias.column)xmlPublishStmt
- array of xml publish statements contains
[0] fragmentNamespace, [1] fragmentElementName,
[2] tupleNamespace, [3] tupleElementName,
or null
if no fragment class is not
to be publishedSyntacticParserException
- incorrect parameter countSMWPException
- creating primary fragment class failedpublic void createPageClass(java.lang.String pc_rootName, java.lang.String[] pc_paramNames, java.lang.String filename, java.lang.String genApproach, java.lang.String ffc_rootName, java.lang.String[] ffc_paramNames, java.lang.String ffc_aliasName, java.util.Hashtable ffc_paramMap, InternalPageRef[] ffc_internalPageRefs, ExternalPageRef[] ffc_externalPageRefs, java.lang.String[] fc_rootNames, java.lang.String[][] fc_paramNames, java.lang.String[] fc_aliasNames, java.util.Hashtable[] fc_paramMaps, InternalPageRef[][] fc_internalPageRefs, ExternalPageRef[][] fc_externalPageRefs, java.lang.String[] xmlPublishStmt) throws SyntacticParserException, SMWPException
pc_rootName
- root name of Page Classpc_paramNames
- names of parameters used by Page Classfilename
- prefix of filename for generated Page Fragments;
final filename is fileName
{ "_" parameterValue ".xml"}
genApproach
- generation approach which is either
"coreSMWP" or "pullOfFragments" or "onTheFly"ffc_rootName
- root name of Foundation Fragment Classffc_paramNames
- names of parameters used by
Foundation Fragment Classffc_aliasName
- alias name for Foundation Fragment Class
(desinated by ffcName
and
ffcParams
)ffc_paramMap
- parameter mapping between Page Class parameters
and Foundation Fragment Class parameters;
using Page Class parameters as keyffc_internalPageRefs
- array of internal page references mapped
to Foundation Fragment Classffc_externalPageRefs
- array of external page references mapped
to Foundation Fragment Classfc_rootNames
- root names of Fragment Classesfc_paramNames
- names of parameters used by Fragment Classes;
(f.e.: fcParams[x][]
contains
parameter names for fcName[x]
)fc_aliasNames
- alias names for Fragment Classes
(designated by fcName[x]
and
fcParam[x][]
)fc_paramMaps
- parameter mapping between Page Class parameters
and Fragment Class parameters;
using Page Class parameters as keyfc_internalPageRefs
- internal page references mapped to
Fragment Class (designated by
fcName[x]
and
fcParam[x][]
)fc_externalPageRefs
- external page references mapped to
Fragment Class (designated by
fcName[x]
and
fcParam[x][]
)xmlPublishStmt
- Array of xml publish statements;
[0] pageNamespace
,
[1] pageElementName
SMWPException
- saving meta-data failed; xml document
creation failed;SyntacticParserException
- invalid parameter countpublic void alterFragmentClass(java.lang.String fc_rootName, java.lang.String[] fc_paramNames, java.lang.String[] xmlPublishStmt) throws SemanticParserException, SyntacticParserException, SMWPException
fc_rootName
- root name of Fragment Class which is to be alteredfc_paramNames
- names of parameters used by Fragment ClassxmlPublishStmt
- XML publishing informationSemanticParserException
- SyntacticParserException
- SMWPException
- saving publishing information failed;
Fragment Class not found; dropping publishing info
while Fragment Class mapped to Page Classpublic void alterPageClassAddFC(java.lang.String pc_rootName, java.lang.String[] pc_paramNames, java.lang.String fc_rootName, java.lang.String[] fc_paramNames, java.lang.String fc_aliasName, java.util.Hashtable fc_parameterMapping, java.lang.String[] afc_rootNames, java.lang.String[][] afc_paramNames, java.lang.String[] afc_aliasNames, InternalPageRef[] fc_internalPageRefs, ExternalPageRef[] fc_externalPageRefs) throws SyntacticParserException, SMWPException
pc_rootName
- root name of Page Classpc_paramNames
- names of parameters used by Page Classfc_rootName
- root name of Fragment Class which is to be
added to Page Classfc_paramNames
- names of parameters used by Fragment Class
which is to be added to Page Classfc_aliasName
- alias name of Fragment Class which is to be
added to Page Class; used by statements for
creating page referencesfc_parameterMapping
- parameter mapping between Page Class parameters
and Foundation Fragment Class parameters; uses
Page Class parameters as keyafc_rootNames
- array of root names for Fragment Classesafc_paramNames
- array of names of parameters used by Fragment Classesafc_aliasNames
- alias names for Fragment Classes; used by
statements for creating page referencesfc_internalPageRefs
- internal page class references for added Fragment Classfc_externalPageRefs
- external page class references for added Fragment ClassSyntacticParserException
- SMWPException
- altering page class failedpublic void alterPageClassDropFC(java.lang.String pc_rootName, java.lang.String[] pc_paramNames, java.lang.String fc_rootName, java.lang.String[] fc_paramNames) throws SyntacticParserException, SMWPException
pc_rootName
- root name of Page Class the Fragment Class
is removed frompc_paramNames
- names of parameters used by Page Classfc_rootName
- root name of Fragment Class which is to be removed
from Page Classfc_paramNames
- names of parameters used by Fragment Class which
is to be removed from Page ClassSMWPException
- Fragment Class not found, Page Class not found,
deleting smwp meta-data failedSyntacticParserException
- public void createPredicateParameter(java.lang.String pbpName, java.lang.String fc_rootName, java.lang.String[] fc_paramNames, java.lang.String[] labelNames, java.lang.String[] labelValues) throws SemanticParserException, SyntacticParserException, SMWPException
pbpName
- name of the Predicate Parameter which is to be createdfc_rootName
- name of the root Fragment Class,
which the parameter is defined uponfc_paramNames
- names of fragment class, the parameter is to be
defined upon, must be null
labelNames
- predicate parameter label nameslabelValues
- predicate parameter label values; SQL statementsSMWPException
- Fragment Class is not Root Fragment Class;
parameter already exists; table creation failed;
meta-data insertion failedSemanticParserException
- invalid parameter countSyntacticParserException
- parameter value missingpublic void createValueParameter(java.lang.String vbpParam, java.lang.String fc_rootName, java.lang.String[] fc_paramNames, java.lang.String rr_tableName, java.lang.String rr_paramName) throws SemanticParserException, SyntacticParserException, SMWPException
vbpParam
- name of the value based parameterfc_rootName
- Fragment Class root namefc_paramNames
- array of parameter names for Fragment Classrr_tableName
- name of table used as reference realationrr_paramName
- parameter name of reference relation
(column of reference relation which is to be used
as parameter)SemanticParserException
- parameter not setSyntacticParserException
- fc_paramNames
is not
null
, Fragment Class is
parameterizedSMWPException
- if Fragment Class is not Root Fragment
Class, parameter already exists, table
creation failed, meta-data insertion
failedpublic void createValueParameter(java.lang.String vbpParam, java.lang.String fc_rootName, java.lang.String[] fc_paramNames, java.lang.String syncPolicy) throws SemanticParserException, SyntacticParserException, SMWPException
vbpParam
- name of the value based parameterfc_rootName
- root name of Fragment Class upon which the
parameter is to be createdfc_paramNames
- names of parameters used by Fragment ClasssyncPolicy
- synchronize policy used between
Root Fragment Class and created
Reference Relation, which can be
"expansive" or "synchronized" or "none"SemanticParserException
- invalid parameter countSyntacticParserException
- invalid syncPolicy
enteredSMWPException
- Fragment Class is not Root Fragment Class,
parameter already exists, table creation
failed, meta-data insertion failedpublic void dropFragmentClass(java.lang.String fc_rootName, java.lang.String[] fc_paramNames) throws SMWPException
fc_rootName
- root name of fragment class which is to be droppedfc_paramNames
- names of parameters used by Fragment ClassSMWPException
- drop failedpublic void dropPageClass(java.lang.String pc_rootName, java.lang.String[] pc_paramNames) throws SMWPException
pc_rootName
- root name of page class which is to be droppedpc_paramNames
- names of parameters used by page classSMWPException
- drop failedpublic void dropParameter(java.lang.String paramName, java.lang.String fc_rootName, java.lang.String[] fc_paramNames) throws SemanticParserException, SyntacticParserException, SMWPException
paramName
- parameter name which is to be deletedfc_rootName
- name of Root Fragment Class the parameter
is defined uponfc_paramNames
- names of parameters used by Fragment Class;
must be null
SemanticParserException
- fragment class is fragmented
(fc_paramNames
is not null)SyntacticParserException
- missing paremter valueSMWPException
- dropping parameter failedpublic void showFragmentClass(java.lang.String fc_rootName, java.lang.String[] fc_paramNames) throws SyntacticParserException
fc_rootName
- fragment class root namefc_paramNames
- array of parameter names for fragment classSyntacticParserException
- public void showPageClass(java.lang.String pc_rootName, java.lang.String[] pc_paramNames) throws SyntacticParserException
pc_rootName
- page class root namepc_paramNames
- array of parameter names for page classSyntacticParserException
- public void showParameter(java.lang.String paramName, java.lang.String fc_rootName, java.lang.String[] fc_paramNames)
paramName
- name of parameter which is to be displayedfc_rootName
- root name of fragment classfc_paramNames
- names of parameters used by Fragment Class
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |