Package thredds.cataloggen

Examples of thredds.cataloggen.ProxyDatasetHandler


    if ( addLatestElem != null )
    {
      // Check for simpleLatest element.
      Element simpleLatestElem = addLatestElem.getChild( "simpleLatest", defNS );
      // Get a SimpleLatestDsHandler, use default values if element is null.
      ProxyDatasetHandler pdh = readDatasetScanAddLatest( simpleLatestElem, catalog );
        if ( pdh != null )
          allProxyDsHandlers.put( pdh.getProxyDatasetName(), pdh );
    }

    // Handle all "addProxies" elements.
    if ( addProxiesElem != null )
    {
      for ( Iterator it = addProxiesElem.getChildren().iterator(); it.hasNext(); )
      {
        Element curChildElem = (Element) it.next();
        ProxyDatasetHandler curPdh;

        // Handle "simpleLatest" child elements.
        if ( curChildElem.getName().equals( "simpleLatest")
             && curChildElem.getNamespace().equals( defNS) )
        {
          curPdh = readDatasetScanAddLatest( curChildElem, catalog );
        }

        // Handle "latestComplete" child elements.
        else if ( curChildElem.getName().equals( "latestComplete" )
                  && curChildElem.getNamespace().equals( defNS ) )
        {
          // Get latest name.
          String latestName = curChildElem.getAttributeValue( "name" );
          if ( latestName == null )
          {
            logger.warn( "readDatasetScanAddProxies(): unnamed latestComplete, skipping.");
            continue;
          }

          // Does latest go on top or bottom of list.
          Attribute topAtt = curChildElem.getAttribute( "top" );
          boolean latestOnTop = true;
          if ( topAtt != null )
          {
            try
            {
              latestOnTop = topAtt.getBooleanValue();
            }
            catch ( DataConversionException e )
            {
              latestOnTop = true;
            }
          }

          // Get the latest service name.
          String serviceName = curChildElem.getAttributeValue( "serviceName" );
          if ( serviceName == null )
          {
            logger.warn( "readDatasetScanAddProxies(): no service name given in latestComplete." );
            continue;
          }
          InvService service = catalog.findService( serviceName );
          if ( service == null )
          {
            logger.warn( "readDatasetScanAddProxies(): named service <" + serviceName + "> not found." );
            continue;
          }

          // Get lastModifed limit.
          String lastModLimitVal = curChildElem.getAttributeValue( "lastModifiedLimit" );
          long lastModLimit;
          if ( lastModLimitVal == null )
            lastModLimit = 60; // Default to one hour
          else
            lastModLimit = Long.parseLong( lastModLimitVal);

          // Get isResolver.
          String isResolverString = curChildElem.getAttributeValue( "isResolver");
          boolean isResolver = true;
          if ( isResolverString != null )
            if ( isResolverString.equalsIgnoreCase( "false"))
              isResolver = false;

          // Build the SimpleLatestProxyDsHandler and add to map.
          curPdh = new LatestCompleteProxyDsHandler( latestName, latestOnTop, service, isResolver, lastModLimit );
        }
        else
        {
          curPdh = null;
          // @todo Deal with allowing user defined inserters
          //Element userDefElem = addLatestElem.getChild( "proxyDatasetHandlerImpl", defNS );
        }

        // Add current proxy dataset handler to map if name is not already in map.
        if ( curPdh != null )
        {
          if ( allProxyDsHandlers.containsKey( curPdh.getProxyDatasetName() ) )
          {
            logger.warn( "readDatasetScanAddProxies(): proxy map already contains key <" + curPdh.getProxyDatasetName() + ">, skipping." );
            continue;
          }
          allProxyDsHandlers.put( curPdh.getProxyDatasetName(), curPdh );
        }
      }
    }

    return allProxyDsHandlers;
View Full Code Here


   * @return a SimpleLatestProxyDsHandler
   */
  private ProxyDatasetHandler readDatasetScanAddLatest( Element simpleLatestElem, InvCatalogImpl catalog )
  {
    // Default values is simpleLatestElem is null.
    ProxyDatasetHandler latestAdder = null;
    String latestName = "latest.xml";
    boolean latestOnTop = true;
    String latestServiceName = "latest";
    boolean isResolver = true;

View Full Code Here

    // Write "addProxies" element
    addProxiesElem = new Element( "addProxies", defNS );
    for ( Iterator it = proxyDsHandlers.keySet().iterator(); it.hasNext(); )
    {
      String curName = (String) it.next();
      ProxyDatasetHandler curPdh = (ProxyDatasetHandler) proxyDsHandlers.get( curName );

      if ( curPdh instanceof SimpleLatestProxyDsHandler )
      {
        SimpleLatestProxyDsHandler sPdh = (SimpleLatestProxyDsHandler) curPdh;

        Element simpleLatestElem = new Element( "simpleLatest", defNS );

        simpleLatestElem.setAttribute( "name", sPdh.getProxyDatasetName() );
        simpleLatestElem.setAttribute( "top", sPdh.isLocateAtTopOrBottom() ? "true" : "false" );
        simpleLatestElem.setAttribute( "servicName", sPdh.getProxyDatasetService( null ).getName() );
        addProxiesElem.addContent( simpleLatestElem );
      }
      else if ( curPdh instanceof LatestCompleteProxyDsHandler )
      {
        LatestCompleteProxyDsHandler lcPdh = (LatestCompleteProxyDsHandler) curPdh;
        Element latestElem = new Element( "latestComplete", defNS );
        latestElem.setAttribute( "name", lcPdh.getProxyDatasetName() );
        latestElem.setAttribute( "top", lcPdh.isLocateAtTopOrBottom() ? "true" : "false" );
        latestElem.setAttribute( "servicName", lcPdh.getProxyDatasetService( null ).getName() );
        latestElem.setAttribute( "lastModifiedLimit", Long.toString( lcPdh.getLastModifiedLimit()));
        addProxiesElem.addContent( latestElem );
      }
      else
      {
        logger.warn( "writeDatasetScanAddProxies(): unknown type of ProxyDatasetHandler <" + curPdh.getProxyDatasetName() + ">.");
        // latestAdderElem.addContent( writeDatasetScanUserDefined( "datasetInserterImpl", latestAdder.getClass().getName(), latestAdder.getConfigObject() ) );
      }

    }
    return addProxiesElem;
View Full Code Here

TOP

Related Classes of thredds.cataloggen.ProxyDatasetHandler

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.