blob: 50e8642906ca1b27e730ae97d68cbfc6743374bf [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 IBM Corporation and others.
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// which accompanies this distribution, and is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// Contributors:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.authoring.ui.preferences;
import java.io.File;
import org.eclipse.epf.common.utils.FileUtil;
import org.eclipse.epf.library.LibraryPlugin;
import org.eclipse.epf.library.prefs.LibraryPreferenceConstants;
import org.eclipse.epf.library.ui.preferences.LibraryUIPreferences;
import org.eclipse.jface.preference.IPreferenceStore;
/**
* Location Data for library
*
* @author BingXue Xu
* @since 1.0
* fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=157401
*/
public class LibraryLocationData {
private String parentFolder;
private String libName;
private String libBriefDescription;
private boolean isSingleLibFile;
private String defaultLibDir;
private boolean defLibDirChecked;
protected static final String libraryFile = "library.xmi"; //$NON-NLS-1$
/**
* @return Returns the isOkPressed.
*/
public boolean isOkPressed() {
return isOkPressed;
}
/**
* @param isOkPressed
* The isOkPressed to set.
*/
public void setOkPressed(boolean isOkPressed) {
this.isOkPressed = isOkPressed;
}
private boolean isOkPressed;
/**
* @return Returns the isSingleLibFile.
*/
public boolean isSingleLibFile() {
return isSingleLibFile;
}
/**
* @param isSingleLibFile
* The isSingleLibFile to set.
*/
public void setSingleLibFile(boolean isSingleLibFile) {
this.isSingleLibFile = isSingleLibFile;
}
/**
* @return Returns the libName.
*/
public String getLibName() {
return libName;
}
/**
*
* @return Full path of library.xmi
*/
public String getLibraryFile() {
return getParentFolder() + File.separator + libraryFile;
}
/**
* @param libName
* The libName to set.
*/
public void setLibName(String libName) {
this.libName = libName;
}
/**
* @return Returns the parentFolder.
*/
public String getParentFolder() {
return parentFolder;
}
/**
* @param parentFolder
* The parentFolder to set.
*/
public void setParentFolder(String parentFolder) {
this.parentFolder = parentFolder;
}
/**
* @return Returns the libBriefDescription.
*/
public String getLibBriefDescription() {
return libBriefDescription;
}
/**
* @param libBriefDescription
* The libBriefDescription to set.
*/
public void setLibBriefDescription(String libBriefDescription) {
this.libBriefDescription = libBriefDescription;
}
/**
* @return Returns the defLibDirChecked.
*/
public boolean isDefLibDirChecked() {
return defLibDirChecked;
}
/**
* @param defLibDirChecked
* The defLibDirChecked to set.
*/
public void setDefLibDirChecked(boolean defLibDirChecked) {
this.defLibDirChecked = defLibDirChecked;
}
/**
* @return Returns the defaultLibDir.
*/
public String getDefaultLibDir() {
return defaultLibDir;
}
/**
* @param defaultLibDir
* The defaultLibDir to set.
*/
public void setDefaultLibDir(String defaultLibDir) {
this.defaultLibDir = defaultLibDir;
}
/**
* Loads preferences from the store
*
*/
public void loadFromPreferenceStore() {
IPreferenceStore store = LibraryPlugin.getDefault()
.getPreferenceStore();
String lastDir = store
.getString(LibraryPreferenceConstants.PREF_LAST_LIBRARY_PARENT_DIRECTORY);
this.setParentFolder(lastDir);
// System.out.println("DEBUG: last_dir= " + lastDir);
boolean lastChecked = store
.getBoolean(LibraryPreferenceConstants.PREF_LAST_DEFAULT_DIRECTORY_CHECKED);
// the contains method does not seem to work so use last dir as an
// approximation
// if
// (store.contains(LibaryPreferenceConstants.PREF_LAST_DEFAULT_DIRECTORY_CHECKED))
if (lastDir == null || lastDir.trim().length() == 0)
this.setDefLibDirChecked(true);
else
this.setDefLibDirChecked(lastChecked);
// System.out.println("DEBUG: last_checked = " + lastChecked);
String defLibPPath = store
.getString(LibraryPreferenceConstants.PREF_DEFAULT_LIBRARY_PARENT_DIRECTORY);
if (defLibPPath == null || defLibPPath.length() == 0)
defLibPPath = System.getProperty("user.home") + //$NON-NLS-1$
FileUtil.FILE_SEP + LibraryUIPreferences.getApplicationShortName() +
FileUtil.FILE_SEP + "Method Libraries"; //$NON-NLS-1$
this.setDefaultLibDir(defLibPPath);
}
/**
* Saves dialog choices to the preference store
*
*/
public void saveToPreferenceStore() {
IPreferenceStore store = LibraryPlugin.getDefault()
.getPreferenceStore();
File file = new File(this.getParentFolder());
LibraryUIPreferences.setSavedLibraryPath(file.getAbsolutePath());
store.setValue(
LibraryPreferenceConstants.PREF_LAST_LIBRARY_PARENT_DIRECTORY,
file.getParent());
store.setValue(
LibraryPreferenceConstants.PREF_LAST_DEFAULT_DIRECTORY_CHECKED,
this.isDefLibDirChecked());
LibraryPlugin.getDefault().savePluginPreferences();
}
}