Libraries updated to Eclipse SDK 4.16 (2020-06)

master
Marco Maccaferri 2020-10-29 09:18:14 +01:00
rodzic 1fe15caf35
commit ad4ceddd1d
32 zmienionych plików z 63 dodań i 121 usunięć

Wyświetl plik

@ -3,15 +3,15 @@
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="src" output="bin-tests" path="src-tests"/> <classpathentry kind="src" output="bin-tests" path="src-tests"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/org.eclipse.swt.gtk.linux.x86_64_3.105.2.v20161122-0613.jar" sourcepath="lib/org.eclipse.swt.gtk.linux.x86_64.source_3.105.2.v20161122-0613.jar"/> <classpathentry kind="lib" path="lib/org.eclipse.swt.gtk.linux.x86_64_3.114.100.v20200604-0951.jar" sourcepath="lib/org.eclipse.swt.gtk.linux.x86_64.source_3.114.100.v20200604-0951.jar"/>
<classpathentry kind="lib" path="lib/org.eclipse.core.commands_3.7.0.v20150422-0725.jar" sourcepath="lib/org.eclipse.core.commands.source_3.7.0.v20150422-0725.jar"/> <classpathentry kind="lib" path="lib/org.eclipse.core.commands_3.9.700.v20191217-1850.jar" sourcepath="lib/org.eclipse.core.commands.source_3.9.700.v20191217-1850.jar"/>
<classpathentry kind="lib" path="lib/org.eclipse.core.databinding_1.5.0.v20150422-0725.jar" sourcepath="lib/org.eclipse.core.databinding.source_1.5.0.v20150422-0725.jar"/> <classpathentry kind="lib" path="lib/org.eclipse.core.databinding_1.9.0.v20200519-1409.jar" sourcepath="lib/org.eclipse.core.databinding.source_1.9.0.v20200519-1409.jar"/>
<classpathentry kind="lib" path="lib/org.eclipse.core.databinding.beans_1.3.0.v20150422-0725.jar" sourcepath="lib/org.eclipse.core.databinding.beans.source_1.3.0.v20150422-0725.jar"/> <classpathentry kind="lib" path="lib/org.eclipse.core.databinding.beans_1.6.100.v20191217-1850.jar" sourcepath="lib/org.eclipse.core.databinding.beans.source_1.6.100.v20191217-1850.jar"/>
<classpathentry kind="lib" path="lib/org.eclipse.core.databinding.observable_1.5.0.v20150422-0725.jar" sourcepath="lib/org.eclipse.core.databinding.observable.source_1.5.0.v20150422-0725.jar"/> <classpathentry kind="lib" path="lib/org.eclipse.core.databinding.observable_1.9.0.v20200205-2119.jar" sourcepath="lib/org.eclipse.core.databinding.observable.source_1.9.0.v20200205-2119.jar"/>
<classpathentry kind="lib" path="lib/org.eclipse.core.databinding.property_1.5.0.v20150422-0725.jar" sourcepath="lib/org.eclipse.core.databinding.property.source_1.5.0.v20150422-0725.jar"/> <classpathentry kind="lib" path="lib/org.eclipse.core.databinding.property_1.8.0.v20200124-0715.jar" sourcepath="lib/org.eclipse.core.databinding.property.source_1.8.0.v20200124-0715.jar"/>
<classpathentry kind="lib" path="lib/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar" sourcepath="lib/org.eclipse.equinox.common.source_3.7.0.v20150402-1709.jar"/> <classpathentry kind="lib" path="lib/org.eclipse.equinox.common_3.12.0.v20200504-1602.jar" sourcepath="lib/org.eclipse.equinox.common.source_3.12.0.v20200504-1602.jar"/>
<classpathentry kind="lib" path="lib/org.eclipse.jface_3.11.1.v20160128-1644.jar" sourcepath="lib/org.eclipse.jface.source_3.11.1.v20160128-1644.jar"/> <classpathentry kind="lib" path="lib/org.eclipse.jface_3.20.0.v20200505-1952.jar" sourcepath="lib/org.eclipse.jface.source_3.20.0.v20200505-1952.jar"/>
<classpathentry kind="lib" path="lib/org.eclipse.jface.databinding_1.7.0.v20150406-2148.jar" sourcepath="lib/org.eclipse.jface.databinding.source_1.7.0.v20150406-2148.jar"/> <classpathentry kind="lib" path="lib/org.eclipse.jface.databinding_1.11.100.v20200522-1835.jar" sourcepath="lib/org.eclipse.jface.databinding.source_1.11.100.v20200522-1835.jar"/>
<classpathentry kind="lib" path="lib/jackson-annotations-2.7.0.jar"/> <classpathentry kind="lib" path="lib/jackson-annotations-2.7.0.jar"/>
<classpathentry kind="lib" path="lib/jackson-core-2.7.0.jar"/> <classpathentry kind="lib" path="lib/jackson-core-2.7.0.jar"/>
<classpathentry kind="lib" path="lib/jackson-databind-2.7.0.jar"/> <classpathentry kind="lib" path="lib/jackson-databind-2.7.0.jar"/>

Wyświetl plik

@ -1,15 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/z80-tools/src/com/maccasoft/tools/Application.java"/> <listEntry value="/z80-tools/src/com/maccasoft/tools/Application.java"/>
</listAttribute> </listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/> <listEntry value="1"/>
</listAttribute> </listAttribute>
<mapAttribute key="org.eclipse.debug.core.environmentVariables"> <mapAttribute key="org.eclipse.debug.core.environmentVariables">
<mapEntry key="UBUNTU_MENUPROXY" value="0"/> <mapEntry key="UBUNTU_MENUPROXY" value="0"/>
</mapAttribute> </mapAttribute>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.maccasoft.tools.Application"/> <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="z80-tools"/> <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="z80-tools"/> </listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.maccasoft.tools.Application"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="z80-tools"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="z80-tools"/>
</launchConfiguration> </launchConfiguration>

Wyświetl plik

@ -4,7 +4,7 @@
<format property="timestamp" pattern="yyyyMMdd-HHmm"/> <format property="timestamp" pattern="yyyyMMdd-HHmm"/>
</tstamp> </tstamp>
<property name="app" value="swtapp"/> <property name="app" value="swtapp"/>
<property name="version" value="1.2.0"/> <property name="version" value="1.3.0"/>
<property name="folder" value="z80-tools"/> <property name="folder" value="z80-tools"/>
<property name="mac-folder" value="Z80 Tools"/> <property name="mac-folder" value="Z80 Tools"/>
<property name="package" value="com.maccasoft.tools_${version}.v${timestamp}"/> <property name="package" value="com.maccasoft.tools_${version}.v${timestamp}"/>
@ -22,7 +22,6 @@
<target name="build"> <target name="build">
<antcall target="build-linux64" /> <antcall target="build-linux64" />
<antcall target="build-windows" />
<antcall target="build-windows64" /> <antcall target="build-windows64" />
<antcall target="build-macosx" /> <antcall target="build-macosx" />
</target> </target>
@ -36,13 +35,13 @@
<javac target="1.8" source="1.8" destdir="${work}/bin" srcdir="src" debug="true" includeantruntime="false"> <javac target="1.8" source="1.8" destdir="${work}/bin" srcdir="src" debug="true" includeantruntime="false">
<classpath refid="lib.path.ref"/> <classpath refid="lib.path.ref"/>
<classpath> <classpath>
<pathelement location="lib/org.eclipse.swt.gtk.linux.x86_64_3.105.2.v20161122-0613.jar"/> <pathelement location="lib/org.eclipse.swt.gtk.linux.x86_64_3.114.100.v20200604-0951.jar"/>
</classpath> </classpath>
</javac> </javac>
<antcall target="copy-common-files" /> <antcall target="copy-common-files" />
<copy todir="${work}/${folder}/lib"> <copy todir="${work}/${folder}/lib">
<fileset file="lib/org.eclipse.swt.gtk.linux.x86_64_3.105.2.v20161122-0613.jar"/> <fileset file="lib/org.eclipse.swt.gtk.linux.x86_64_3.114.100.v20200604-0951.jar"/>
<fileset file="build/linux/desktop.template" /> <fileset file="build/linux/desktop.template" />
</copy> </copy>
<copy todir="${work}/${folder}/lib/icons"> <copy todir="${work}/${folder}/lib/icons">
@ -65,42 +64,6 @@
</exec> </exec>
</target> </target>
<!-- Windows x86 -->
<target name="build-windows">
<delete dir="${work}" includeemptydirs="true"/>
<mkdir dir="${work}/${folder}" />
<mkdir dir="${work}/bin" />
<javac target="1.8" source="1.8" destdir="${work}/bin" srcdir="src" debug="true" includeantruntime="false">
<classpath refid="lib.path.ref"/>
<classpath>
<pathelement location="lib/org.eclipse.swt.win32.win32.x86_3.105.2.v20161122-0613.jar"/>
</classpath>
</javac>
<antcall target="copy-common-files" />
<copy todir="${work}/${folder}/lib">
<fileset file="lib/org.eclipse.swt.win32.win32.x86_3.105.2.v20161122-0613.jar"/>
</copy>
<copy todir="${work}/${folder}">
<fileset file="build/windows/launcher.l4j.ini" />
</copy>
<launch4j configFile="build/windows/config.xml"
outfile="${work}/${folder}/launcher.exe"
fileVersion="${version}.0"
txtFileVersion="${version}.0"
productVersion="${version}.0"
txtProductVersion="${version}.0" />
<exec executable="zip" dir="${work}" failonerror="true">
<arg value="-q"/>
<arg value="-r"/>
<arg value="../${folder}-windows-${version}.zip"/>
<arg value="${folder}"/>
</exec>
</target>
<!-- Windows x86/64 --> <!-- Windows x86/64 -->
<target name="build-windows64"> <target name="build-windows64">
<delete dir="${work}" includeemptydirs="true"/> <delete dir="${work}" includeemptydirs="true"/>
@ -110,13 +73,13 @@
<javac target="1.8" source="1.8" destdir="${work}/bin" srcdir="src" debug="true" includeantruntime="false"> <javac target="1.8" source="1.8" destdir="${work}/bin" srcdir="src" debug="true" includeantruntime="false">
<classpath refid="lib.path.ref"/> <classpath refid="lib.path.ref"/>
<classpath> <classpath>
<pathelement location="lib/org.eclipse.swt.win32.win32.x86_64_3.105.2.v20161122-0613.jar"/> <pathelement location="lib/org.eclipse.swt.win32.win32.x86_64_3.114.100.v20200604-0951.jar"/>
</classpath> </classpath>
</javac> </javac>
<antcall target="copy-common-files" /> <antcall target="copy-common-files" />
<copy todir="${work}/${folder}/lib"> <copy todir="${work}/${folder}/lib">
<fileset file="lib/org.eclipse.swt.win32.win32.x86_64_3.105.2.v20161122-0613.jar"/> <fileset file="lib/org.eclipse.swt.win32.win32.x86_64_3.114.100.v20200604-0951.jar"/>
</copy> </copy>
<copy todir="${work}/${folder}"> <copy todir="${work}/${folder}">
<fileset file="build/windows/launcher.l4j.ini" /> <fileset file="build/windows/launcher.l4j.ini" />
@ -146,12 +109,12 @@
<javac target="1.8" source="1.8" destdir="${work}/bin" srcdir="src" debug="true" includeantruntime="false"> <javac target="1.8" source="1.8" destdir="${work}/bin" srcdir="src" debug="true" includeantruntime="false">
<classpath refid="lib.path.ref"/> <classpath refid="lib.path.ref"/>
<classpath> <classpath>
<pathelement location="lib/org.eclipse.swt.cocoa.macosx.x86_64_3.105.2.v20161122-0613.jar"/> <pathelement location="lib/org.eclipse.swt.cocoa.macosx.x86_64_3.114.100.v20200604-0951.jar"/>
</classpath> </classpath>
</javac> </javac>
<antcall target="copy-common-files" /> <antcall target="copy-common-files" />
<copy todir="${work}/${folder}/lib" file="lib/org.eclipse.swt.cocoa.macosx.x86_64_3.105.2.v20161122-0613.jar"/> <copy todir="${work}/${folder}/lib" file="lib/org.eclipse.swt.cocoa.macosx.x86_64_3.114.100.v20200604-0951.jar"/>
<bundleapp <bundleapp
outputdirectory="${work}" outputdirectory="${work}"
@ -186,15 +149,14 @@
</target> </target>
<path id="lib.path.ref"> <path id="lib.path.ref">
<pathelement location="lib/org.eclipse.core.commands_3.7.0.v20150422-0725.jar"/> <pathelement location="lib/org.eclipse.core.commands_3.9.700.v20191217-1850.jar" />
<pathelement location="lib/org.eclipse.core.databinding_1.5.0.v20150422-0725.jar"/> <pathelement location="lib/org.eclipse.core.databinding_1.9.0.v20200519-1409.jar" />
<pathelement location="lib/org.eclipse.core.databinding.beans_1.3.0.v20150422-0725.jar"/> <pathelement location="lib/org.eclipse.core.databinding.beans_1.6.100.v20191217-1850.jar" />
<pathelement location="lib/org.eclipse.core.databinding.observable_1.5.0.v20150422-0725.jar"/> <pathelement location="lib/org.eclipse.core.databinding.observable_1.9.0.v20200205-2119.jar" />
<pathelement location="lib/org.eclipse.core.databinding.property_1.5.0.v20150422-0725.jar"/> <pathelement location="lib/org.eclipse.core.databinding.property_1.8.0.v20200124-0715.jar" />
<pathelement location="lib/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar"/> <pathelement location="lib/org.eclipse.equinox.common_3.12.0.v20200504-1602.jar" />
<pathelement location="lib/org.eclipse.jface_3.11.1.v20160128-1644.jar"/> <pathelement location="lib/org.eclipse.jface_3.20.0.v20200505-1952.jar" />
<pathelement location="lib/org.eclipse.jface.databinding_1.7.0.v20150406-2148.jar"/> <pathelement location="lib/org.eclipse.jface.databinding_1.11.100.v20200522-1835.jar" />
<pathelement location="lib/org.eclipse.jface.text_3.10.0.v20150603-1752.jar"/>
<pathelement location="lib/jackson-annotations-2.7.0.jar"/> <pathelement location="lib/jackson-annotations-2.7.0.jar"/>
<pathelement location="lib/jackson-core-2.7.0.jar"/> <pathelement location="lib/jackson-core-2.7.0.jar"/>
<pathelement location="lib/jackson-databind-2.7.0.jar"/> <pathelement location="lib/jackson-databind-2.7.0.jar"/>
@ -210,15 +172,14 @@
</jar> </jar>
<copy todir="${work}/${folder}/lib"> <copy todir="${work}/${folder}/lib">
<fileset dir="lib" includes="org.eclipse.core.commands_3.7.0.v20150422-0725.jar"/> <fileset dir="lib" includes="org.eclipse.core.commands_3.9.700.v20191217-1850.jar" />
<fileset dir="lib" includes="org.eclipse.core.databinding_1.5.0.v20150422-0725.jar"/> <fileset dir="lib" includes="org.eclipse.core.databinding_1.9.0.v20200519-1409.jar" />
<fileset dir="lib" includes="org.eclipse.core.databinding.beans_1.3.0.v20150422-0725.jar"/> <fileset dir="lib" includes="org.eclipse.core.databinding.beans_1.6.100.v20191217-1850.jar" />
<fileset dir="lib" includes="org.eclipse.core.databinding.observable_1.5.0.v20150422-0725.jar"/> <fileset dir="lib" includes="org.eclipse.core.databinding.observable_1.9.0.v20200205-2119.jar" />
<fileset dir="lib" includes="org.eclipse.core.databinding.property_1.5.0.v20150422-0725.jar"/> <fileset dir="lib" includes="org.eclipse.core.databinding.property_1.8.0.v20200124-0715.jar" />
<fileset dir="lib" includes="org.eclipse.equinox.common_3.7.0.v20150402-1709.jar"/> <fileset dir="lib" includes="org.eclipse.equinox.common_3.12.0.v20200504-1602.jar" />
<fileset dir="lib" includes="org.eclipse.jface_3.11.1.v20160128-1644.jar"/> <fileset dir="lib" includes="org.eclipse.jface_3.20.0.v20200505-1952.jar" />
<fileset dir="lib" includes="org.eclipse.jface.databinding_1.7.0.v20150406-2148.jar"/> <fileset dir="lib" includes="org.eclipse.jface.databinding_1.11.100.v20200522-1835.jar" />
<fileset dir="lib" includes="org.eclipse.jface.text_3.10.0.v20150603-1752.jar"/>
<fileset dir="lib" includes="jackson-annotations-2.7.0.jar"/> <fileset dir="lib" includes="jackson-annotations-2.7.0.jar"/>
<fileset dir="lib" includes="jackson-core-2.7.0.jar"/> <fileset dir="lib" includes="jackson-core-2.7.0.jar"/>
<fileset dir="lib" includes="jackson-databind-2.7.0.jar"/> <fileset dir="lib" includes="jackson-databind-2.7.0.jar"/>

Wyświetl plik

@ -1,33 +0,0 @@
<launch4jConfig>
<dontWrapJar>true</dontWrapJar>
<headerType>gui</headerType>
<outfile>launcher.exe</outfile>
<errTitle>Z80 Tools</errTitle>
<downloadUrl>http://www.oracle.com/technetwork/java/javase/downloads/index.html</downloadUrl>
<icon>launcher.ico</icon>
<classPath>
<mainClass>com.maccasoft.tools.Application</mainClass>
<cp>%EXEDIR%/lib/*.jar</cp>
</classPath>
<jre>
<path>java</path>
<minVersion>1.8.0</minVersion>
<runtimeBits>32</runtimeBits>
<opt>-DAPP_DIR="%EXEDIR%"</opt>
</jre>
<versionInfo>
<fileDescription>Z80 Tools</fileDescription>
<copyright>Marco Maccaferri</copyright>
<productName>Z80 Tools</productName>
<companyName>Marco Maccaferri</companyName>
<internalName>Z80 Tools</internalName>
<originalFilename>launcher.exe</originalFilename>
</versionInfo>
<messages>
<startupErr>An error occurred while starting the application.</startupErr>
<bundledJreErr>This application was configured to use a bundled Java Runtime Environment but the runtime is missing or corrupted.</bundledJreErr>
<jreVersionErr>This application requires at least Java Development Kit</jreVersionErr>
<launcherErr>The registry refers to a nonexistent Java Development Kit installation or the runtime is corrupted.</launcherErr>
<instanceAlreadyExistsMsg>An application instance is already running.</instanceAlreadyExistsMsg>
</messages>
</launch4jConfig>

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -103,7 +103,7 @@ import nl.grauw.glass.directives.Include;
public class Application { public class Application {
public static final String APP_TITLE = "Z80 Tools"; public static final String APP_TITLE = "Z80 Tools";
public static final String APP_VERSION = "1.2.1"; public static final String APP_VERSION = "1.3.0";
Display display; Display display;
Shell shell; Shell shell;

Wyświetl plik

@ -593,7 +593,7 @@ public class PreferencesDialog extends Dialog {
container.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); container.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
romAddress1 = new Text(container, SWT.BORDER); romAddress1 = new Text(container, SWT.BORDER);
romAddress1.setLayoutData(new GridData(convertWidthInCharsToPixels(5), SWT.DEFAULT)); romAddress1.setLayoutData(new GridData(convertWidthInCharsToPixels(6), SWT.DEFAULT));
romAddress1.setText(String.format("%04X", preferences.getRomAddress1())); romAddress1.setText(String.format("%04X", preferences.getRomAddress1()));
romAddress1.addFocusListener(new FocusAdapter() { romAddress1.addFocusListener(new FocusAdapter() {
@ -666,7 +666,7 @@ public class PreferencesDialog extends Dialog {
container.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); container.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
romAddress2 = new Text(container, SWT.BORDER); romAddress2 = new Text(container, SWT.BORDER);
romAddress2.setLayoutData(new GridData(convertWidthInCharsToPixels(5), SWT.DEFAULT)); romAddress2.setLayoutData(new GridData(convertWidthInCharsToPixels(6), SWT.DEFAULT));
romAddress2.setText(String.format("%04X", preferences.getRomAddress2())); romAddress2.setText(String.format("%04X", preferences.getRomAddress2()));
romAddress2.addFocusListener(new FocusAdapter() { romAddress2.addFocusListener(new FocusAdapter() {

Wyświetl plik

@ -511,7 +511,7 @@ public class SerialTerminal {
comPort.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); comPort.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
comPort.setItems(SerialPortList.getPortNames()); comPort.setItems(SerialPortList.getPortNames());
index = port != null ? comPort.indexOf(port) : -1; index = port != null ? comPort.indexOf(port) : -1;
if (index == -1) { if (index == -1 && comPort.getItemCount() != 0) {
index = 0; index = 0;
port = comPort.getItem(index); port = comPort.getItem(index);
} }

Wyświetl plik

@ -16,6 +16,7 @@ import java.io.InputStream;
import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.PaletteData;
import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
@ -33,7 +34,17 @@ public class TerminalFont {
this.height = height; this.height = height;
InputStream is = TerminalFont.class.getResourceAsStream("font" + width + "x" + height + "-1.png"); InputStream is = TerminalFont.class.getResourceAsStream("font" + width + "x" + height + "-1.png");
this.imageData = new ImageData(is); ImageData fontImageData = new ImageData(is);
this.imageData = new ImageData(fontImageData.width, fontImageData.height, 1,
new PaletteData(new RGB(0, 0, 0), new RGB(255, 255, 255)));
for (int y = 0; y < fontImageData.height; y++) {
for (int x = 0; x < fontImageData.width; x++) {
int pixel = fontImageData.getPixel(x, y);
this.imageData.setPixel(x, y, pixel);
}
}
try { try {
is.close(); is.close();
} catch (IOException e) { } catch (IOException e) {