/*
* Copyright (C) 2011-2014 GeoForge Project
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.geoforge.appogceclgsi.actioncontroller;
import java.awt.KeyboardFocusManager;
import java.util.logging.Logger;
import org.geoforge.appogcecl.actioncontroller.GfrAcrSpcAppPrtRootOgcEclAbs;
import org.geoforge.appogceclgsi.awt.keyeventdispatcher.GfrKeyEventDispatcherHotKeyCleanUpWrksGsi;
import org.geoforge.basprjdatgsi.io.GfrIoBasNameDatPrjGsi;
import org.geoforge.basprjdatgsi.io.GfrIoBasNameDatWrkGsi;
import org.geoforge.basprjdspgsi.io.GfrIoBasNameDspDftObjsCatPrjGsi;
import org.geoforge.guillc.GfrAppSpcAbs;
import org.geoforge.guillc.actioncontroller.GfrAcrSpcAppAbs;
import org.geoforge.java.util.logging.filehandler.FileHandlerLogger;
import org.geoforge.mdldat.GfrMdlDatSpcPrtRoot;
import org.geoforge.wrpbasprsdspgsi.selection.lastspace.GfrWrpDspLastSpaceWorkGsi;
import org.geoforge.wrpbasspcsyngsi.work.GfrWriteUsrSpcWrkGsi;
import org.geoforge.wrpbasusr.GfrWriteUsrAbs;
/**
*
* @author bantchao
*
* email: bantchao_AT_gmail.com
* ... please remove "_AT_" from the above string to get the right email address
*
*/
public class GfrAcrSpcAppPrtRootOgcEclGsi extends GfrAcrSpcAppPrtRootOgcEclAbs
{
final static private String _STR_KIND_ACTIVITY_ = "Geospatial Imagery";
// ----
// begin: instantiate logger for this class
final private static Logger _LOGGER_ = Logger.getLogger(GfrAcrSpcAppPrtRootOgcEclGsi.class.getName());
static
{
GfrAcrSpcAppPrtRootOgcEclGsi._LOGGER_.addHandler(FileHandlerLogger.s_getInstance());
}
// end: instantiate logger for this class
// ----
public GfrAcrSpcAppPrtRootOgcEclGsi(GfrAppSpcAbs app) throws Exception
{
super(app, GfrAcrSpcAppPrtRootOgcEclGsi._STR_KIND_ACTIVITY_);
super._acrChild = new GfrAcrSpcAppPrtWrkOgcEclGsi(this._app, (GfrAcrSpcAppAbs) this);
}
// used here at first run, or if user has previously exited from root
@Override
public void open() throws Exception
{
super.open();
super._kedCleanUpWorkspaces = new GfrKeyEventDispatcherHotKeyCleanUpWrksGsi();
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(super._kedCleanUpWorkspaces);
}
@Override
protected void _newChild(String strPathAbsTargetFolder) throws Exception
{
GfrMdlDatSpcPrtRoot.getInstance().newChild(strPathAbsTargetFolder, GfrWrpDspLastSpaceWorkGsi.getInstance());
}
@Override
public String actionControllerContainerSpaceNewChild() throws Exception
{
// done in a hurrry
String strPathAbsWorkspace = super.actionControllerContainerSpaceNewChild();
if (strPathAbsWorkspace != null)
{
GfrWriteUsrAbs wrt = new GfrWriteUsrSpcWrkGsi();
wrt.doJob(strPathAbsWorkspace);
}
return strPathAbsWorkspace;
}
@Override
protected String _getNameDbDataWorkspaceAppli()
{
return GfrIoBasNameDatWrkGsi.STR_FILE;
}
@Override
protected String _getNameDbDataProjectAppli()
{
return GfrIoBasNameDatPrjGsi.STR_FILE;
}
@Override
protected String _getNameDbDisplayDefaultProjectAppli()
{
return GfrIoBasNameDspDftObjsCatPrjGsi.STR_FILE;
}
}