public void saveCountry(final File f, final OsmBaseStorage storage) { final OsmStorageWriter writer = new OsmStorageWriter(); try { final ProgressDialog dlg = new ProgressDialog( frame, Messages.getString("OsmExtractionUI.SAVING_OSM_FILE")); // $NON-NLS-1$ dlg.setRunnable( new Runnable() { @Override public void run() { try { OutputStream output = new FileOutputStream(f); try { if (f.getName().endsWith(".bz2")) { // $NON-NLS-1$ output.write('B'); output.write('Z'); output = new CBZip2OutputStream(output); } writer.saveStorage(output, storage, null, false); } finally { output.close(); } } catch (IOException e) { throw new IllegalArgumentException(e); } catch (XMLStreamException e) { throw new IllegalArgumentException(e); } } }); dlg.run(); } catch (InterruptedException e1) { log.error("Interrupted", e1); // $NON-NLS-1$ } catch (InvocationTargetException e1) { ExceptionHandler.handle("Log file is not found", e1.getCause()); // $NON-NLS-1$ } }
public void loadCountry(final File f, final IOsmStorageFilter filter) { try { final ProgressDialog dlg = new ProgressDialog( frame, Messages.getString("OsmExtractionUI.LOADING_OSM_FILE")); // $NON-NLS-1$ dlg.setRunnable( new Runnable() { @Override public void run() { File dir = DataExtractionSettings.getSettings().getDefaultWorkingDir(); IndexCreator creator = new IndexCreator(dir); try { creator.setIndexAddress(buildAddressIndex.isSelected()); creator.setIndexPOI(buildPoiIndex.isSelected()); creator.setNormalizeStreets(normalizingStreets.isSelected()); creator.setIndexTransport(buildTransportIndex.isSelected()); creator.setIndexMap(buildMapIndex.isSelected()); creator.setCityAdminLevel(DataExtractionSettings.getSettings().getCityAdminLevel()); String fn = DataExtractionSettings.getSettings().getMapRenderingTypesFile(); MapRenderingTypes types; if (fn == null || fn.length() == 0) { types = MapRenderingTypes.getDefault(); } else { types = new MapRenderingTypes(fn); } RTree.clearCache(); int smoothness = 0; try { smoothness = Integer.parseInt(DataExtractionSettings.getSettings().getLineSmoothness()); } catch (NumberFormatException e) { } creator.setZoomWaySmothness(smoothness); creator.generateIndexes( f, dlg, filter, DataExtractionSettings.getSettings().getMapZooms(), types, null); } catch (IOException e) { throw new IllegalArgumentException(e); } catch (SAXException e) { throw new IllegalStateException(e); } catch (SQLException e) { throw new IllegalStateException(e); } catch (InterruptedException e) { throw new IllegalStateException(e); } regionName = creator.getRegionName(); StringBuilder msg = new StringBuilder(); msg.append(Messages.getString("OsmExtractionUI.INDEXES_FOR")) .append(regionName) .append(" : "); // $NON-NLS-1$ //$NON-NLS-2$ boolean comma = false; if (buildMapIndex.isSelected()) { if (comma) msg.append(", "); // $NON-NLS-1$ comma = true; msg.append(Messages.getString("OsmExtractionUI.MAP")); // $NON-NLS-1$ } if (buildPoiIndex.isSelected()) { if (comma) msg.append(", "); // $NON-NLS-1$ comma = true; msg.append(Messages.getString("OsmExtractionUI.POI")); // $NON-NLS-1$ } if (buildAddressIndex.isSelected()) { if (comma) msg.append(", "); // $NON-NLS-1$ comma = true; msg.append(Messages.getString("OsmExtractionUI.ADDRESS")); // $NON-NLS-1$ } if (buildTransportIndex.isSelected()) { if (comma) msg.append(", "); // $NON-NLS-1$ comma = true; msg.append(Messages.getString("OsmExtractionUI.TRANSPORT")); // $NON-NLS-1$ } msg.append( MessageFormat.format( Messages.getString("OsmExtractionUI.WERE_SUCCESFULLY_CREATED"), dir.getAbsolutePath())); // $NON-NLS-1$ JOptionPane pane = new JOptionPane(msg); JDialog dialog = pane.createDialog( frame, Messages.getString("OsmExtractionUI.GENERATION_DATA")); // $NON-NLS-1$ dialog.setVisible(true); } }); dlg.run(); frame.setTitle( Messages.getString("OsmExtractionUI.OSMAND_MAP_CREATOR_FILE") + f.getName()); // $NON-NLS-1$ } catch (InterruptedException e1) { log.error("Interrupted", e1); // $NON-NLS-1$ } catch (InvocationTargetException e1) { ExceptionHandler.handle("Exception during operation", e1.getCause()); // $NON-NLS-1$ } }