Class PIAExtendedServicesBase

All Implemented Interfaces:
PSaveable, PAppComponent, PClientComponent, PCollectDataListener, PComponent, PComponentAttribute, PViewDataChangeListener, ContainerListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible
Direct Known Subclasses:
GSMGeneralAttributesPanel, LoginWrapper, PBroadbandPanel, PEmailPanel, PGPRSPanel, PGSMPanel, PIAExtendedDevicesBase, PIPPanel, PMSExchangeOrgPanel, PMSExchangeUserPanel, PServiceDefault, PSMSPanel, PTelcoServicePanel, PTelephonyPanel, PVideoPanel, PWAPPanel

public class PIAExtendedServicesBase extends PIACustomizablePanel implements PSaveable
The base panel for extended service information panels. Contains the knowledge for saving the information in these panels for account creation and maintenance.
Any extended service panel you wish to add should subclass this panel. That extended service panel can then be used during account creation AND account maintenance with one caveat:
The modelFieldDescription() for every widget in the panel must start with "FldInheritedInfo[0].". During account maintenance, this is the required input FList format for calling the CUST_MODIFY_SERVICE opcode.
During account creation, this same format is also used though it is contained within a FldServices[] array. This panel will take care of this automatically.
See Also:
  • Field Details

    • INDEX

      public static final Object INDEX
      Used during account creation to identify the FldServices index the data in this panel should be associated with.
    • mServiceType

      protected String mServiceType
      The storable class type of the service this panel will display.
  • Constructor Details

    • PIAExtendedServicesBase

      public PIAExtendedServicesBase()
      Creates a new panel - shouldn't ever be done. This class should be abstract but JBuilder does strange things in the subclasses so we didn't make this abstract.
  • Method Details

    • setServiceID

      public void setServiceID(String serviceID)
      This sets up a unique service id for the panel taken from the services array in the plan object. This is set in PNewServicePage
      Parameters:
      serviceID -
    • getServiceID

      public String getServiceID()
    • collectData

      public void collectData(PCollectDataEvent event)
      Special handling for account creation. After normal data collection for the panel, that FList/PModelHandle is tweaked and then grafted onto the FList/PModelHandle that is passed in. This is necessary because the modelFieldDescription() for the components in the extended service panels are not fully qualified (so the same modelFieldDescription can be used for both account creation and maintenance).
      Subclasses should override localCollectData() if they need to perform special processing before committing data to Portal.
      Specified by:
      collectData in interface PCollectDataListener
      Overrides:
      collectData in class PIACustomizablePanel
      Parameters:
      event - The marshal data event
    • save

      public com.portal.app.util.CustomerValErrorData[] save()
      Attempts to save any changes made to this page.
      Specified by:
      save in interface PSaveable
      Returns:
      An array of errors, or null if the save was successful
    • getControllerClassName

      public String getControllerClassName() throws RemoteException
      Description copied from class: PIACustomizablePanel
      Retrieves the class name of this component's controller, in this case, null.
      Specified by:
      getControllerClassName in interface PComponent
      Overrides:
      getControllerClassName in class PIACustomizablePanel
      Returns:
      A null String.
      Throws:
      RemoteException - thrown for errors
    • supportsLoginAndPassword

      public boolean supportsLoginAndPassword()
      Panels from 6.1 did not include entry fields for login/password. For those panels we will provide a wrapper that will allow the user to enter that data.
      Subclasses should override this to return true if they provide this themselves.
      Returns:
      false by default for compatibility with 6.1
    • getIDValue

      public String getIDValue()
      Retrive the login ID of this base.
    • setType

      public void setType(String serviceType)
      Set the service type for the panel. Called in PExtendedServicePanel after a panel of type PIAExtendedServicesBase is instantiated. Override this method to implement service type specific logic in the subclass of PIAExtendedServicesBase.
      Parameters:
      serviceType - The storable class type of the service.
    • setIndex

      public void setIndex(int idx)
      Set the index of the service during account creation.
      Parameters:
      idx - The index of the service in the input flist for the account creation.
    • doGraft

      protected void doGraft(PModelHandle[] models, int idx)
    • isAccountCreation

      protected boolean isAccountCreation()
      Used by subclasses to determine if they were instantiated as part of account creation or maintenance.
      Returns:
      true if this panel is in the account creation wizard; false otherwise
    • localCollectData

      public void localCollectData(PCollectDataEvent event)
      Subclasses should override this instead of collectData() if they need to mangle the data that gets sent to Portal. This base implementation just calls super.collectData()
      Parameters:
      The - collect data event
    • hasValidData

      public boolean hasValidData()
      Called to determine if the data contained in this page is valid. This will be useful if you wish to, for example, not allow a CSR to switch between service instances without first correcting an error on this page. Of course, be sure to tell them exactly how to fix the error. Or at a minimum give them a dialog that allows them to fix or ignore the error. In that case, if they ignore the error you could return true from this method. Essentially returning false is one way to keep the user on this service page.
      Returns:
      true if the data is valid (default); false otherwise
    • getIndex

      public int getIndex()