Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Creative commons Attribution-NonCommercial license. http://creativecommons.org/licenses/by-nc/2.5/au/deed.en_GB NO WARRANTY IS GIVEN OR IMPLIED, USE AT YOUR OWN RISK.
  
  package base.jee.api.sql;
  
 import base.Command;
 
 
 import static base.jee.api.cassandra.BulkLoadLocations.lchomp;
 import static base.jee.api.cassandra.BulkLoadLocations.dchomp;
 import static base.jee.api.cassandra.BulkLoadLocations.qchomp;
 
 public class BulkLoadLocations extends Command {
 
 	private SqlAPI api;
 	private InputStream locations;
 
 	public BulkLoadLocations(SqlAPI apiInputStream locationsInputStream ipLocationsthrows PermissionException {
 
 		if(api == null) {
 			throw new IllegalArgumentException("Invalid parameter: api");
 		}
 
 		this. = api;
 		this. = locations;
 		this. = ipLocations;
 	}
 
 	public BulkLoadLocations() {
 	}
 
 	protected void execute() throws IOException {
 		String line;
 
 		Connection c = null;
 		java.sql.PreparedStatement s = null;
 		java.sql.PreparedStatement t = null;
 		java.sql.PreparedStatement u = null;
 		ResultSet r = null;
 
 		try {
 			c = ds.getConnection();
 			c.setAutoCommit(false);
 
 			s = c.prepareStatement("insert into location (id, country, city, latitude, longitude) values(?,?,?,?,?)");
 			while((line = in.readLine()) != null) {
 				String[] parts = line.split(",");
 				if(parts.length == 9) {
 					if(parts[0].matches("^[0-9].*")) {
 						Long id = lchomp(parts[0]);
 						String country = qchomp(parts[1]);
 						String city = qchomp(parts[3]);
 						Double latitude = dchomp(parts[5]);
 						Double longitude = dchomp(parts[6]);
 						if(id != null && longitude != null) {
 							s.setLong(1, id);
 							s.setString(2, country);
 							s.setString(3, city);
 							s.setDouble(4, latitude);
 							s.setDouble(5, longitude);
 							s.execute();
 							continue;
 						}
 					}
 				}
 				..println("skip>> " + line);
 			}
 			in.close();
 
 			t = c.prepareStatement("insert into ip_location (start_ip, end_ip, location) values(?,?,?)");
 			while((line = in.readLine()) != null) {
 				String[] parts = line.split(",");
 				if(parts.length == 3) {
 					if(parts[0].matches("^\"[0-9].*")) {
 						Long start = lchomp(parts[0]);
 						Long end = lchomp(parts[1]);
 						Long location = lchomp(parts[2]);
 						if(start != null && location != null) {
 							s.setLong(1, start);
 							s.setLong(2, end);
 							s.setLong(3, location);
							continue;
						}
					}
				}
				..println("skip>> " + line);
			}
			in.close();
			c.commit();
			c.close();
			c = null;
catch(SQLException e) {
			throw new IOException(e);
finally {
			if(r != null) { try { r.close(); } catch(SQLException e) { } }
			if(s != null) { try { s.close(); } catch(SQLException e) { } }
			if(t != null) { try { t.close(); } catch(SQLException e) { } }
			if(u != null) { try { u.close(); } catch(SQLException e) { } }
			if(c != null) {
				try { c.rollback(); } catch(SQLException e) { }
				try { c.close(); } catch(SQLException e) { }
			}
		}
	}
		return "{" +
				"\"locations\":\"...\"," +
				"\"ip_locations\":\"...\"" +
				"}";
	}
New to GrepCode? Check out our FAQ X