Class GetMatchingPVs

java.lang.Object
org.epics.archiverappliance.retrieval.bpl.GetMatchingPVs
All Implemented Interfaces:
BPLAction

public class GetMatchingPVs extends Object implements BPLAction
Get matching PV's for this appliance. Specify one of pv or regex. If both are specified, we only apply the pv wildcard. If neither is specified, we return an empty list.
  1. pv - An optional argument that can contain a GLOB wildcard. We will return PVs that match this GLOB. For example, if pv=KLYS*, the server will return all PVs that start with the string KLYS.
  2. regex - An optional argument that can contain a Java regex wildcard. We will return PVs that match this regex. For example, if pv=KLYS.*, the server will return all PVs that start with the string KLYS.
  3. limit - An optional argument that specifies the number of matched PV's that are returned. If unspecified, we return 500 PV names. To get all the PV names, (potentially in the millions), set limit to -1.
Author:
mshankar
  • Constructor Details

    • GetMatchingPVs

      public GetMatchingPVs()
  • Method Details

    • execute

      public void execute(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, ConfigService configService) throws IOException
      Specified by:
      execute in interface BPLAction
      Throws:
      IOException
    • getMatchingPVsInCluster

      public static List<String> getMatchingPVsInCluster(ConfigService configService, int limit, String nameToMatch, boolean includeExternalServers) throws IOException
      Get a list of PV's being archived in this cluster
      Parameters:
      configService - ConfigService
      limit - The numbers of PV's you want to limit the response to;
      nameToMatch - A regex specifying the PV name pattern; globs should be converted to regex's
      includeExternalServers - - Do you want to include external servers
      Returns:
      mathcing PVs in the cluster
      Throws:
      IOException -  
    • includeExternalServers

      public static boolean includeExternalServers(javax.servlet.http.HttpServletRequest req)
      To prevent infinite loops and such, we can specify that we do not proxy to external servers for this data retrieval request.
      Parameters:
      req - HttpServletRequest
      Returns:
      boolean True or False