Package org.apache.derbyTesting.functionTests.util

Source Code of org.apache.derbyTesting.functionTests.util.DbFile

/*

   Derby - Class org.apache.derbyTesting.functionTests.util.DbFile

   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

*/

package org.apache.derbyTesting.functionTests.util;

import org.apache.derby.iapi.error.StandardException;
import org.apache.derby.iapi.store.access.FileResource;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.lang.StringBuffer;
import java.net.URL;

/**
  Utility class for testing files stored in the database.
  */
public class DbFile
{
  /**
    Read the current generation of a file stored in the
    database we are connected to and return a 1 line string
    representation of the file.

    Sample usage
    values org.apache.derbyTesting.functionTests.util.DbFile::readAsString('S1','J1');
    @exception Exception Oops.
    */
/* 
CANT USE JarAccess - not a public API (actually it's gone!)
public static String
  readAsString(String schemaName, String sqlName)
     throws Exception
  {
    InputStream is = JarAccess.getAsStream(schemaName,
                      sqlName,
                       FileResource.CURRENT_GENERATION_ID);
    return stringFromFile(is);
  }
*/
  /**
    Create a string that contains a representation of the content of
    a file for testing.
    @exception Exception Oops.
    */
  public static String
  stringFromFile(InputStream is)
     throws Exception
  {
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br =
      new BufferedReader(isr);
    StringBuffer sb = new StringBuffer();
    String l;
    while((l = br.readLine()) != null) {
      sb.append(l);
      sb.append("<CR>");
    }
    is.close();
    return sb.toString();
  }

  /**
    Get the URL for a resource.

    @param packageName the name of the resource package
    @param name the name of the resourse.
    */
  public static URL
  getResourceURL(String packageName, String name)
  {
    String resourceName =
      "/"+
      packageName.replace('.','/')+
      "/"+
      name;
    //
    //We need a class to get our URL. Since we give a
    //fully qualified name for the URL, any class will
    //do.
    Class c = resourceName.getClass();
    URL url = c.getResource(resourceName);
    return url;
  }

  /**
    Get an InputStream for reading a resource.

    @param packageName the name of the resource package
    @param name the name of the resourse.
    @exception Exception Oops.
    */
  public static InputStream
  getResourceAsStream(String packageName, String name)
  {
    String resourceName =
      "/"+
      packageName.replace('.','/')+
      "/"+
      name;
    //
    //We need a class to get our URL. Since we give a
    //fully qualified name for the URL, any class will
    //do.
    Class c = resourceName.getClass();
    InputStream result = c.getResourceAsStream(resourceName);
    return result;
  }

  public  static  boolean  deleteFile( String outputFileName )
     throws Exception
  {
    File f = new File( outputFileName );

    return f.delete();
  }

  public static String mkFileFromResource
  (String packageName, String resourceName)
     throws Exception
  {
    return mkFileFromResource( packageName, resourceName, resourceName );
  }

  public static String mkFileFromResource
  ( String packageName, String resourceName, String outputFileName )
     throws Exception
  {
    File f = new File( outputFileName );
    InputStream is = getResourceAsStream(packageName,resourceName);
    BufferedInputStream bis = new BufferedInputStream(is);
    OutputStream os = new FileOutputStream(f);
    byte[]buf=new byte[4096];
    int readThisTime = 0;
    while((readThisTime = bis.read(buf)) != -1)
      os.write(buf,0,readThisTime);
    os.close();
    return f.getAbsolutePath();
  }
}
 
TOP

Related Classes of org.apache.derbyTesting.functionTests.util.DbFile

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.