Class ComponentBundleImpl

  • All Implemented Interfaces:
    ComponentBundle

    public final class ComponentBundleImpl
    extends Object
    implements ComponentBundle
    Implementation of a GX WebManager component bundle providing registration and management of the components the WCB provides.
    • Constructor Detail

      • ComponentBundleImpl

        public ComponentBundleImpl​(ComponentBundleDefinition bundleDefinition,
                                   org.apache.felix.dm.DependencyManager dependencyManager)
        Constructor.
        Parameters:
        bundleDefinition - bundleDefinition for this bundle
        dependencyManager - dependencyManager for this bundle
    • Method Detail

      • init

        public void init()
        Callback from dependency manager.
      • destroy

        public void destroy()
        Callback from dependency manager.
      • start

        public void start()
                   throws Exception
        Description copied from interface: ComponentBundle
        Checks if the component bundle's components are registered, if not, it registers the components. Then checks if the components are installed, if not, it installs the components. Finally activates all components.
        Specified by:
        start in interface ComponentBundle
        Throws:
        Exception - when starting of ComponentBundle was not successful.
      • stop

        public void stop()
        Description copied from interface: ComponentBundle
        Deactivates all component bundle's components.
        Specified by:
        stop in interface ComponentBundle
      • componentTypeAdded

        public void componentTypeAdded​(org.osgi.framework.ServiceReference serviceReference,
                                       Object service)
        Call-back method for the dependency manager. The Component Bundle has a non-required service dependency on Component Types with this call-back method. In case of a Component Type being added make sure that all components this bundle exposes that are of the added component type are checked, and if not made a service of yet create a service and register to the dependency manager.
        Parameters:
        serviceReference - Reference to the added component type service and its meta data.
        service - The actual component type service.
      • componentTypeRemoved

        public void componentTypeRemoved​(org.osgi.framework.ServiceReference serviceReference,
                                         Object service)
        Call-back method for the dependency manager. A call occurs whenever a component type service is not active anymore. The dependency manager makes sure any component services that are of the type of component that is being removed is made inactive.
        Parameters:
        serviceReference - Reference to the added component type service and its meta data.
        service - The actual component type service.
      • getVersion

        public org.osgi.framework.Version getVersion()
        Description copied from interface: ComponentBundle
        The technical version of a ComponentBundle is read from the Manifest.
        Specified by:
        getVersion in interface ComponentBundle
        Returns:
        the technical version, or null if not defined properly in the Manifest
      • getBundleContext

        public org.osgi.framework.BundleContext getBundleContext()
        Gets the bundle context.
        Specified by:
        getBundleContext in interface ComponentBundle
        Returns:
        bundle context
      • getDependencyManager

        public org.apache.felix.dm.DependencyManager getDependencyManager()
        Gets the dependency manager.
        Returns:
        dependency manager.
      • isLicensed

        public boolean isLicensed​(ComponentDefinition componentDefinition)
        Description copied from interface: ComponentBundle
        Returns if a valid license is installed for the given component definition
        Specified by:
        isLicensed in interface ComponentBundle
        Parameters:
        componentDefinition - Component definition to check the license for
        Returns:
        true if a valid license is installed for the component definition or the component definition is not licensed, false otherwise
      • getBaseDirectory

        public String getBaseDirectory()
        Description copied from interface: ComponentBundle
        Returns the base directory where all backend files are located.
        Specified by:
        getBaseDirectory in interface ComponentBundle
        Returns:
        the base directory where all backend files are located
      • getWebrootDirectory

        public String getWebrootDirectory()
        Description copied from interface: ComponentBundle
        Returns the base directory where all static files are located.
        Specified by:
        getWebrootDirectory in interface ComponentBundle
        Returns:
        the base directory where all static files are located
      • getWorkDirectory

        public String getWorkDirectory()
        path of a working directory which can be used by this component bundle to store temporary or non-temporary files. This work directory is intended to be used only by master, never by slaves. For this reason this method will return null when retrieved from a slave.
        Specified by:
        getWorkDirectory in interface ComponentBundle
        Returns:
        Full path to a local working directory when this method is invoked from the master, null if this method is invoked from a slave or if the directory could not be created.
      • writeComponentBundleResourcesToFile

        public void writeComponentBundleResourcesToFile​(String srcFileNamePrefix,
                                                        String destFileNamePrefix,
                                                        String baseDirectory)
        Description copied from interface: ComponentBundle
        Deploys all files from the given jar source (srcFileNamePrefix)to the given destFileNamePrefix.
        Specified by:
        writeComponentBundleResourcesToFile in interface ComponentBundle
        Parameters:
        srcFileNamePrefix - prefix for the srcFileNames location in the jar f.e. editpresentation/
        destFileNamePrefix - destination path can hold bundle specific names f.e. /WEB-INF/wm/jsp/edit/wcb/{bundle_id}/
        baseDirectory - base directory for the destination path
      • formatFileName

        public String formatFileName​(String fileName)
        Description copied from interface: ComponentBundle
        Ensures that the given fileName is a system path; System specifiek direcory indicators.
        Specified by:
        formatFileName in interface ComponentBundle
        Parameters:
        fileName - Original file name
        Returns:
        fileName File name formatted using the correct directory separators
      • substringAfter

        public String substringAfter​(String str,
                                     String separator)
        Description copied from interface: ComponentBundle
        Returns the substring of str after the seperator.
        Specified by:
        substringAfter in interface ComponentBundle
        Parameters:
        str - input String
        separator - seperator string
        Returns:
        substring after seperator, "" if seperator not exists
      • deleteExcludedBundleResources

        public void deleteExcludedBundleResources​(String srcFileNamePrefix,
                                                  String destFileNamePrefix,
                                                  String baseDirectory)
        Description copied from interface: ComponentBundle
        Deletes all files not in the given jar source (srcFileNamePrefix) from the given destFileNamePrefix.
        Specified by:
        deleteExcludedBundleResources in interface ComponentBundle
        Parameters:
        srcFileNamePrefix - prefix for the srcFileNames location in the jar f.e. editpresentation/
        destFileNamePrefix - destination path can hold bundle specific names f.e. /WEB-INF/wm/jsp/edit/wcb/{bundle_id}/
        baseDirectory - base directory for the destination path