Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2011 Objectos, Fábrica de Software LTDA.
   *
   * Licensed 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 br.com.objectos.way.relational;
 
 import java.util.List;
 import java.util.Set;
 
 

Author(s):
marcio.endo@objectos.com.br (Marcio Endo)
 
 enum Vendor {
 
   MYSQL(new WayRelationalModuleMysql()) {
     @Override
       return "set foreign_key_checks=0;";
     }
 
     @Override
       return "set foreign_key_checks=1;";
     }
 
     @Override
       return new WayRelationalModuleBuilderMysql(credential);
     }
   };
 
   private Module module;
 
   private Vendor(Module module) {
     this. = module;
   }
 
   public Module getModule() {
     return ;
   }
 
 
 
 
   void restore(ConnectionProvider connectionProviderInputStream stream) {
     List<InputStreamlist = ImmutableList.of(stream);
     restoreAll(connectionProviderlist);
   }
 
   void restoreAll(ConnectionProvider connectionProviderIterable<? extends InputStreamstreamIterable) {
     Set<StringsqlDistinctSet = WayIterables.from(streamIterable)
         .transformAndConcat(new InputStreamToSqlList())
         .toImmutableSet();
     restoreSqlList(connectionProvidersqlDistinctSet);
   }
 
   private void restoreSqlList(ConnectionProvider connectionProviderIterable<StringsqlList) {
     Connection connection = null;
     String currentSql = null;
 
     try {
       connection = connectionProvider.get();
       connection.setAutoCommit(false);
       disableReferentialIntegrity(connection);
       for (String sql : sqlList) {
         currentSql = sql;
         execute(connectionsql);
       }
      enableReferentialIntegrity(connection);
      connection.commit();
    } catch (SQLException e) {
      throw new SQLRuntimeException(currentSqle);
    } finally {
      Jdbc.close(connection);
    }
  }
  private void disableReferentialIntegrity(Connection connectionthrows SQLException {
    execute(connectionsql);
  }
  private void enableReferentialIntegrity(Connection connectionthrows SQLException {
    execute(connectionsql);
  }
  private void execute(Connection connectionString sqlthrows SQLException {
    Statement stmt = null;
    try {
      stmt = connection.createStatement();
      stmt.execute(sql);
    } finally {
      Jdbc.close(stmt);
    }
  }
  private class InputStreamToSqlList implements Function<InputStreamList<String>> {
    @Override
    public List<Stringapply(InputStream stream) {
      try {
        InputStreamReader reader = new InputStreamReader(stream.);
        BufferedReader bufferedReader = new BufferedReader(reader);
        return CharStreams.readLines(bufferedReader);
      } catch (IOException e) {
        throw new UncheckedIOException(e);
      } finally {
        try {
          stream.close();
        } catch (IOException e) {
        }
      }
    }
  }
New to GrepCode? Check out our FAQ X