dke.smwp
Class Site

java.lang.Object
  |
  +--dke.smwp.Site

public class Site
extends java.lang.Object

Central class managing all functionality needed to manage self maintaining web pages for creating, altering, deleting and displaying of fragment parameters, fragment classes and page classes

Several methods for creation, alteration and deletion of fragment classes and page classes exist two times. Both methods provide the same functionality, but differ in the provided parameters.

Version:
1.0
Author:
Werner Enser

Constructor Summary
Site()
          default Constructor
 
Method Summary
 void alterFragmentClass(java.lang.String fc_rootName, java.lang.String[] fc_paramNames, java.lang.String[] xmlPublishStmt)
          Alters XML publishing information for Fragment Class defined by fc_rootName and fc_paramNames by overwriting the old publishing information with new information in 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_aliasName, InternalPageRef[] fc_internalPageRefs, ExternalPageRef[] fc_externalPageRefs)
          Adds Fragment Class (defined by fc_rootName, fc_paramNames) to Page Class (defined by pc_rootName, pc_paramNames).
 void alterPageClassDropFC(java.lang.String pc_rootName, java.lang.String[] pc_paramNames, java.lang.String fc_rootName, java.lang.String[] fc_paramNames)
          Removing Fragment Class mapping from Page Class as well as the internal and external page references mapped to this Fragment Class.
 FragmentClass createDerivedFragmentClass(java.lang.String name, FragmentClass fragmentBaseClass, FragmentClass derivationBaseClass, java.lang.String joinPredicate, XMLPublishFCStatement xmlPublishStmt)
          Creates a Derived Fragment Class which is based upon fragmentation base Fragment Class fragmentBaseClass and derivation base Fragment Class derivationBaseClass.
 boolean 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 joinPredicate, java.lang.String[] xmlPublishStmt)
          Creates a Derived Fragment Class (designated by fc_rootName and fc_paramNames) based upon Fragment Base Class (designated by bfc_rootName and bfc_paramNames).
 void createPageClass(java.lang.String pc_rootName, java.lang.String[] pc_paramNames, java.lang.String filename, java.lang.String genApproach, FragmentClass foundationFragmentClass, java.util.Hashtable ffcParamMap, InternalPageRef[] ffcInternalPageRefs, ExternalPageRef[] ffcExternalPageRefs, FragmentClass[] fragmentClasses, java.util.Hashtable[] fcParamMaps, InternalPageRef[][] fcInternalPageRefs, ExternalPageRef[][] fcExternalPageRefs, XMLPublishPCStatement xmlPublishPCStmt)
          Creates Page Class dependent on Foundation Fragment Class foundationFragmentClass with a list of Fragment Classes fragmentClasses mapped.
 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_aliasName, java.util.Hashtable[] fc_paramMaps, InternalPageRef[][] fc_internalPageRefs, ExternalPageRef[][] fc_externalPageRefs, java.lang.String[] xmlPublishStmt)
          Creates Page Class dependent on Foundation Fragment Class with a list of Fragment Classes mapped.
 void createPredicateParameter(java.lang.String rp_name, java.lang.String fc_rootName, java.lang.String[] labelName, java.lang.String[] labelValue)
          Creates Predicate Based Parameter by creating a table in database named "RP_" fr_rootName "_" rp_name with the columns label and predicate.
 FragmentClass createPrimaryFragmentClass(FragmentClass fragmentClass, AbstractParameter parameter, java.lang.String fragmentPredicate_pf, java.lang.String tuplePredicate_pt, XMLPublishFCStatement xmlPublishStmt)
          Creates a new Fragment Class using fragmentClass as base Fragment Class, introducing the new parameter parameter to the Fragmentation.
 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_pt, java.lang.String fragmentPredicate_pf, java.lang.String[] xmlPublishStmt)
          Creates Fragment Class (designated by fc_rootName and fc_paramNames) based upon Fragment Base Class (designated by bfc_rootName and bfc_paramNames).
 void createValueParameter(java.lang.String vbpParam, java.lang.String fc_rootName, java.lang.String[] fc_paramNames, java.lang.String syncPolicy)
          creates new Value Parameter named vbpParam defined upon Root Fragment Class designated by fc_rootName and fc_paramNames = null by creating a table in database named "RV_" fr_rootName "_" vbpParam with the column vpbParam; syncPolicy specifies the synchronization between the column of Root Fragment Class which is used as source for Value Parameter and its Value Parameter relation (RV<>) "synchronized" creates a trigger which keeps the FC<> parameter column and the RV<> parameter column synchronized; the RV<> column contains exactly the same parameters as its source FC<>; FC<> grows => RV<> grows; FC<> shrinks => RV<> shrinks "expansive" creates a trigger which forwards parameter insertions to its RV<> relation; FC<> grows => RV<> grows; FC<> shrinks => RV<> unchanged "none" no trigger created
 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)
          creates new Value Parameter named vbpParam defined upon Root Fragment Class designated by fc_rootName and fc_paramNames = null; the Value Parameter relation is not generated from the Root Fragment Class, it is mapped to an existing relation;
 void dropFragmentClass(java.lang.String fc_rootName, java.lang.String[] fc_paramNames)
          drop fragment class designated by fc_rootName and fc_paramNames (remove Fragment Class, and depending relations (FR_) and meta-data)
 void dropPageClass(java.lang.String pc_rootName, java.lang.String[] pc_paramNames)
          drops Page Class designated by pc_rootName and pc_paramNames.
 void dropParameter(java.lang.String paramName, java.lang.String fc_rootName)
          drop parameter designated by fc_rootName and paramName. deletion only permitted if the parameter is not used by any Fragment Class; it drops the parameter reference relation and its meta-data;
 java.lang.String showFragmentClass()
          view list of all defined Fragment Classes
 java.lang.String showFragmentClass(java.lang.String fc_rootName, java.lang.String[] fc_paramNames)
          displays details of Fragment Class designated by fc_rootName and fc_paramNames; shows xml publishing information, used parameters, Fragment Base Class and Derivation Base Class names, ...
 java.lang.String showPageClass()
          show list of all Page Classes
 java.lang.String showPageClass(java.lang.String pc_rootName, java.lang.String[] pc_paramNames)
          view details of Page Class designated by pc_rootName and pc_paramNames;
 java.lang.String showParameter(java.lang.String paramName)
          show all defined parameter designated by paramName
 java.lang.String showParameter(java.lang.String paramName, java.lang.String fc_rootName, java.lang.String[] fc_paramNames)
          shows Fragment Class Parameter(s) defined upon Root Fragment Class, or used by Fragment Class Root Fragment Class is designated by fc_rootName and fc_paramNames = null; Fragment Class is designated by fc_rootName and fc_paramNames.
 java.lang.String showParameters()
          show list of all defined parameters
 java.lang.String showParametersOfFragmentClass(java.lang.String fc_rootName, java.lang.String[] fc_paramNames)
          prints parameter description of parameters used by Fragment Class, or defined upon Root Fragment Class; fc_rootName and fc_paramNames
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Constructor Detail

Site

public Site()
default Constructor
Method Detail

alterFragmentClass

public void alterFragmentClass(java.lang.String fc_rootName,
                               java.lang.String[] fc_paramNames,
                               java.lang.String[] xmlPublishStmt)
                        throws SMWPException
Alters XML publishing information for Fragment Class defined by fc_rootName and fc_paramNames by overwriting the old publishing information with new information in xmlPublishStmt.
Parameters:
fc_rootName - root name of Fragment Class which is to be altered
fc_paramNames - names of parameters used by Fragment Class
xmlPublishStmt - XML publishing information
Throws:
SMWPException - saving publishing information failed; Fragment Class not found; dropping publishing info while Fragment Class mapped to Page Class

alterPageClassAddFC

public 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_aliasName,
                                InternalPageRef[] fc_internalPageRefs,
                                ExternalPageRef[] fc_externalPageRefs)
                         throws SMWPException
Adds Fragment Class (defined by fc_rootName, fc_paramNames) to Page Class (defined by pc_rootName, pc_paramNames).

Additional information about mapped Fragment Classes and their parameter mapping is needed when adding internal or external page references. This information is provided via afc_.. parameters.

Creating page references not implemented yet. Parameter mapping needed for afc_... Fragment Classes?

Parameters:
pc_rootName - root name of Page Class
pc_paramNames - names of parameters used by Page Class
fc_rootName - root name of Fragment Class which is to be added to Page Class
fc_paramNames - names of parameters used by Fragment Class which is to be added to Page Class
fc_aliasName - alias name of Fragment Class which is to be added to Page Class; used by statements for creating page references
fc_parameterMapping - parameter mapping between Page Class parameters and Foundation Fragment Class parameters; uses Page Class parameters as key
afc_rootNames - array of root names for Fragment Classes
afc_paramNames - array of names of parameters used by Fragment Classes
afc_aliasName - alias names for Fragment Classes; used by statements for creating page references
fc_internalPageRefs - internal page class references for added Fragment Class
fc_externalPageRefs - external page class references for added Fragment Class
Throws:
SMWPException - Fragment Class not found; Fragment Class not containing xml publishing information; Page Class not found; saving smwp meta-data failed

alterPageClassDropFC

public void alterPageClassDropFC(java.lang.String pc_rootName,
                                 java.lang.String[] pc_paramNames,
                                 java.lang.String fc_rootName,
                                 java.lang.String[] fc_paramNames)
                          throws SMWPException
Removing Fragment Class mapping from Page Class as well as the internal and external page references mapped to this Fragment Class.

Removing the Fragment Class leads to regeneration of all XML Page Fragments (XML documents) from this Page Class.

Fragment Class is designated by fc_rootName and fc_paramNames; Page Class is designated by pc_rootName and pc_paramNames;

Parameters:
pc_rootName - root name of Page Class the Fragment Class is removed from
pc_paramNames - names of parameters used by Page Class
fc_rootName - root name of Fragment Class which is to be removed from Page Class
fc_paramNames - names of parameters used by Fragment Class which is to be removed from Page Class
Throws:
SMWPException - Fragment Class not found, Page Class not found, deleting smwp meta-data failed

createPrimaryFragmentClass

public 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_pt,
                                       java.lang.String fragmentPredicate_pf,
                                       java.lang.String[] xmlPublishStmt)
                                throws SMWPException
Creates Fragment Class (designated by fc_rootName and fc_paramNames) based upon Fragment Base Class (designated by bfc_rootName and bfc_paramNames).

The number of parameters for fc_paramNames must exceed bfc_paramNames exactly by ONE, while the other parameter names must be identical.

The selection predicates tuplePredicate_pt and fragmentPredicate_pf are used as filter on inserting tuples into the created Fragment Class relation and its Fragmentation Relation;

If the created Fragment Class contains no xml publishing information (xmlPublishStmt) it can not be published, and not mapped to a Page Class.

Parameters:
fc_rootName - root name of Fragment Class which is to be created
fc_paramNames - names of parameters used by Fragment Class which is to be created
bfc_rootName - root name of Fragment Base Class
bfc_paramNames - names of parameters used by Fragment Base Class
tuplePredicate_pt - tuple selection predicate; SQL statements; used as filter on inserting into Fragment Class
fragmentPredicate_pf - fragment selection predicate; SQL statements; used as filter on inserting into Fragmentation Relation, which will be created for Fragment Class
xmlPublishStmt - array of xml publish statements contains [0] fragmentElementName, [1] tupleElementName, [2] tupleNamespace, or null if Fragment Class is not to be published
Throws:
SMWPException - wrong parameter count on Fragment Class; Fragment Base Class invalid / not found; fails to create Fragment Class relation; fails to create Fragmentation Relation; fails wrinting meta-data

createPrimaryFragmentClass

public FragmentClass createPrimaryFragmentClass(FragmentClass fragmentClass,
                                                AbstractParameter parameter,
                                                java.lang.String fragmentPredicate_pf,
                                                java.lang.String tuplePredicate_pt,
                                                XMLPublishFCStatement xmlPublishStmt)
                                         throws SMWPException
Creates a new Fragment Class using fragmentClass as base Fragment Class, introducing the new parameter parameter to the Fragmentation. The base Fragment Class can be fragmented or unfragmented.

The selection predicates tuplePredicate_pt and fragmentPredicate_pf are used as filter on inserting tuples into the created Fragment Class relation and its Fragmentation Relation;

If the created Fragment Class contains no xml publishing information (xmlPublishStmt) it can not be published, and not mapped to a Page Class.

Parameters:
fragmentClass - Fragment Class which is base for fragmentation
parameter - fragmentation parameter which is added to fragmentClass
fragmentPredicate_pf - fragment selection predicate (filter for Fragmentation Relation)
tuplePredicate_pt - tuple selection predicate (filter for Fragment Class relation)
xmlPublishStmt - xml publishing information
Throws:
SMWPException - Fragment Class creation failed

createDerivedFragmentClass

public boolean 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 joinPredicate,
                                          java.lang.String[] xmlPublishStmt)
                                   throws SMWPException
Creates a Derived Fragment Class (designated by fc_rootName and fc_paramNames) based upon Fragment Base Class (designated by bfc_rootName and bfc_paramNames).

The derivation base Fragment Class must be fragmented with exactly ONE parameter, either Value Parameter or Predicate Parameter. The fragmentation base Fragment Class may be unfragmented, or be fragmented by any number of parameters.

The selection predicates tuplePredicate_pt and fragmentPredicate_pf are used as filter on inserting tuples into the created Fragment Class relation and its Fragmentation Relation;

If the created Fragment Class contains no xml publishing information (xmlPublishStmt) it can not be published, and not mapped to a Page Class. Publishing information can be modified by using the method alterFragmentClass.

Parameters:
fc_rootName - root name of Fragment Class which is to be created
fc_paramNames - names of parameters used by Fragment Class which is to be created
bfc_rootName - root name of Fragment Class used as fragmentation base
bfc_paramNames - names of parameters used by fragmentation base Fragment Class
bfc_aliasName - alias for base fragmentation base Fragment Class
dfc_rootName - root name of Fragment Class, used as derivation base
dfc_paramNames - names of parameters used by derivation base Fragment Class
dfc_aliasName - alias for derivation base Fragment Class
joinPredicate - join clause between base Fragment Class and derivation Fragment Class as SQL statement using alias names for Fragment Class (f.e. bfcAlias.column = dfcAlias.column)
xmlPublishStmt - array of xml publish statements contains [0] fragmentElementName, [1] tupleElementName, [2] tupleNamespace, or null if Fragment Class is not to be published
Throws:
SMWPException - base Fragment Classes invalid; new parameter invalid; Fragment Class relation creation failed; writing meta-data failed;

createDerivedFragmentClass

public FragmentClass createDerivedFragmentClass(java.lang.String name,
                                                FragmentClass fragmentBaseClass,
                                                FragmentClass derivationBaseClass,
                                                java.lang.String joinPredicate,
                                                XMLPublishFCStatement xmlPublishStmt)
                                         throws SMWPException
Creates a Derived Fragment Class which is based upon fragmentation base Fragment Class fragmentBaseClass and derivation base Fragment Class derivationBaseClass.

The derivation base Fragment Class must be fragmented with exactly ONE parameter, either Value Parameter or Predicate Parameter. The fragmentation base Fragment Class may be unfragmented, or be fragmented by any number of parameters.

If the created Fragment Class contains no xml publishing information (xmlPublishStmt) it can not be published, and not mapped to a Page Class. Publishing information can be modified by using the method alterFragmentClass.

Parameters:
name - root name for new Fragment Class which may differ from the root name of the fragmentation base Fragment Class
fragmentBaseClass - fragmentation base Fragment Class (gets parameter from derivation base class);
derivationBaseClass - derivation base Fragment Class (adds parameter to fragment base class); using exactly ONE fragment parameter
joinPredicate - join clause between base Fragment Class and derivation Fragment Class as SQL statement using alias names for Fragment Class (e.g. bfcAlias.column = dfcAlias.column)
xmlPublishStmt - array of xml publish statements contains [0] fragmentElementName, [1] tupleElementName, [2] tupleNamespace, or null if Fragment Class is not to be published
Returns:
generated FragmentClass object
Throws:
SMWPException - base Fragment Classes invalid; new parameter invalid; Fragment Class relation creation failed; writing meta-data failed

createPageClass

public 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_aliasName,
                            java.util.Hashtable[] fc_paramMaps,
                            InternalPageRef[][] fc_internalPageRefs,
                            ExternalPageRef[][] fc_externalPageRefs,
                            java.lang.String[] xmlPublishStmt)
                     throws SMWPException
Creates Page Class dependent on Foundation Fragment Class with a list of Fragment Classes mapped.

The created Page Class is based on the parameters of its Foundation Fragment Class, therefore the fragmentation parameters of pcParams and ffc_paramNames must be identical.

Fragment Classes (designated by fc_rootName and fc_paramNames) are mapped to the created Page Class.

The names of parameters used by (Foundation) Fragment Classes and Page Class can differ, therefore a parameter mapping is to be provided via the variables ffc_paramMap and fc_paramMap using parameter names of Page Class as key and parameter names of Fragment Class as value.

On successfull Page Class creation xml documents are generated using as systemId.

The parameter genApproach spezifies how the generated xml dokuments (defined over Page Class) are kept up to date on changes of (Foundation) Fragment Class relations which are mapped to Page Class.

Parameters:
pc_rootName - root name of Page Class
pc_paramNames - names of parameters used by Page Class
filename - 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 Class
ffc_paramNames - names of parameters used by Foundation Fragment Class
ffc_aliasName - alias name for Foundation Fragment Class (designated by ffcName and ffcParams)
ffc_paramMap - parameter mapping between Page Class parameters and Foundation Fragment Class parameters; using Page Class parameters as key
ffc_internalPageRefs - array of internal page references mapped to Foundation Fragment Class
ffc_externalPageRefs - array of external page references mapped to Foundation Fragment Class
fc_rootNames - root names of Fragment Classes
fc_paramNames - names of parameters used by Fragment Classes; (e.g.: fcParams[x][] contains parameter names for fcName[x])
fc_aliasName - 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 key
fc_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
Throws:
SMWPException - saving meta-data failed; xml document creation failed;

createPageClass

public void createPageClass(java.lang.String pc_rootName,
                            java.lang.String[] pc_paramNames,
                            java.lang.String filename,
                            java.lang.String genApproach,
                            FragmentClass foundationFragmentClass,
                            java.util.Hashtable ffcParamMap,
                            InternalPageRef[] ffcInternalPageRefs,
                            ExternalPageRef[] ffcExternalPageRefs,
                            FragmentClass[] fragmentClasses,
                            java.util.Hashtable[] fcParamMaps,
                            InternalPageRef[][] fcInternalPageRefs,
                            ExternalPageRef[][] fcExternalPageRefs,
                            XMLPublishPCStatement xmlPublishPCStmt)
                     throws SMWPException
Creates Page Class dependent on Foundation Fragment Class foundationFragmentClass with a list of Fragment Classes fragmentClasses mapped.

The created Page Class is based on the parameters of its Foundation Fragment Class, therefore the fragmentation parameters used by the Page Class as Foundation Fragment Class foundationFragmentClass must be identical.

The names of parameters used by (Foundation) Fragment Classes and Page Class can differ, therefore a parameter mapping is to be provided via the variables ffc_paramMap and fc_paramMap using parameter names of Page Class as key and parameter names of Fragment Class as value.

On successfull Page Class creation xml documents are generated using as systemId.

The parameter genApproach specifies how the generated xml documents (defined over Page Class) are kept up to date on changes of (Foundation) Fragment Class relations which are mapped to Page Class.

Parameters:
pc_rootName - root name of Page Class
pc_paramNames - names of parameters used by Page Class
filename - prefix of filename for generated Page Fragments; final filename is fileName {"_" parameterValue ".xml"}
genApproach - generation approach which is either "coreSMWP" or "pullOfFragments" or "onTheFly"
foundationFragmentClass - Foundation Fragment Class for Page Class; this is the Fragment Class with equal parmeters as the Page Class
ffcParamMap - parameter mapping between Page Class parameters and Foundation Fragment Class parameters; using Page Class parameters as key
ffcInternalPageRefs - array of internal page references mapped to Foundation Fragment Class
ffcExternalPageRefs - array of external page references mapped to Foundation Fragment Class
fragmentClasses - Fragment Classes mapped to Page Class
fcParamMaps - parameter mappings between Page Class parameters and Fragment Class parameters; using Page Class parameters as key
fcInternalPageRefs - internal page references mapped to Fragment Class (designated by fcName[x] and fcParam[x][])
fcExternalPageRefs - external page references mapped to Fragment Class (designated by fcName[x] and fcParam[x][])
xmlPublishPCStmt - xml publishing information for Page Class
Throws:
SMWPException - Page Class already exists, Fragment Classes not found, writing meta-data failed

createPredicateParameter

public void createPredicateParameter(java.lang.String rp_name,
                                     java.lang.String fc_rootName,
                                     java.lang.String[] labelName,
                                     java.lang.String[] labelValue)
                              throws SMWPException
Creates Predicate Based Parameter by creating a table in database named "RP_" fr_rootName "_" rp_name with the columns label and predicate.

The table will be filled with data from the String arrays labelName and labelValue.

Parameters:
rp_name - name of the Predicate Parameter which is to be created
fc_rootName - name of the root Fragment Class, which the parameter is defined upon
labelName - predicate parameter label names
labelValue - predicate parameter label values; SQL statements
Throws:
SMWPException - Fragment Class is not Root Fragment Class; parameter already exists; table creation failed; meta-data insertion failed

createValueParameter

public 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 SMWPException
creates new Value Parameter named vbpParam defined upon Root Fragment Class designated by fc_rootName and fc_paramNames = null; the Value Parameter relation is not generated from the Root Fragment Class, it is mapped to an existing relation;
Parameters:
vbpParam - name of the value based parameter
fc_rootName - Fragment Class root name
fc_paramNames - array of parameter names for Fragment Class
rr_tableName - name of table used as reference realation
rr_paramName - parameter name of reference relation (column of reference relation which is to be used as parameter)
Throws:
SMWPException - if Fragment Class is not Root Fragment Class, parameter already exists, table creation failed, meta-data insertion failed

createValueParameter

public void createValueParameter(java.lang.String vbpParam,
                                 java.lang.String fc_rootName,
                                 java.lang.String[] fc_paramNames,
                                 java.lang.String syncPolicy)
                          throws SMWPException
creates new Value Parameter named vbpParam defined upon Root Fragment Class designated by fc_rootName and fc_paramNames = null by creating a table in database named "RV_" fr_rootName "_" vbpParam with the column vpbParam;

syncPolicy specifies the synchronization between the column of Root Fragment Class which is used as source for Value Parameter and its Value Parameter relation (RV<>)

"synchronized" creates a trigger which keeps the FC<> parameter column and the RV<> parameter column synchronized; the RV<> column contains exactly the same parameters as its source FC<>; FC<> grows => RV<> grows; FC<> shrinks => RV<> shrinks

"expansive" creates a trigger which forwards parameter insertions to its RV<> relation; FC<> grows => RV<> grows; FC<> shrinks => RV<> unchanged

"none" no trigger created

Parameters:
vbpParam - name of the value based parameter
fc_rootName - root name of Fragment Class upon which the parameter is to be created
fc_paramNames - names of parameters used by Fragment Class
syncPolicy - synchronize policy used between root Fragment Class and created Reference Relation, which can be "expansive" or "synchronized" or "none"
Throws:
SMWPException - Fragment Class is not Root Fragment Class, parameter already exists, table creation failed, meta-data insertion failed

dropFragmentClass

public void dropFragmentClass(java.lang.String fc_rootName,
                              java.lang.String[] fc_paramNames)
                       throws SMWPException
drop fragment class designated by fc_rootName and fc_paramNames (remove Fragment Class, and depending relations (FR_) and meta-data)
Parameters:
fc_rootName - root name of fragment class which is to be dropped
fc_paramNames - names of parameters used by Fragment Class
Throws:
SMWPException - Fragment Class not found, or in relation with other Fragment Class, Page Class or Parameters are defined upon this Fragment Class

dropPageClass

public void dropPageClass(java.lang.String pc_rootName,
                          java.lang.String[] pc_paramNames)
drops Page Class designated by pc_rootName and pc_paramNames. Removes all Page Class information from meta-tables and deletes all created XML files which were created upon these Page Class.
Parameters:
pc_rootName - root name of Page Class
pc_paramNames - names of parameters used by Page Class

dropParameter

public void dropParameter(java.lang.String paramName,
                          java.lang.String fc_rootName)
                   throws SMWPException
drop parameter designated by fc_rootName and paramName. deletion only permitted if the parameter is not used by any Fragment Class; it drops the parameter reference relation and its meta-data;
Parameters:
paramName - parameter name which is to be deleted
fc_rootName - name of Root Fragment Class the parameter is defined upon
Throws:
SMWPException - deletion of meta-data failed

showFragmentClass

public java.lang.String showFragmentClass(java.lang.String fc_rootName,
                                          java.lang.String[] fc_paramNames)
displays details of Fragment Class designated by fc_rootName and fc_paramNames; shows xml publishing information, used parameters, Fragment Base Class and Derivation Base Class names, ...
Parameters:
fc_rootName - root name of Fragment Class which is to be shown
fc_paramNames - names of parameters used by Fragment Class
Returns:
String output shows Fragment Class description

showFragmentClass

public java.lang.String showFragmentClass()
view list of all defined Fragment Classes
Returns:
String output shows all defined fragment classes

showPageClass

public java.lang.String showPageClass(java.lang.String pc_rootName,
                                      java.lang.String[] pc_paramNames)
view details of Page Class designated by pc_rootName and pc_paramNames;
Parameters:
pc_rootName - root name of Page Class
pc_paramNames - names of parameters used by Page Class
Returns:
String output showing a list of all Page Classes

showPageClass

public java.lang.String showPageClass()
show list of all Page Classes
Returns:
String output shows Page Class description

showParameter

public java.lang.String showParameter(java.lang.String paramName,
                                      java.lang.String fc_rootName,
                                      java.lang.String[] fc_paramNames)
shows Fragment Class Parameter(s) defined upon Root Fragment Class, or used by Fragment Class

Root Fragment Class is designated by fc_rootName and fc_paramNames = null; Fragment Class is designated by fc_rootName and fc_paramNames.

Parameters:
paramName - name of parameter which is to be looked after
fc_rootName - root name of Fragment Class whose parameters are to be viewed
fc_paramNames - names of parameters used by Fragment Class whose parameters are to be viewed
Returns:
String output shows Parameter description

showParameters

public java.lang.String showParameters()
show list of all defined parameters
Returns:
String output shows list of all defined parameters

showParameter

public java.lang.String showParameter(java.lang.String paramName)
show all defined parameter designated by paramName
Parameters:
paramName - name of defined parameter
Returns:
String output shows list of all defined parameters designated by paramName

showParametersOfFragmentClass

public java.lang.String showParametersOfFragmentClass(java.lang.String fc_rootName,
                                                      java.lang.String[] fc_paramNames)
prints parameter description of parameters used by Fragment Class, or defined upon Root Fragment Class; fc_rootName and fc_paramNames
Parameters:
fc_rootName - root name of Fragment Class whose parameters are to be viewed
fc_paramNames - names of parameters used by Fragment Class whose parameters are to be viewed
Returns:
String output shows list of all parameters of a given Fragment Class