/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.geoforge.appogcecl.actionperformer;
import com.lowagie.geoforge.toolbox.GfrPdfPhotoAlbumFromAbs;
import com.lowagie.geoforge.toolbox.GfrPdfPhotoAlbumFromFiles;
import gov.nasa.worldwind.geom.Position;
import java.awt.Desktop;
import java.awt.event.ActionEvent;
import java.awt.geom.Point2D;
import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;
import javax.swing.JFrame;
import org.geoforge.java.awt.desktop.GfrUtilDesktop;
import org.geoforge.guillc.dialog.GfrDlgAddFolderAbs;
import org.geoforge.guillc.dialog.GfrDlgAddFolderNew;
import org.geoforge.guillc.dialog.GfrDlgSelectObjects;
import org.geoforge.guillc.filechooser.GfrUtilFileChooserVol;
import org.geoforge.guillc.frame.GfrFrmAbs;
import org.geoforge.guillc.menuitem.GfrMimTrsAlrExpObj;
import org.geoforge.guillc.menuitem.GfrMimTrsAlrExpObjsTlo;
import org.geoforge.guillc.menuitem.GfrMimTrsAlrIdExpObjsLlo;
import org.geoforge.guillc.menuitem.GfrMimTrsAlrTloViewDftRdrPdfImgsAbs;
import org.geoforge.guillc.optionpane.GfrOptionPaneAbs;
import org.geoforge.guillcogcecl.enumeration.GfrEnuValuesKindObjectLloVarSpcPrjOgcEcl;
import org.geoforge.guillcogcecl.enumeration.GfrEnuValuesKindObjectTloSpcPrjOgcEcl;
import org.geoforge.guillcogcecl.menuitem.*;
import org.geoforge.io.enumeration.GfrEnuValuesKindFileFormat;
import org.geoforge.java.io.file.GfrUtilFile;
import org.geoforge.io.file.GfrUtilFileExcel;
import org.geoforge.java.io.file.GfrJavIoFileExtension;
import org.geoforge.io.header.GfrIoSheetColNamTlosPointGeometryAbs;
import org.geoforge.io.header.GfrIoSheetColNamTlosPointLatLonAbs;
import org.geoforge.io.header.GfrIoSheetColNamXlosNamAbs;
import org.geoforge.lang.enumeration.GfrEnuApplicationPropertiesImmutableKeys;
import org.geoforge.java.lang.system.GfrUtlSystem;
import org.geoforge.lang.util.GfrResBundleLang;
import org.geoforge.lang.util.arraylist.GfrAltPointDouble;
import org.geoforge.java.util.logging.filehandler.FileHandlerLogger;
import org.geoforge.wrpbasprsdatecl.GfrWrpBasDatObjNameTloEclAbs;
import org.geoforge.wrpbasprssynecl.*;
/**
*
* @author robert
*/
abstract public class ActPrfPrjExportOgcEclAbs extends ActPrfPrjExportOgcAbs
{
// ----
// begin: instantiate logger for this class
final private static Logger _LOGGER_ = Logger.getLogger(ActPrfPrjExportOgcEclAbs.class.getName());
static
{
ActPrfPrjExportOgcEclAbs._LOGGER_.addHandler(FileHandlerLogger.s_getInstance());
}
// end: instantiate logger for this class
// ----
@Override
public boolean doneJob(ActionEvent evt) throws Exception
{
if (super.doneJob(evt))
return true;
Object objEvt = evt.getSource();
if (evt.getSource() instanceof GfrMimTrsAlrTloViewDftRdrPdfImgsSct)
{
GfrMimTrsAlrTloViewDftRdrPdfImgsAbs mim = (GfrMimTrsAlrTloViewDftRdrPdfImgsAbs) evt.getSource();
JFrame frmOwner = GfrFrmAbs.s_getFrameOwner(mim);
String strIdSource = mim.getIdTlo();
this._imageGalleryEclToPdfTempo_(
frmOwner,
GfrWrpBasSynObjNameTloEclSct.getInstance(),
strIdSource);
return true;
}
if (evt.getSource() instanceof GfrMimTrsAlrTloViewDftRdrPdfImgsSpn)
{
GfrMimTrsAlrTloViewDftRdrPdfImgsAbs mim = (GfrMimTrsAlrTloViewDftRdrPdfImgsAbs) evt.getSource();
JFrame frmOwner = GfrFrmAbs.s_getFrameOwner(mim);
String strIdSource = mim.getIdTlo();
this._imageGalleryEclToPdfTempo_(
frmOwner,
GfrWrpBasSynObjNameTloEclSpn.getInstance(),
strIdSource);
return true;
}
// memo: behaves like export
if (evt.getSource() instanceof GfrMimTrsAlrTloViewDftRdrPdfImgsAre)
{
GfrMimTrsAlrTloViewDftRdrPdfImgsAbs mim = (GfrMimTrsAlrTloViewDftRdrPdfImgsAbs) evt.getSource();
JFrame frmOwner = GfrFrmAbs.s_getFrameOwner(mim);
String strIdSource = mim.getIdTlo();
this._imageGalleryEclToPdfTempo_(
frmOwner,
GfrWrpBasSynObjNameTloEclAre.getInstance(),
strIdSource);
return true;
}
// memo: behaves like export
if (evt.getSource() instanceof GfrMimTrsAlrTloViewDftRdrPdfImgsPth)
{
GfrMimTrsAlrTloViewDftRdrPdfImgsAbs mim = (GfrMimTrsAlrTloViewDftRdrPdfImgsAbs) evt.getSource();
JFrame frmOwner = GfrFrmAbs.s_getFrameOwner(mim);
String strIdSource = mim.getIdTlo();
this._imageGalleryEclToPdfTempo_(
frmOwner,
GfrWrpBasSynObjNameTloEclPth.getInstance(),
strIdSource);
return true;
}
// memo: behaves like export
if (evt.getSource() instanceof GfrMimTrsAlrTloViewDftRdrPdfImgsPlc)
{
GfrMimTrsAlrTloViewDftRdrPdfImgsAbs mim = (GfrMimTrsAlrTloViewDftRdrPdfImgsAbs) evt.getSource();
JFrame frmOwner = GfrFrmAbs.s_getFrameOwner(mim);
String strIdSource = mim.getIdTlo();
this._imageGalleryEclToPdfTempo_(
frmOwner,
GfrWrpBasSynObjNameTloEclPlc.getInstance(),
strIdSource);
return true;
}
if (evt.getSource() instanceof GfrMimTrsAlrTloViewDftRdrPdfImgsPnt)
{
GfrMimTrsAlrTloViewDftRdrPdfImgsAbs mim = (GfrMimTrsAlrTloViewDftRdrPdfImgsAbs) evt.getSource();
JFrame frmOwner = GfrFrmAbs.s_getFrameOwner(mim);
String strIdSource = mim.getIdTlo();
this._imageGalleryEclToPdfTempo_(
frmOwner,
GfrWrpBasSynObjNameTloEclPnt.getInstance(),
strIdSource);
return true;
}
if (objEvt instanceof GfrMimTrsAlrIdExpObjsLlo)
{
GfrMimTrsAlrIdExpObjsLlo mim = (GfrMimTrsAlrIdExpObjsLlo) objEvt;
JFrame frmOwner = GfrFrmAbs.s_getFrameOwner(mim);
String strIdSource = mim.getId();
String strValueKindObject = mim.getPropertyImmutable(
GfrEnuApplicationPropertiesImmutableKeys.KEY_KIND_OBJECT.name());
String strValueKindFileFormat = mim.getPropertyImmutable(
GfrEnuApplicationPropertiesImmutableKeys.KEY_KIND_FILE_FORMAT.name());
//--
if (strValueKindObject == null || strValueKindObject.length() < 1)
return false;
if (strValueKindFileFormat == null || strValueKindFileFormat.length() < 1)
return false;
if (strValueKindObject.compareTo(
GfrEnuValuesKindObjectLloVarSpcPrjOgcEcl.VALUE_LLO_IMAGE_ECL_SPN.name()) == 0)
{
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_PDF.name()) == 0)
{
this._imageGalleryTloEclToPdf_(
frmOwner,
GfrWrpBasSynObjNameTloEclSpn.getInstance(),
strIdSource);
return true;
}
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_FOLDER.name()) == 0)
{
this._imageGalleryTloEclToNewFolder_(
frmOwner,
GfrWrpBasSynObjNameTloEclSpn.getInstance(),
strIdSource);
return true;
}
}
if (strValueKindObject.compareTo(
GfrEnuValuesKindObjectLloVarSpcPrjOgcEcl.VALUE_LLO_IMAGE_ECL_ARE.name()) == 0)
{
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_PDF.name()) == 0)
{
this._imageGalleryTloEclToPdf_(
frmOwner,
GfrWrpBasSynObjNameTloEclAre.getInstance(),
strIdSource);
return true;
}
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_FOLDER.name()) == 0)
{
this._imageGalleryTloEclToNewFolder_(
frmOwner,
GfrWrpBasSynObjNameTloEclAre.getInstance(),
strIdSource);
return true;
}
}
if (strValueKindObject.compareTo(
GfrEnuValuesKindObjectLloVarSpcPrjOgcEcl.VALUE_LLO_IMAGE_ECL_PLC.name()) == 0)
{
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_PDF.name()) == 0)
{
this._imageGalleryTloEclToPdf_(
frmOwner,
GfrWrpBasSynObjNameTloEclPlc.getInstance(),
strIdSource);
return true;
}
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_FOLDER.name()) == 0)
{
this._imageGalleryTloEclToNewFolder_(
frmOwner,
GfrWrpBasSynObjNameTloEclPlc.getInstance(),
strIdSource);
return true;
}
}
if (strValueKindObject.compareTo(
GfrEnuValuesKindObjectLloVarSpcPrjOgcEcl.VALUE_LLO_IMAGE_ECL_PNT.name()) == 0)
{
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_PDF.name()) == 0)
{
this._imageGalleryTloEclToPdf_(
frmOwner,
GfrWrpBasSynObjNameTloEclPnt.getInstance(),
strIdSource);
return true;
}
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_FOLDER.name()) == 0)
{
this._imageGalleryTloEclToNewFolder_(
frmOwner,
GfrWrpBasSynObjNameTloEclPnt.getInstance(),
strIdSource);
return true;
}
}
if (strValueKindObject.compareTo(
GfrEnuValuesKindObjectLloVarSpcPrjOgcEcl.VALUE_LLO_IMAGE_ECL_PTH.name()) == 0)
{
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_PDF.name()) == 0)
{
this._imageGalleryTloEclToPdf_(
frmOwner,
GfrWrpBasSynObjNameTloEclPth.getInstance(),
strIdSource);
return true;
}
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_FOLDER.name()) == 0)
{
this._imageGalleryTloEclToNewFolder_(
frmOwner,
GfrWrpBasSynObjNameTloEclPth.getInstance(),
strIdSource);
return true;
}
}
if (strValueKindObject.compareTo(
GfrEnuValuesKindObjectLloVarSpcPrjOgcEcl.VALUE_LLO_IMAGE_ECL_SCT.name()) == 0)
{
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_PDF.name()) == 0)
{
this._imageGalleryTloEclToPdf_(
frmOwner,
GfrWrpBasSynObjNameTloEclSct.getInstance(),
strIdSource);
return true;
}
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_FOLDER.name()) == 0)
{
this._imageGalleryTloEclToNewFolder_(
frmOwner,
GfrWrpBasSynObjNameTloEclSct.getInstance(),
strIdSource);
return true;
}
}
if (strValueKindObject.compareTo(
GfrEnuValuesKindObjectLloVarSpcPrjOgcEcl.VALUE_LLO_IMAGE_ECL_SEG_WISE_YES.name()) == 0)
{
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_PDF.name()) == 0)
{
this._imageGalleryTloEclToPdf_(
frmOwner,
GfrWrpBasSynObjNameTloEclSegWiseYes.getInstance(),
strIdSource);
return true;
}
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_FOLDER.name()) == 0)
{
this._imageGalleryTloEclToNewFolder_(
frmOwner,
GfrWrpBasSynObjNameTloEclSegWiseYes.getInstance(),
strIdSource);
return true;
}
}
}
if (evt.getSource() instanceof GfrMimTrsAlrExpObjsTlo)
{
GfrMimTrsAlrExpObjsTlo mim = (GfrMimTrsAlrExpObjsTlo) evt.getSource();
JFrame frmOwner = GfrFrmAbs.s_getFrameOwner(mim);
String strValueKindObject = mim.getPropertyImmutable(
GfrEnuApplicationPropertiesImmutableKeys.KEY_KIND_OBJECT.name());
String strValueKindFileFormat = mim.getPropertyImmutable(
GfrEnuApplicationPropertiesImmutableKeys.KEY_KIND_FILE_FORMAT.name());
//--
if (strValueKindObject == null || strValueKindObject.length() < 1)
return false;
if (strValueKindFileFormat == null || strValueKindFileFormat.length() < 1)
return false;
//--
if (strValueKindObject.compareTo(
GfrEnuValuesKindObjectTloSpcPrjOgcEcl.VALUE_TLO_ECL_SCT.name()) == 0)
{
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_EXCEL.name()) == 0)
{
String strTodo = "TODO: GfrMimTrsExpObjsSctExc";
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strTodo);
GfrOptionPaneAbs.s_showDialogInfo(null, strTodo);
return true;
}
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_CSV.name()) == 0)
{
String strTodo = "TODO: GfrMimTrsExpObjsSctCsv";
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strTodo);
GfrOptionPaneAbs.s_showDialogInfo(null, strTodo);
return true;
}
}
if (strValueKindObject.compareTo(
GfrEnuValuesKindObjectTloSpcPrjOgcEcl.VALUE_TLO_ECL_PLC.name()) == 0)
{
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_EXCEL.name()) == 0)
{
_exportToExcPlcs_(frmOwner);
return true;
}
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_CSV.name()) == 0)
{
_exportToCsvPlcs_(frmOwner);
return true;
}
}
if (strValueKindObject.compareTo(
GfrEnuValuesKindObjectTloSpcPrjOgcEcl.VALUE_TLO_ECL_PNT.name()) == 0)
{
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_EXCEL.name()) == 0)
{
_exportToExcPnts_(frmOwner);
return true;
}
if (strValueKindFileFormat.compareTo(
GfrEnuValuesKindFileFormat.VALUE_CSV.name()) == 0)
{
_exportToCsvPnts_(frmOwner);
return true;
}
}
if (strValueKindObject.compareTo(GfrEnuValuesKindObjectTloSpcPrjOgcEcl.VALUE_TLO_ECL_SEG_WISE_YES.name()) == 0)
{
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_EXCEL.name()) == 0)
{
String strTodo = "TODO: GfrMimTrsExpObjsSegWiseYes - Excel";
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strTodo);
GfrOptionPaneAbs.s_showDialogInfo(null, strTodo);
return true;
}
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_CSV.name()) == 0)
{
String strTodo = "TODO: GfrMimTrsExpObjsSegWiseYes - Csv";
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strTodo);
GfrOptionPaneAbs.s_showDialogInfo(null, strTodo);
return true;
}
}
if (strValueKindObject.compareTo(GfrEnuValuesKindObjectTloSpcPrjOgcEcl.VALUE_TLO_ECL_SPN.name()) == 0)
{
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_EXCEL.name()) == 0)
{
_exportToExcSpns_(frmOwner);
return true;
}
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_CSV.name()) == 0)
{
_exportToCsvSpns_(frmOwner);
return true;
}
}
if (strValueKindObject.compareTo(GfrEnuValuesKindObjectTloSpcPrjOgcEcl.VALUE_TLO_ECL_PTH.name()) == 0)
{
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_EXCEL.name()) == 0)
{
_exportToExcPths_(frmOwner);
return true;
}
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_CSV.name()) == 0)
{
_exportToCsvPths_(frmOwner);
return true;
}
}
if (strValueKindObject.compareTo(GfrEnuValuesKindObjectTloSpcPrjOgcEcl.VALUE_TLO_ECL_ARE.name()) == 0)
{
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_EXCEL.name()) == 0)
{
_exportToExcAres_(frmOwner);
return true;
}
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_CSV.name()) == 0)
{
_exportToCsvAres_(frmOwner);
return true;
}
}
}
if (evt.getSource() instanceof GfrMimTrsAlrExpObj)
{
GfrMimTrsAlrExpObj mim = (GfrMimTrsAlrExpObj) evt.getSource();
JFrame frmOwner = GfrFrmAbs.s_getFrameOwner(mim);
String strValueKindObject = mim.getPropertyImmutable(
GfrEnuApplicationPropertiesImmutableKeys.KEY_KIND_OBJECT.name());
String strValueKindFileFormat = mim.getPropertyImmutable(
GfrEnuApplicationPropertiesImmutableKeys.KEY_KIND_FILE_FORMAT.name());
//--
if (strValueKindObject == null || strValueKindObject.length() < 1)
return false;
if (strValueKindFileFormat == null || strValueKindFileFormat.length() < 1)
return false;
if (strValueKindObject.compareTo(GfrEnuValuesKindObjectTloSpcPrjOgcEcl.VALUE_TLO_ECL_PLC.name()) == 0)
{
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_CSV.name()) == 0)
{
String strIdSource = mim.getIdSource();
_exportToCsvPlc_(frmOwner, strIdSource);
return true;
}
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_EXCEL.name()) == 0)
{
String strIdSource = mim.getIdSource();
_exportToExcPlc_(frmOwner, strIdSource);
return true;
}
}
if (strValueKindObject.compareTo(GfrEnuValuesKindObjectTloSpcPrjOgcEcl.VALUE_TLO_ECL_PNT.name()) == 0)
{
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_CSV.name()) == 0)
{
String strIdSource = mim.getIdSource();
_exportToCsvPnt_(frmOwner, strIdSource);
return true;
}
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_EXCEL.name()) == 0)
{
String strIdSource = mim.getIdSource();
_exportToExcPnt_(frmOwner, strIdSource);
return true;
}
}
if (strValueKindObject.compareTo(GfrEnuValuesKindObjectTloSpcPrjOgcEcl.VALUE_TLO_ECL_SCT.name()) == 0)
{
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_EXCEL.name()) == 0)
{
String strTodo = "TODO: GfrMimTrsExpObjExcSct";
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strTodo);
GfrOptionPaneAbs.s_showDialogInfo(null, strTodo);
return true;
}
if (strValueKindFileFormat.compareTo(GfrEnuValuesKindFileFormat.VALUE_CSV.name()) == 0)
{
String strTodo = "TODO: GfrMimTrsExpObjCsvSct";
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strTodo);
GfrOptionPaneAbs.s_showDialogInfo(null, strTodo);
return true;
}
}
}
// ending
return false;
}
// ---
protected ActPrfPrjExportOgcEclAbs()
{
super();
}
// ---
private void _exportToCsvPlcs_(JFrame frmOwner)
{
try
{
String[] strsValueNameCandidateSorted = GfrWrpBasTopSynEclPlcs.getInstance().getSortedNamesTlo();
GfrDlgSelectObjects dlg = new GfrDlgSelectObjects(
frmOwner,
"Select placemarks",
strsValueNameCandidateSorted);
// !!!!!!!!!!!!!!!!!!!!!!!
dlg.init();
dlg.setVisible(true);
boolean blnCancelled = dlg.isCancelled();
String[] strsValueNameSelected = null;
if (!blnCancelled)
{
strsValueNameSelected = dlg.getResult();
}
dlg.destroy();
dlg = null;
if (blnCancelled)
return;
String[] strsIdSource = new String[strsValueNameSelected.length];
for (int i = 0; i < strsValueNameSelected.length; i++)
{
strsIdSource[i] = GfrWrpBasSynObjNameTloEclPlc.getInstance().getId(strsValueNameSelected[i]);
}
//-- GfrUtilFileChooserVol
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save placemarks to CSV file", "placemarks", ".csv");
if (fle == null)
return;
FileWriter fwr = new FileWriter(fle);
// header
fwr.append(GfrIoSheetColNamXlosNamAbs.STR_NAME);
fwr.append(',');
fwr.append(GfrIoSheetColNamTlosPointLatLonAbs.STR_LONGITUDE);
fwr.append(',');
fwr.append(GfrIoSheetColNamTlosPointLatLonAbs.STR_LATITUDE);
fwr.append('\n');
// ---
for (int i = 0; i < strsIdSource.length; i++)
{
// values
String strName = GfrWrpBasSynObjNameTloEclPlc.getInstance().getName(strsIdSource[i]);
Position pos = GfrWrpBasSynObjNameTloEclPlc.getInstance().getGeometry(strsIdSource[i]);
double[] dblsLatLon = pos.asDegreesArray();
double dblLon = dblsLatLon[1];
double dblLat = dblsLatLon[0];
fwr.append(strName);
fwr.append(',');
fwr.append(String.valueOf(dblLon));
fwr.append(',');
fwr.append(String.valueOf(dblLat));
fwr.append('\n');
}
// close
fwr.flush();
fwr.close();
String strBody = "Successfully saved placemarks in";
strBody += "\n " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save placemarks";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + ":\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToCsvPnts_(JFrame frmOwner)
{
try
{
String[] strsValueNameCandidateSorted = GfrWrpBasTopSynEclPnts.getInstance().getSortedNamesTlo();
GfrDlgSelectObjects dlg = new GfrDlgSelectObjects(
frmOwner,
"Select points",
strsValueNameCandidateSorted);
// !!!!!!!!!!!!!!!!!!!!!!!
dlg.init();
dlg.setVisible(true);
boolean blnCancelled = dlg.isCancelled();
String[] strsValueNameSelected = null;
if (!blnCancelled)
{
strsValueNameSelected = dlg.getResult();
}
dlg.destroy();
dlg = null;
if (blnCancelled)
return;
String[] strsIdSource = new String[strsValueNameSelected.length];
for (int i = 0; i < strsValueNameSelected.length; i++)
{
strsIdSource[i] = GfrWrpBasSynObjNameTloEclPnt.getInstance().getId(strsValueNameSelected[i]);
}
//-- GfrUtilFileChooserVol
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save points to CSV file", "points", ".csv");
if (fle == null)
return;
FileWriter fwr = new FileWriter(fle);
// header
fwr.append(GfrIoSheetColNamXlosNamAbs.STR_NAME);
fwr.append(',');
fwr.append(GfrIoSheetColNamTlosPointLatLonAbs.STR_LONGITUDE);
fwr.append(',');
fwr.append(GfrIoSheetColNamTlosPointLatLonAbs.STR_LATITUDE);
fwr.append('\n');
// ---
for (int i = 0; i < strsIdSource.length; i++)
{
// values
String strName = GfrWrpBasSynObjNameTloEclPnt.getInstance().getName(strsIdSource[i]);
Position pos = GfrWrpBasSynObjNameTloEclPnt.getInstance().getGeometry(strsIdSource[i]);
double[] dblsLatLon = pos.asDegreesArray();
double dblLon = dblsLatLon[1];
double dblLat = dblsLatLon[0];
fwr.append(strName);
fwr.append(',');
fwr.append(String.valueOf(dblLon));
fwr.append(',');
fwr.append(String.valueOf(dblLat));
fwr.append('\n');
}
// close
fwr.flush();
fwr.close();
String strBody = "Successfully saved placemarks in";
strBody += "\n " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save placemarks";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + ":\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToExcPlcs_(JFrame frmOwner)
{
try
{
String[] strsValueNameCandidateSorted = GfrWrpBasTopSynEclPlcs.getInstance().getSortedNamesTlo();
GfrDlgSelectObjects dlg = new GfrDlgSelectObjects(
frmOwner,
"Select placemarks",
strsValueNameCandidateSorted);
dlg.init();
dlg.setVisible(true);
boolean blnCancelled = dlg.isCancelled();
String[] strsValueNameSelected = null;
if (!blnCancelled)
{
strsValueNameSelected = dlg.getResult();
}
dlg.destroy();
dlg = null;
if (blnCancelled)
return;
String[] strsIdSource = new String[strsValueNameSelected.length];
for (int i = 0; i < strsValueNameSelected.length; i++)
{
strsIdSource[i] = GfrWrpBasSynObjNameTloEclPlc.getInstance().getId(strsValueNameSelected[i]);
}
//-- GfrUtilFileChooserVol
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save placemarks to EXCEL file", "placemarks", ".xls");
if (fle == null)
return;
// ---
List<String> headerRow = new ArrayList<String>();
headerRow.add(GfrIoSheetColNamXlosNamAbs.STR_NAME);
headerRow.add(GfrIoSheetColNamTlosPointLatLonAbs.STR_LONGITUDE);
headerRow.add(GfrIoSheetColNamTlosPointLatLonAbs.STR_LATITUDE);
List<List> recordToAdd = new ArrayList<List>();
recordToAdd.add(headerRow);
for (int i = 0; i < strsIdSource.length; i++)
{
String strName = GfrWrpBasSynObjNameTloEclPlc.getInstance().getName(strsIdSource[i]);
Position pos = GfrWrpBasSynObjNameTloEclPlc.getInstance().getGeometry(strsIdSource[i]);
double[] dblsLatLon = pos.asDegreesArray();
double dblLon = dblsLatLon[1];
double dblLat = dblsLatLon[0];
List<String> firstRow = new ArrayList<String>();
firstRow.add(strName);
firstRow.add(String.valueOf(dblLon));
firstRow.add(String.valueOf(dblLat));
// ---
recordToAdd.add(firstRow);
}
GfrUtilFileExcel.s_doJob(fle, recordToAdd);
String strBody = "Successfully saved placemarks in";
strBody += "\n " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save placemarks";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToExcPnts_(JFrame frmOwner)
{
try
{
String[] strsValueNameCandidateSorted = GfrWrpBasTopSynEclPnts.getInstance().getSortedNamesTlo();
GfrDlgSelectObjects dlg = new GfrDlgSelectObjects(
frmOwner,
"Select points",
strsValueNameCandidateSorted);
dlg.init();
dlg.setVisible(true);
boolean blnCancelled = dlg.isCancelled();
String[] strsValueNameSelected = null;
if (!blnCancelled)
{
strsValueNameSelected = dlg.getResult();
}
dlg.destroy();
dlg = null;
if (blnCancelled)
return;
String[] strsIdSource = new String[strsValueNameSelected.length];
for (int i = 0; i < strsValueNameSelected.length; i++)
{
strsIdSource[i] = GfrWrpBasSynObjNameTloEclPnt.getInstance().getId(strsValueNameSelected[i]);
}
//-- GfrUtilFileChooserVol
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save points to EXCEL file", "points", ".xls");
if (fle == null)
return;
// ---
List<String> headerRow = new ArrayList<String>();
headerRow.add(GfrIoSheetColNamXlosNamAbs.STR_NAME);
headerRow.add(GfrIoSheetColNamTlosPointLatLonAbs.STR_LONGITUDE);
headerRow.add(GfrIoSheetColNamTlosPointLatLonAbs.STR_LATITUDE);
List<List> recordToAdd = new ArrayList<List>();
recordToAdd.add(headerRow);
for (int i = 0; i < strsIdSource.length; i++)
{
String strName = GfrWrpBasSynObjNameTloEclPnt.getInstance().getName(strsIdSource[i]);
Position pos = GfrWrpBasSynObjNameTloEclPnt.getInstance().getGeometry(strsIdSource[i]);
double[] dblsLatLon = pos.asDegreesArray();
double dblLon = dblsLatLon[1];
double dblLat = dblsLatLon[0];
List<String> firstRow = new ArrayList<String>();
firstRow.add(strName);
firstRow.add(String.valueOf(dblLon));
firstRow.add(String.valueOf(dblLat));
// ---
recordToAdd.add(firstRow);
}
GfrUtilFileExcel.s_doJob(fle, recordToAdd);
String strBody = "Successfully saved placemarks in";
strBody += "\n " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save placemarks";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToExcPths_(JFrame frmOwner)
{
try
{
String[] strsValueNameCandidateSorted = GfrWrpBasTopSynEclPths.getInstance().getSortedNamesTlo();
GfrDlgSelectObjects dlg = new GfrDlgSelectObjects(
frmOwner,
"Select paths",
strsValueNameCandidateSorted);
dlg.init();
dlg.setVisible(true);
boolean blnCancelled = dlg.isCancelled();
String[] strsValueNameSelected = null;
if (!blnCancelled)
{
strsValueNameSelected = dlg.getResult();
}
dlg.destroy();
dlg = null;
if (blnCancelled)
return;
String[] strsIdSource = new String[strsValueNameSelected.length];
for (int i = 0; i < strsValueNameSelected.length; i++)
{
strsIdSource[i] = GfrWrpBasSynObjNameTloEclPth.getInstance().getId(strsValueNameSelected[i]);
}
//-- GfrUtilFileChooserVol
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save paths to EXCEL file", "paths", ".xls");
if (fle == null)
return;
// ---
List<String> headerRow = new ArrayList<String>();
headerRow.add(GfrIoSheetColNamXlosNamAbs.STR_NAME);
headerRow.add(GfrIoSheetColNamTlosPointGeometryAbs.STR_GEOMETRY);
List<List> recordToAdd = new ArrayList<List>();
recordToAdd.add(headerRow);
for (int i = 0; i < strsIdSource.length; i++)
{
String strName = GfrWrpBasSynObjNameTloEclPth.getInstance().getName(strsIdSource[i]);
ArrayList<Point2D.Double> alt = GfrWrpBasSynObjNameTloEclPth.getInstance().getGeometryAsArrayList(strsIdSource[i]);
List<String> firstRow = new ArrayList<String>();
firstRow.add(strName);
firstRow.add(GfrAltPointDouble.s_toString(alt, "|"));
// ---
recordToAdd.add(firstRow);
}
GfrUtilFileExcel.s_doJob(fle, recordToAdd);
String strBody = "Successfully saved paths in";
strBody += "\n " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save paths";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToCsvPths_(JFrame frmOwner)
{
try
{
String[] strsValueNameCandidateSorted = GfrWrpBasTopSynEclPths.getInstance().getSortedNamesTlo();
GfrDlgSelectObjects dlg = new GfrDlgSelectObjects(
frmOwner,
"Select paths",
strsValueNameCandidateSorted);
// !!!!!!!!!!!!!!!!!!!!!!!
dlg.init();
dlg.setVisible(true);
boolean blnCancelled = dlg.isCancelled();
String[] strsValueNameSelected = null;
if (!blnCancelled)
{
strsValueNameSelected = dlg.getResult();
}
dlg.destroy();
dlg = null;
if (blnCancelled)
return;
String[] strsIdSource = new String[strsValueNameSelected.length];
for (int i = 0; i < strsValueNameSelected.length; i++)
{
strsIdSource[i] = GfrWrpBasSynObjNameTloEclPth.getInstance().getId(strsValueNameSelected[i]);
}
//-- GfrUtilFileChooserVol
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save paths to CSV file", "paths", ".csv");
if (fle == null)
return;
FileWriter fwr = new FileWriter(fle);
// header
fwr.append(GfrIoSheetColNamXlosNamAbs.STR_NAME);
fwr.append(',');
fwr.append(GfrIoSheetColNamTlosPointGeometryAbs.STR_GEOMETRY);
fwr.append('\n');
// ---
for (int i = 0; i < strsIdSource.length; i++)
{
// values
String strName = GfrWrpBasSynObjNameTloEclPth.getInstance().getName(strsIdSource[i]);
ArrayList<Point2D.Double> alt = GfrWrpBasSynObjNameTloEclPth.getInstance().getGeometryAsArrayList(strsIdSource[i]);
fwr.append(strName);
fwr.append(',');
fwr.append(GfrAltPointDouble.s_toString(alt, "|"));
fwr.append('\n');
}
// close
fwr.flush();
fwr.close();
String strBody = "Successfully saved paths in";
strBody += "\n " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save paths";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + ":\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToExcAres_(JFrame frmOwner)
{
try
{
String[] strsValueNameCandidateSorted = GfrWrpBasTopSynEclAres.getInstance().getSortedNamesTlo();
GfrDlgSelectObjects dlg = new GfrDlgSelectObjects(
frmOwner,
"Select areas",
strsValueNameCandidateSorted);
dlg.init();
dlg.setVisible(true);
boolean blnCancelled = dlg.isCancelled();
String[] strsValueNameSelected = null;
if (!blnCancelled)
{
strsValueNameSelected = dlg.getResult();
}
dlg.destroy();
dlg = null;
if (blnCancelled)
return;
String[] strsIdSource = new String[strsValueNameSelected.length];
for (int i = 0; i < strsValueNameSelected.length; i++)
{
strsIdSource[i] = GfrWrpBasSynObjNameTloEclAre.getInstance().getId(strsValueNameSelected[i]);
}
//-- GfrUtilFileChooserVol
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save areas to EXCEL file", "areas", ".xls");
if (fle == null)
return;
// ---
List<String> headerRow = new ArrayList<String>();
headerRow.add(GfrIoSheetColNamXlosNamAbs.STR_NAME);
headerRow.add(GfrIoSheetColNamTlosPointGeometryAbs.STR_GEOMETRY);
List<List> recordToAdd = new ArrayList<List>();
recordToAdd.add(headerRow);
for (int i = 0; i < strsIdSource.length; i++)
{
String strName = GfrWrpBasSynObjNameTloEclAre.getInstance().getName(strsIdSource[i]);
ArrayList<Point2D.Double> alt = GfrWrpBasSynObjNameTloEclAre.getInstance().getGeometryAsArrayList(strsIdSource[i]);
List<String> firstRow = new ArrayList<String>();
firstRow.add(strName);
firstRow.add(GfrAltPointDouble.s_toString(alt, "|"));
// ---
recordToAdd.add(firstRow);
}
GfrUtilFileExcel.s_doJob(fle, recordToAdd);
String strBody = "Successfully saved areas in";
strBody += "\n " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save areas";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToCsvAres_(JFrame frmOwner)
{
try
{
String[] strsValueNameCandidateSorted = GfrWrpBasTopSynEclAres.getInstance().getSortedNamesTlo();
GfrDlgSelectObjects dlg = new GfrDlgSelectObjects(
frmOwner,
"Select areas",
strsValueNameCandidateSorted);
// !!!!!!!!!!!!!!!!!!!!!!!
dlg.init();
dlg.setVisible(true);
boolean blnCancelled = dlg.isCancelled();
String[] strsValueNameSelected = null;
if (!blnCancelled)
{
strsValueNameSelected = dlg.getResult();
}
dlg.destroy();
dlg = null;
if (blnCancelled)
return;
String[] strsIdSource = new String[strsValueNameSelected.length];
for (int i = 0; i < strsValueNameSelected.length; i++)
{
strsIdSource[i] = GfrWrpBasSynObjNameTloEclAre.getInstance().getId(strsValueNameSelected[i]);
}
//-- GfrUtilFileChooserVol
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save areas to CSV file", "areas", ".csv");
if (fle == null)
return;
FileWriter fwr = new FileWriter(fle);
// header
fwr.append(GfrIoSheetColNamXlosNamAbs.STR_NAME);
fwr.append(',');
fwr.append(GfrIoSheetColNamTlosPointGeometryAbs.STR_GEOMETRY);
fwr.append('\n');
// ---
for (int i = 0; i < strsIdSource.length; i++)
{
// values
String strName = GfrWrpBasSynObjNameTloEclAre.getInstance().getName(strsIdSource[i]);
ArrayList<Point2D.Double> alt = GfrWrpBasSynObjNameTloEclAre.getInstance().getGeometryAsArrayList(strsIdSource[i]);
fwr.append(strName);
fwr.append(',');
fwr.append(GfrAltPointDouble.s_toString(alt, "|"));
fwr.append('\n');
}
// close
fwr.flush();
fwr.close();
String strBody = "Successfully saved areas in";
strBody += "\n " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save areas";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + ":\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToExcSpns_(JFrame frmOwner)
{
try
{
String[] strsValueNameCandidateSorted = GfrWrpBasTopSynEclSpns.getInstance().getSortedNamesTlo();
GfrDlgSelectObjects dlg = new GfrDlgSelectObjects(
frmOwner,
"Select pointsets",
strsValueNameCandidateSorted);
dlg.init();
dlg.setVisible(true);
boolean blnCancelled = dlg.isCancelled();
String[] strsValueNameSelected = null;
if (!blnCancelled)
{
strsValueNameSelected = dlg.getResult();
}
dlg.destroy();
dlg = null;
if (blnCancelled)
return;
String[] strsIdSource = new String[strsValueNameSelected.length];
for (int i = 0; i < strsValueNameSelected.length; i++)
{
strsIdSource[i] = GfrWrpBasSynObjNameTloEclSpn.getInstance().getId(strsValueNameSelected[i]);
}
//-- GfrUtilFileChooserVol
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save pointsets to EXCEL file", "pointsets", ".xls");
if (fle == null)
return;
// ---
List<String> headerRow = new ArrayList<String>();
headerRow.add(GfrIoSheetColNamXlosNamAbs.STR_NAME);
headerRow.add(GfrIoSheetColNamTlosPointGeometryAbs.STR_GEOMETRY);
List<List> recordToAdd = new ArrayList<List>();
recordToAdd.add(headerRow);
for (int i = 0; i < strsIdSource.length; i++)
{
String strName = GfrWrpBasSynObjNameTloEclSpn.getInstance().getName(strsIdSource[i]);
ArrayList<Point2D.Double> alt = GfrWrpBasSynObjNameTloEclSpn.getInstance().getGeometryAsArrayList(strsIdSource[i]);
List<String> firstRow = new ArrayList<String>();
firstRow.add(strName);
firstRow.add(GfrAltPointDouble.s_toString(alt, "|"));
// ---
recordToAdd.add(firstRow);
}
GfrUtilFileExcel.s_doJob(fle, recordToAdd);
String strBody = "Successfully saved pointsets in";
strBody += "\n " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save pointsets";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToCsvSpns_(JFrame frmOwner)
{
try
{
String[] strsValueNameCandidateSorted = GfrWrpBasTopSynEclSpns.getInstance().getSortedNamesTlo();
GfrDlgSelectObjects dlg = new GfrDlgSelectObjects(
frmOwner,
"Select pointsets",
strsValueNameCandidateSorted);
// !!!!!!!!!!!!!!!!!!!!!!!
dlg.init();
dlg.setVisible(true);
boolean blnCancelled = dlg.isCancelled();
String[] strsValueNameSelected = null;
if (!blnCancelled)
{
strsValueNameSelected = dlg.getResult();
}
dlg.destroy();
dlg = null;
if (blnCancelled)
return;
String[] strsIdSource = new String[strsValueNameSelected.length];
for (int i = 0; i < strsValueNameSelected.length; i++)
{
strsIdSource[i] = GfrWrpBasSynObjNameTloEclSpn.getInstance().getId(strsValueNameSelected[i]);
}
//-- GfrUtilFileChooserVol
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save pointsets to CSV file", "pointsets", ".csv");
if (fle == null)
return;
FileWriter fwr = new FileWriter(fle);
// header
fwr.append(GfrIoSheetColNamXlosNamAbs.STR_NAME);
fwr.append(',');
fwr.append(GfrIoSheetColNamTlosPointGeometryAbs.STR_GEOMETRY);
fwr.append('\n');
// ---
for (int i = 0; i < strsIdSource.length; i++)
{
// values
String strName = GfrWrpBasSynObjNameTloEclSpn.getInstance().getName(strsIdSource[i]);
ArrayList<Point2D.Double> alt = GfrWrpBasSynObjNameTloEclSpn.getInstance().getGeometryAsArrayList(strsIdSource[i]);
fwr.append(strName);
fwr.append(',');
fwr.append(GfrAltPointDouble.s_toString(alt, "|"));
fwr.append('\n');
}
// close
fwr.flush();
fwr.close();
String strBody = "Successfully saved pointsets in";
strBody += "\n " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save pointsets";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + ":\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToCsvPlc_(JFrame frmOwner, String strIdSource)
{
try
{
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save placemark to CSV file", "placemark", ".csv");
if (fle == null)
return;
FileWriter fwr = new FileWriter(fle);
// header
fwr.append(GfrIoSheetColNamXlosNamAbs.STR_NAME);
fwr.append(',');
fwr.append(GfrIoSheetColNamTlosPointLatLonAbs.STR_LONGITUDE);
fwr.append(',');
fwr.append(GfrIoSheetColNamTlosPointLatLonAbs.STR_LATITUDE);
fwr.append('\n');
// values
String strName = GfrWrpBasSynObjNameTloEclPlc.getInstance().getName(strIdSource);
Position pos = GfrWrpBasSynObjNameTloEclPlc.getInstance().getGeometry(strIdSource);
double[] dblsLatLon = pos.asDegreesArray();
double dblLon = dblsLatLon[1];
double dblLat = dblsLatLon[0];
fwr.append(strName);
fwr.append(',');
fwr.append(String.valueOf(dblLon));
fwr.append(',');
fwr.append(String.valueOf(dblLat));
fwr.append('\n');
// close
fwr.flush();
fwr.close();
String strBody = "Successfully saved " + strName;
strBody += "\n in " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save placemark";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToCsvPnt_(JFrame frmOwner, String strIdSource)
{
try
{
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save point to CSV file", "points", ".csv");
if (fle == null)
return;
FileWriter fwr = new FileWriter(fle);
// header
fwr.append(GfrIoSheetColNamXlosNamAbs.STR_NAME);
fwr.append(',');
fwr.append(GfrIoSheetColNamTlosPointLatLonAbs.STR_LONGITUDE);
fwr.append(',');
fwr.append(GfrIoSheetColNamTlosPointLatLonAbs.STR_LATITUDE);
fwr.append('\n');
// values
String strName = GfrWrpBasSynObjNameTloEclPnt.getInstance().getName(strIdSource);
Position pos = GfrWrpBasSynObjNameTloEclPnt.getInstance().getGeometry(strIdSource);
double[] dblsLatLon = pos.asDegreesArray();
double dblLon = dblsLatLon[1];
double dblLat = dblsLatLon[0];
fwr.append(strName);
fwr.append(',');
fwr.append(String.valueOf(dblLon));
fwr.append(',');
fwr.append(String.valueOf(dblLat));
fwr.append('\n');
// close
fwr.flush();
fwr.close();
String strBody = "Successfully saved " + strName;
strBody += "\n in " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save placemark";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToExcPlc_(JFrame frmOwner, String strIdSource)
{
try
{
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save placemark to EXCEL file", "placemark", ".xls");
if (fle == null)
return;
// ---
List<String> headerRow = new ArrayList<String>();
headerRow.add(GfrIoSheetColNamXlosNamAbs.STR_NAME);
headerRow.add(GfrIoSheetColNamTlosPointLatLonAbs.STR_LONGITUDE);
headerRow.add(GfrIoSheetColNamTlosPointLatLonAbs.STR_LATITUDE);
// ---
String strName = GfrWrpBasSynObjNameTloEclPlc.getInstance().getName(strIdSource);
Position pos = GfrWrpBasSynObjNameTloEclPlc.getInstance().getGeometry(strIdSource);
double[] dblsLatLon = pos.asDegreesArray();
double dblLon = dblsLatLon[1];
double dblLat = dblsLatLon[0];
List<String> firstRow = new ArrayList<String>();
firstRow.add(strName);
firstRow.add(String.valueOf(dblLon));
firstRow.add(String.valueOf(dblLat));
// ---
List<List> recordToAdd = new ArrayList<List>();
recordToAdd.add(headerRow);
recordToAdd.add(firstRow);
GfrUtilFileExcel.s_doJob(fle, recordToAdd);
String strBody = "Successfully saved " + strName;
strBody += "\n in " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save placemark";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _exportToExcPnt_(JFrame frmOwner, String strIdSource)
{
try
{
File fle = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Save point to EXCEL file", "point", ".xls");
if (fle == null)
return;
// ---
List<String> headerRow = new ArrayList<String>();
headerRow.add(GfrIoSheetColNamXlosNamAbs.STR_NAME);
headerRow.add(GfrIoSheetColNamTlosPointLatLonAbs.STR_LONGITUDE);
headerRow.add(GfrIoSheetColNamTlosPointLatLonAbs.STR_LATITUDE);
// ---
String strName = GfrWrpBasSynObjNameTloEclPnt.getInstance().getName(strIdSource);
Position pos = GfrWrpBasSynObjNameTloEclPnt.getInstance().getGeometry(strIdSource);
double[] dblsLatLon = pos.asDegreesArray();
double dblLon = dblsLatLon[1];
double dblLat = dblsLatLon[0];
List<String> firstRow = new ArrayList<String>();
firstRow.add(strName);
firstRow.add(String.valueOf(dblLon));
firstRow.add(String.valueOf(dblLat));
// ---
List<List> recordToAdd = new ArrayList<List>();
recordToAdd.add(headerRow);
recordToAdd.add(firstRow);
GfrUtilFileExcel.s_doJob(fle, recordToAdd);
String strBody = "Successfully saved " + strName;
strBody += "\n in " + fle.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to save placemark";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _imageGalleryTloEclToNewFolder_(
JFrame frmOwner,
GfrWrpBasDatObjNameTloEclAbs wrp,
String strIdSource)
{
try
{
String strName = wrp.getName(strIdSource);
GfrDlgAddFolderAbs dlg = new GfrDlgAddFolderNew(
frmOwner,
new String[0],
"image-gallery-");
if (!dlg.init())
{
String str = "! dlg.init()";
ActPrfPrjExportOgcEclAbs._LOGGER_.severe(str);
throw new Exception(str);
}
dlg.setVisible(true);
boolean blnCancelled = dlg.isCancelled();
String strValue = null;
if (!blnCancelled)
{
strValue = dlg.getValuePath();
}
dlg.destroy();
dlg = null;
if (blnCancelled)
return;
File fleFolderOut = new File(strValue);
// ---
if (!fleFolderOut.mkdir())
{
String strError = "Failed to create folder:" + "\n " + fleFolderOut.getAbsolutePath();
GfrOptionPaneAbs.s_showDialogError(frmOwner, strError);
return;
}
// ---
/*String[] strsLabel = wrp.getSortedNamesImage(strIdSource);
String[] strsFileIn =
wrp.getPathsAbsoluteImageFileSortedByName(strIdSource);*/
String[] strsIdsImage =
wrp.getIdsImage(strIdSource);
// ---
String strPathAbsOutFolder = fleFolderOut.getAbsolutePath();
//-- beg !!!! ATTN !!!!
//-- unknown file format, once imported images are stored with .img extension
//-- => gif? png? jpg?
//-- MEMO : plugin extracts map to png file format
//-- end !!!! ATTN !!!!
//-- copy images
for (String strIdImgCur : strsIdsImage)
{
String strPathInImgCur = wrp.getPathAbsoluteImageFile(strIdImgCur);
String strNameImageCur = null;
// ATTENTION: machine dependant, for now, just filtering for windows !!!!!!!!!!!!!!
if (GfrUtlSystem.s_isWindows())
{
strNameImageCur = wrp.getNameImage(strIdImgCur);
strNameImageCur = strNameImageCur.replace("\\", "_backslash_");
strNameImageCur = strNameImageCur.replace("/", "_slash_");
strNameImageCur = strNameImageCur.replace(":", "_colon_");
strNameImageCur = strNameImageCur.replace("*", "_star_");
strNameImageCur = strNameImageCur.replace("?", "_questionmark_");
strNameImageCur = strNameImageCur.replace("\"", "_doublequotes_");
strNameImageCur = strNameImageCur.replace("<", "_lower_");
strNameImageCur = strNameImageCur.replace(">", "_upper_");
strNameImageCur = strNameImageCur.replace("|", "_pipe_");
}
else
{
strNameImageCur = strIdImgCur;
}
//---
String strPathOutImgCur = strPathAbsOutFolder;
strPathOutImgCur += File.separator;
strPathOutImgCur += strNameImageCur;
String strExtension = wrp.getTypeExtensionImage(strIdImgCur);
if (strExtension != null && strExtension.length() > 0)
strPathOutImgCur += strExtension;
File fleImageIn = new File(strPathInImgCur);
File fleImageOut = new File(strPathOutImgCur);
GfrUtilFile.s_copy(fleImageIn, fleImageOut);
}
boolean blnIsDesktopSupported = GfrUtilDesktop.s_isSupported();
String strBody = "Successfully saved \"" + strName + "\" image gallery in\"";
strBody += "\n " + fleFolderOut.getAbsolutePath();
if (blnIsDesktopSupported)
{
strBody += "\n\n";
strBody += "View results?";
if (!GfrOptionPaneAbs.s_showDialogConfirm(frmOwner, "Done : Export image gallery to folder", strBody))
return;
try
{
Desktop desktop = Desktop.getDesktop();
desktop.open(fleFolderOut);
}
catch (Exception exc)
{
exc.printStackTrace();
GfrOptionPaneAbs.s_showDialogError(frmOwner, "failed to launch default file manager");
}
return;
}
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to export image gallery";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _imageGalleryTloEclToPdf_(
JFrame frmOwner,
GfrWrpBasDatObjNameTloEclAbs wrp,
String strIdSource)
{
try
{
String strName = wrp.getName(strIdSource);
File fleOut = GfrUtilFileChooserVol.s_chooseFileSave(frmOwner,
"Export image gallery to PDF file", strName, "." + GfrJavIoFileExtension.STR_PDF);
if (fleOut == null)
return;
// ---
String[] strsLabel = wrp.getSortedNamesImage(strIdSource);
String[] strsFileIn =
wrp.getPathsAbsoluteImageFileSortedByName(strIdSource);
// ---
String strPathAbsOut = fleOut.getAbsolutePath();
GfrPdfPhotoAlbumFromAbs pdfWriter = new GfrPdfPhotoAlbumFromFiles(strsFileIn,
strsLabel, strPathAbsOut);
pdfWriter.execute();
String strError = pdfWriter.getErrorMessage();
if (strError != null)
{
GfrOptionPaneAbs.s_showDialogError(frmOwner, "Failed to export as PDF:" + "\n\n " + strError);
return;
}
boolean blnIsDesktopSupported = GfrUtilDesktop.s_isSupported();
String strBody = "Successfully saved \"" + strName + "\" image gallery in\"";
strBody += "\n " + fleOut.getAbsolutePath();
if (blnIsDesktopSupported)
{
strBody += "\n\n";
strBody += "View results?";
if (!GfrOptionPaneAbs.s_showDialogConfirm(frmOwner, "Done PDF image gallery", strBody))
return;
try
{
Desktop desktop = Desktop.getDesktop();
desktop.open(fleOut);
}
catch (Exception exc)
{
exc.printStackTrace();
GfrOptionPaneAbs.s_showDialogError(frmOwner, "failed to launch default PDF reader");
}
return;
}
GfrOptionPaneAbs.s_showDialogInfo(frmOwner, strBody);
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to export image gallery";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
private void _imageGalleryEclToPdfTempo_(
final JFrame frmOwner,
final GfrWrpBasDatObjNameTloEclAbs wrp,
final String strIdSource)
{
Thread thr = new Thread(new Runnable()
{
@Override
public void run()
{
_launchInThreadImagesReader_(frmOwner, wrp, strIdSource);
}
});
thr.start();
}
private void _launchInThreadImagesReader_(
JFrame frmOwner,
GfrWrpBasDatObjNameTloEclAbs wrp,
String strIdSource)
{
try
{
String[] strsLabel = wrp.getSortedNamesImage(strIdSource);
String[] strsFileIn = wrp.getPathsAbsoluteImageFileSortedByName(strIdSource);
// should be located in .sharpergeo's temp directory !!!!!!!!!!!!!!!!!!!!!!!!!!
File fleOut = GfrUtilFile.s_createTempFile("imageGallery", "." + GfrJavIoFileExtension.STR_PDF);
// ---
String strPathAbsOut = fleOut.getAbsolutePath();
GfrPdfPhotoAlbumFromAbs pdfWriter = new GfrPdfPhotoAlbumFromFiles(strsFileIn,
strsLabel, strPathAbsOut);
pdfWriter.execute();
String strError = pdfWriter.getErrorMessage();
if (strError != null)
{
GfrOptionPaneAbs.s_showDialogError(frmOwner, "Failed to create PDF:" + "\n\n " + strError);
return;
}
boolean blnIsDesktopSupported = GfrUtilDesktop.s_isSupported();
if (blnIsDesktopSupported)
{
try
{
Desktop desktop = Desktop.getDesktop();
desktop.open(fleOut);
}
catch (Exception exc)
{
exc.printStackTrace();
GfrOptionPaneAbs.s_showDialogError(frmOwner, "failed to launch default PDF reader");
}
return;
}
}
catch (Exception exc)
{
exc.printStackTrace();
String strLog = exc.getMessage();
ActPrfPrjExportOgcEclAbs._LOGGER_.warning(strLog);
String strMessage = "Failed to view image gallery";
strMessage += "\n\n " + GfrResBundleLang.s_getInstance().getValue("word.details") + "\n";
strMessage += strLog;
GfrOptionPaneAbs.s_showDialogError(frmOwner, strMessage);
}
}
}