Package org.pentaho.cdf.packager

Source Code of org.pentaho.cdf.packager.StaticDependenciesPackage

package org.pentaho.cdf.packager;

import pt.webdetails.cpf.context.api.IUrlProvider;
import pt.webdetails.cpf.packager.DependenciesPackage;
import pt.webdetails.cpf.packager.origin.PathOrigin;
import pt.webdetails.cpf.repository.api.IContentAccessFactory;
import pt.webdetails.cpf.repository.api.IReadAccess;

/**
* A {@link DependenciesPackage} that only accepts files at creation. TODO: extract common superclass
*/
public class StaticDependenciesPackage extends DependenciesPackage {

  private boolean registryClosed = false;

  public StaticDependenciesPackage(
      String name,
      PackageType type,
      IContentAccessFactory factory,
      IUrlProvider urlProvider,
      PathOrigin origin,
      String[] files)
  {
    super( name, type, factory, urlProvider );
    IReadAccess reader = origin.getReader( factory );
    for ( String filePath : files ) {
      String version = Long.toString( reader.getLastModified( filePath ) );
      registerFileDependency( filePath, version, origin, filePath );
    }
    registryClosed = true;
  }

  @Override
  public boolean registerFileDependency( String name, String version, PathOrigin origin, String path ) {
    if ( registryClosed ) throw new IllegalStateException( "Can only register in constructor!" );
    return super.registerFileDependency( name, version, origin, path );
  }
}
TOP

Related Classes of org.pentaho.cdf.packager.StaticDependenciesPackage

TOP
Copyright © 2018 www.massapi.com. 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.