org.sandev.tools.UIEditor
Class UIEditorFormOwner

java.lang.Object
  extended byorg.sandev.tools.UIEditor.UIEditorFormOwner
All Implemented Interfaces:
org.sandev.basics.util.AuthUserLookup, org.sandev.basics.util.IDLookup, org.sandev.basics.util.NameLookup, org.sandev.basics.util.UIFileLocator, org.sandev.basics.util.UIFormAdaptorCallback, org.sandev.basics.util.UIFormOwner

public class UIEditorFormOwner
extends java.lang.Object
implements org.sandev.basics.util.UIFormOwner

Handles SandUI form ownership in support of editing interfaces. This is an implementation of UIFormOwner that writes the SandUI message to file on save.


Field Summary
protected  org.sandev.basics.nodecommon.CharSerializer charSerializer
          The CharSerializer we should use when writing data.
protected  org.sandev.ui.sandmessages.SandUI currUI
          Our local reference to the top level SandUI object so that we can resolve name references.
protected  java.lang.String filename
          The name of the file we are storing the SandUI information in.
protected  java.lang.String inboundFilesLink
          The base link specification for inbound files.
protected  java.lang.String outboundFilesLink
          The base link specification for outbound files.
 
Fields inherited from interface org.sandev.basics.util.UIFormOwner
ACTION_REFRESH_GLOBAL_DATA
 
Constructor Summary
UIEditorFormOwner()
           
 
Method Summary
 org.sandev.basics.util.UIFormContext doAction(java.lang.String actionName, org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl)
          Does nothing.
 void doActionAddHook(org.sandev.basics.util.UIFormContext uifc)
          Given the UIFormContext which will be used to present a new form for the user to fill out, preprocess ad needed before returning control to the UIFormManager.
 void doActionEditHook(org.sandev.basics.util.UIFormContext uifc)
          Given the UIFormContext containing the instance we are editing, preprocess as needed before returning control to the UIFormManager.
 void doActionFindHook(org.sandev.basics.util.UIFormContext uifc)
          Given the UIFormContext reconstructed on an ACTION_FIND, preprocess as needed before returning control to the UIFormManager.
 java.lang.String filterDisplayText(java.lang.String value)
          No filtering of display text is done.
 java.util.Map filterInputParameters(java.lang.String prefix, java.util.Map params, java.lang.StringBuffer outText)
          No remapping of parameters is done.
 java.lang.String forgotPassword(java.lang.String username, java.lang.String secondary)
          Does nothing
 org.sandev.basics.structs.SandCollectionMessage formFind(org.sandev.basics.structs.SandQueryMessage sqm, org.sandev.basics.util.UIFormContext uifc)
          Look up a Screen by name.
 void formHelp(org.sandev.basics.util.UIFormContext uifc)
          Pop up the docs for this message.
 void formSave(org.sandev.basics.util.UIFormContext uifc)
          Write the SandUI to file.
 org.sandev.basics.util.AuthFilter getAuthFilter()
          No AuthFilter since authorization is file based.
 org.sandev.basics.nodecommon.CharSerializer getCharSerializer()
          accessor for charSerializer
 org.sandev.ui.sandmessages.SandUI getCurrUI()
          accessor for currUI
 java.lang.String getDeploymentPrefix()
          Just returns the empty string.
 java.lang.String getFilename()
          accessor for filename
 java.lang.String getInboundFilesDir()
          The directory where uploaded files should be written to.
 java.lang.String getInboundFilesLink()
          Accessor for inboundFilesLink
 org.sandev.basics.structs.SandPersistMessage getInstance(java.lang.String classname, long id, org.sandev.basics.util.AuthUser user)
          Returns null.
 org.sandev.basics.structs.SandInstanceMessage getInstance(java.lang.String classname, java.lang.String fieldname, java.lang.String value, org.sandev.basics.util.AuthUser user)
          Look up the specified instance.
 java.lang.String getOutboundFilesDir()
          The directory where uploaded files should be written to.
 java.lang.String getOutboundFilesLink()
          Accessor for outboundFilesLink
 org.sandev.basics.util.ArrayAssociation getSelectionValues(org.sandev.basics.structs.SandInstanceMessage msg, java.lang.String fieldname, org.sandev.basics.util.AuthUser user)
          Return an appropriate selection list for this field.
 java.lang.String getTechSupportEmailAddress()
          Just returns the empty string.
 org.sandev.basics.util.AuthUser getUserForID(long authID)
          Returns null.
 org.sandev.basics.util.AuthUser getUserFromLogin(java.lang.String username, java.lang.String password)
          Returns null.
 org.sandev.basics.util.UserWorkLog getUserWorkLog()
          No user work log.
 boolean isActive(java.lang.String actionName, org.sandev.basics.util.UIFormContext uifc, boolean defaultValue)
          Returns false.
 void log(int severity, java.lang.String text)
          Log the given text.
 void setCharSerializer(org.sandev.basics.nodecommon.CharSerializer val)
          mutator for charSerializer
 void setCurrUI(org.sandev.ui.sandmessages.SandUI ui)
          mutator for currUI
 void setFilename(java.lang.String val)
          mutator for filename
 void setInboundFilesLink(java.lang.String defaultInboundFilesLink)
          Mutator for inboundFilesLink.
 void setOutboundFilesLink(java.lang.String defaultOutboundFilesLink)
          Mutator for outboundFilesLink.
 void trackFormProcessCall(org.sandev.basics.util.UIFormContext uifc)
          Reset our cache with the updated information.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

currUI

protected org.sandev.ui.sandmessages.SandUI currUI
Our local reference to the top level SandUI object so that we can resolve name references.


filename

protected java.lang.String filename
The name of the file we are storing the SandUI information in.


charSerializer

protected org.sandev.basics.nodecommon.CharSerializer charSerializer
The CharSerializer we should use when writing data. Set by the servlet that uses us as a UIFormOwner.


inboundFilesLink

protected java.lang.String inboundFilesLink
The base link specification for inbound files.


outboundFilesLink

protected java.lang.String outboundFilesLink
The base link specification for outbound files.

Constructor Detail

UIEditorFormOwner

public UIEditorFormOwner()
Method Detail

getCurrUI

public org.sandev.ui.sandmessages.SandUI getCurrUI()
accessor for currUI


setCurrUI

public void setCurrUI(org.sandev.ui.sandmessages.SandUI ui)
mutator for currUI


getFilename

public java.lang.String getFilename()
accessor for filename


setFilename

public void setFilename(java.lang.String val)
mutator for filename


getCharSerializer

public org.sandev.basics.nodecommon.CharSerializer getCharSerializer()
accessor for charSerializer


setCharSerializer

public void setCharSerializer(org.sandev.basics.nodecommon.CharSerializer val)
mutator for charSerializer


getInstance

public org.sandev.basics.structs.SandPersistMessage getInstance(java.lang.String classname,
                                                                long id,
                                                                org.sandev.basics.util.AuthUser user)
                                                         throws org.sandev.basics.structs.SandException
Returns null. There are no references to persistent data in a SAND UI definition.

Specified by:
getInstance in interface org.sandev.basics.util.IDLookup
Throws:
org.sandev.basics.structs.SandException

getUserForID

public org.sandev.basics.util.AuthUser getUserForID(long authID)
                                             throws org.sandev.basics.structs.SandException
Returns null. The SAND UI editor uses file based authorization.

Specified by:
getUserForID in interface org.sandev.basics.util.AuthUserLookup
Throws:
org.sandev.basics.structs.SandException

getUserFromLogin

public org.sandev.basics.util.AuthUser getUserFromLogin(java.lang.String username,
                                                        java.lang.String password)
                                                 throws org.sandev.basics.structs.SandException
Returns null. The SAND UI editor uses file based authorization.

Specified by:
getUserFromLogin in interface org.sandev.basics.util.AuthUserLookup
Throws:
org.sandev.basics.structs.SandException

getInstance

public org.sandev.basics.structs.SandInstanceMessage getInstance(java.lang.String classname,
                                                                 java.lang.String fieldname,
                                                                 java.lang.String value,
                                                                 org.sandev.basics.util.AuthUser user)
                                                          throws org.sandev.basics.structs.SandException
Look up the specified instance. The only string references in a SandUI are to Screens, which are all at the top level of declarations by name. So that's all we handle here.

Specified by:
getInstance in interface org.sandev.basics.util.NameLookup
Throws:
org.sandev.basics.structs.SandException

setInboundFilesLink

public void setInboundFilesLink(java.lang.String defaultInboundFilesLink)
Mutator for inboundFilesLink.

Specified by:
setInboundFilesLink in interface org.sandev.basics.util.UIFileLocator

getInboundFilesLink

public java.lang.String getInboundFilesLink()
Accessor for inboundFilesLink

Specified by:
getInboundFilesLink in interface org.sandev.basics.util.UIFileLocator

getInboundFilesDir

public java.lang.String getInboundFilesDir()
The directory where uploaded files should be written to.

Specified by:
getInboundFilesDir in interface org.sandev.basics.util.UIFileLocator

setOutboundFilesLink

public void setOutboundFilesLink(java.lang.String defaultOutboundFilesLink)
Mutator for outboundFilesLink.

Specified by:
setOutboundFilesLink in interface org.sandev.basics.util.UIFileLocator

getOutboundFilesLink

public java.lang.String getOutboundFilesLink()
Accessor for outboundFilesLink

Specified by:
getOutboundFilesLink in interface org.sandev.basics.util.UIFileLocator

getOutboundFilesDir

public java.lang.String getOutboundFilesDir()
The directory where uploaded files should be written to.

Specified by:
getOutboundFilesDir in interface org.sandev.basics.util.UIFileLocator

getSelectionValues

public org.sandev.basics.util.ArrayAssociation getSelectionValues(org.sandev.basics.structs.SandInstanceMessage msg,
                                                                  java.lang.String fieldname,
                                                                  org.sandev.basics.util.AuthUser user)
Return an appropriate selection list for this field.

Specified by:
getSelectionValues in interface org.sandev.basics.util.UIFormAdaptorCallback

doActionFindHook

public void doActionFindHook(org.sandev.basics.util.UIFormContext uifc)
Given the UIFormContext reconstructed on an ACTION_FIND, preprocess as needed before returning control to the UIFormManager.

Specified by:
doActionFindHook in interface org.sandev.basics.util.UIFormAdaptorCallback

doActionAddHook

public void doActionAddHook(org.sandev.basics.util.UIFormContext uifc)
Given the UIFormContext which will be used to present a new form for the user to fill out, preprocess ad needed before returning control to the UIFormManager.

Specified by:
doActionAddHook in interface org.sandev.basics.util.UIFormAdaptorCallback

doActionEditHook

public void doActionEditHook(org.sandev.basics.util.UIFormContext uifc)
Given the UIFormContext containing the instance we are editing, preprocess as needed before returning control to the UIFormManager.

Specified by:
doActionEditHook in interface org.sandev.basics.util.UIFormAdaptorCallback

filterDisplayText

public java.lang.String filterDisplayText(java.lang.String value)
No filtering of display text is done.

Specified by:
filterDisplayText in interface org.sandev.basics.util.UIFormAdaptorCallback

filterInputParameters

public java.util.Map filterInputParameters(java.lang.String prefix,
                                           java.util.Map params,
                                           java.lang.StringBuffer outText)
                                    throws org.sandev.basics.util.UIFormAdaptorException
No remapping of parameters is done.

Specified by:
filterInputParameters in interface org.sandev.basics.util.UIFormAdaptorCallback
Throws:
org.sandev.basics.util.UIFormAdaptorException

log

public void log(int severity,
                java.lang.String text)
Log the given text. The severity level is ignored since this is just a simple editing tool and we are dumping to stdout.

Specified by:
log in interface org.sandev.basics.util.UIFormAdaptorCallback

formFind

public org.sandev.basics.structs.SandCollectionMessage formFind(org.sandev.basics.structs.SandQueryMessage sqm,
                                                                org.sandev.basics.util.UIFormContext uifc)
                                                         throws org.sandev.basics.util.UIFormManagerException
Look up a Screen by name.

Specified by:
formFind in interface org.sandev.basics.util.UIFormOwner
Throws:
org.sandev.basics.util.UIFormManagerException

formSave

public void formSave(org.sandev.basics.util.UIFormContext uifc)
              throws org.sandev.basics.util.UIFormManagerException
Write the SandUI to file.

Specified by:
formSave in interface org.sandev.basics.util.UIFormOwner
Throws:
org.sandev.basics.util.UIFormManagerException

formHelp

public void formHelp(org.sandev.basics.util.UIFormContext uifc)
Pop up the docs for this message. We leave a marker here in the output text, which is then picked up during form display to trigger a popup with the docs for this message class.

Specified by:
formHelp in interface org.sandev.basics.util.UIFormOwner

trackFormProcessCall

public void trackFormProcessCall(org.sandev.basics.util.UIFormContext uifc)
Reset our cache with the updated information.

Specified by:
trackFormProcessCall in interface org.sandev.basics.util.UIFormOwner

isActive

public boolean isActive(java.lang.String actionName,
                        org.sandev.basics.util.UIFormContext uifc,
                        boolean defaultValue)
Returns false. No actions supported

Specified by:
isActive in interface org.sandev.basics.util.UIFormOwner

doAction

public org.sandev.basics.util.UIFormContext doAction(java.lang.String actionName,
                                                     org.sandev.basics.util.UIFormContext uifc,
                                                     org.sandev.basics.util.UserWorkLog uwl)
                                              throws org.sandev.basics.util.UIFormManagerException
Does nothing. No actions supported.

Specified by:
doAction in interface org.sandev.basics.util.UIFormOwner
Throws:
org.sandev.basics.util.UIFormManagerException

forgotPassword

public java.lang.String forgotPassword(java.lang.String username,
                                       java.lang.String secondary)
                                throws org.sandev.basics.util.UIFormManagerException
Does nothing

Specified by:
forgotPassword in interface org.sandev.basics.util.UIFormOwner
Throws:
org.sandev.basics.util.UIFormManagerException

getAuthFilter

public org.sandev.basics.util.AuthFilter getAuthFilter()
                                                throws org.sandev.basics.util.UIFormManagerException
No AuthFilter since authorization is file based.

Specified by:
getAuthFilter in interface org.sandev.basics.util.UIFormOwner
Throws:
org.sandev.basics.util.UIFormManagerException

getUserWorkLog

public org.sandev.basics.util.UserWorkLog getUserWorkLog()
No user work log.

Specified by:
getUserWorkLog in interface org.sandev.basics.util.UIFormOwner

getDeploymentPrefix

public java.lang.String getDeploymentPrefix()
Just returns the empty string.

Specified by:
getDeploymentPrefix in interface org.sandev.basics.util.UIFormOwner

getTechSupportEmailAddress

public java.lang.String getTechSupportEmailAddress()
Just returns the empty string.

Specified by:
getTechSupportEmailAddress in interface org.sandev.basics.util.UIFormOwner