📄 jiggleproperties.java
字号:
package org.trinet.jiggle;
import java.text.*;
import java.util.*;
import java.io.*;
import java.net.InetAddress;
import javax.swing.JSplitPane;
import org.trinet.jasi.*;
import org.trinet.util.GenericPropertyList;
/**
* Jiggle program properties. See PropertyList Class for more info.
*
* <pre>
dbaseURL=jdbc:oracle:thin:@quake.gps.caltech.edu:1521:quakedb
locationEnginePort=6500
showSegments=false
tracesPerPage=10
currentWaveServerGroup=
catalogHoursBack=24.0
pickStripValue=1.0
fileChooserDir=.
locationEngineAddress=boron.gps.caltech.edu
iconDir=images
waveformInTab=true
cacheBelow=50
debug=false
channelCacheFilename=channelList.cache
mainSplitOrientation=1
localNetCode=CI
cacheAbove=50
dbaseDriver=oracle.jdbc.driver.OracleDriver
waveServerGroupList=/
mainframeY=6
mainframeX=7
helpFile=/home/tpp/user/jiggle/helpfiles/
waveformReadMode=0
debugOutput=false
mainframeHeight=887
mainframeWidth=1157
locationEngineType=HYPO2000
dbaseUser=trinetdb
cacheChannelList=true
currentEvid=0
dbasePasswd=letmein
* </pre>
* @see: PropertyList
*/
/* -- SYSTEM PROPERTIES --
user.language=en
java.home=/opt/jdk1.1.6
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport...
file.encoding.pkg=sun.io
java.version=1.1.6
file.separator=/
line.separator=
file.encoding=8859_1
java.vendor=Sun Microsystems Inc.
user.timezone=PST
user.name=doug
os.arch=sparc
os.name=Solaris
java.vendor.url=http://www.sun.com/
user.dir=/home/doug/progs/Jiggle
java.class.path=.:/opt/jdk1.1.6/lib/classes.zip:/opt/...
java.class.version=45.3
os.version=2.x
path.separator=:
user.home=/home/doug
*/
public class JiggleProperties extends GenericPropertyList
//public class JiggleProperties extends PropertyList
{
/** Path to system level root directory. The variable "JIGGLE_HOME" must be
passed to the JVM when java starts using the -D<name>=<value> mechanism to set a
system property. */
String jiggleHome;
String userHome;
/** System specific file separator so we can build a path string
"/" on UNIX, "\" on PC's */
String fileSep = System.getProperty("file.separator");
// "$JiggleHome/<fileName>"
String defaultPropertiesFile;
// "$HOME/.jiggle/<fileName>"
String userPropertiesFile;
/** The name of the properties file. */
String fileName;
/** List of WaveServer groups. */
ActiveList wsgList = new ActiveList();
/** List of ChannelTimeWindowModels. This is a list of String objects. Each
* String is a Class name for a ChannelTimeWindowModel that can be instantiated
* with ChannelTimeWindowModel.getCurrentChannelTimeWindowModelInstance(list).
* Strings have the form: "org.trinet.jasi.SpecialChannelTimeWindowModel".
* The class must extend ChannelTimeWindowModel and be in the Classpath to
* be instantiated. The list is stored in the property file as a comma delimited
* string in the "channelTimeWindowModelList" property.
* The currently selected model is stored in the property
* "currentChannelTimeWindowModel".
* */
ActiveList ctwModelList = new ActiveList();
//static ArrayList ctwModelList = new ArrayList();
/** True to turn on debug messages. */
boolean debug = false;
/**
* Construtor: reads no property file so will be set only with class defaults.
* @see: setRequiredProperties()
*/
public JiggleProperties()
{
getEnvironmentInfo();
}
/**
* Construtor: Makes a COPY of a property list. Doesn't read the files.
*/
//public JiggleProperties(GenericPropertyList props) {
public JiggleProperties(JiggleProperties props) {
super(props);
getEnvironmentInfo();
setup();
}
/**
* Construtor: reads this property file and System properties
*/
public JiggleProperties(String fileName)
{
super();
getEnvironmentInfo();
setUserPropertiesFileName(getDefaultUserPath()+fileName);
reset();
setup();
}
public void getEnvironmentInfo()
{
// set method var's from system environment properties - here
jiggleHome = System.getProperty ("JIGGLE_HOME", ".");
if((userHome = System.getProperty ("JIGGLE_USER_HOMEDIR")) == null)
userHome = System.getProperty ("user.home", ".");
}
/*
public static String getPropertyFile () {
return propertyFile;
}
*/
/** Returns the waveform source. This can be passed to Waveform.setWaveSource() to
* affect the change in wavesource. */
public Object getWaveSource () {
if (getInt("waveformReadMode") == Waveform.LoadFromDataSource) {
// return new DataSource();
return DataSource.getConnection();
} else if (getInt("waveformReadMode") == Waveform.LoadFromWaveServer) {
return getWaveServerGroup();
} else {
return null;
}
}
/** Sets the waveform source property and the static Waveform WaveSource.
* The 'flag' value is an integer as defined in Waveform.
* @see: Waveform.LoadFromDataSource
* @see: Waveform.LoadFromWaveServer */
public void setWaveSource (int source, Object waveDataSource) {
setProperty("waveformReadMode", source);
Waveform.setWaveSource(waveDataSource);
}
// WaveServerGroup
public void setWaveServerGroupList(Collection list) {
wsgList = (ActiveList) list;
synchProperties();
}
public Collection getWaveServerGroupList() {
return wsgList;
}
public void setWaveServerGroup(WaveServerGroup wsg) {
WaveServerGroup.setSelected(wsg, wsgList);
synchProperties();
}
/** Returns the currently selected WaveServerGroup. */
public WaveServerGroup getWaveServerGroup() {
return WaveServerGroup.getSelected(wsgList);
}
// ChannelTimeWindow
/** Return the list of ChannelTimeWindowModels. */
public Collection getChannelTimeWindowModelList () {
return ctwModelList;
}
/** Return the list of ChannelTimeWindowModels. */
public String[] getChannelTimeWindowModelStringArray () {
return (String[]) ctwModelList.toArray(new String[ctwModelList.size()]);
}
/** Return instance of currently selected ChannelTimeWindowModel. */
public ChannelTimeWindowModel getCurrentChannelTimeWindowModelInstance () {
return ChannelTimeWindowModel.getInstance(getCurrentChannelTimeWindowModelClassName());
}
/** Return classname string of currently selected ChannelTimeWindowModel. */
public String getCurrentChannelTimeWindowModelClassName () {
return getProperty("currentChannelTimeWindowModel");
// return (String) ctwModelList.getSelected();
}
/** Set this model as the selected one.
* Checks that it is a valid class name.
* If it is not already in the list it is added. */
public boolean setChannelTimeWindowModel(String modelClass) {
if (modelClass == null) return false; // bad string
// try an instance, bail if no good
if (ChannelTimeWindowModel.getInstance(modelClass) == null) return false;
// make sure its in the list, if it's already there this is a noop
if (ctwModelList.add(modelClass)) synchProperties(); // resynch if it was added
if (ctwModelList.contains(modelClass)) {
setProperty("currentChannelTimeWindowModel", modelClass);
return true ;
} else {
return false;
}
}
// ===============================================================
/**
* Set default values for essential properties so the program will work in the
* absence of a user 'properties' file. Any values defined in the properties
* file will override these.
*/
public void setRequiredProperties() {
setProperty ("mainframeWidth", 640); // default to fit on a low-res PC screen
setProperty ("mainframeHeight", 480);
setProperty ("mainframeX", 1);
setProperty ("mainframeY", 1);
setProperty ("tracesPerPage", 10);
setProperty ("secsPerPage", -1);
setProperty ("showSegments", false);
setProperty ("waveformInTab", false);
setProperty ("mainSplitOrientation", JSplitPane.HORIZONTAL_SPLIT);
setProperty ("minDragTime", 1.0);
setProperty ("showPhaseCues", false);
setProperty ("showRowHeaders", false);
setProperty ("showSamples", true);
setProperty ("cacheChannelList", true);
String cacheName = getDefaultUserPath() +
ChannelList.getDefaultCacheFilename();
setProperty ("channelCacheFilename",cacheName);
setProperty ("cacheAbove", 50);
setProperty ("cacheBelow", 50);
setProperty ("autoRefreshChannelList", false);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -