From 382ea578c66ab425c1c46c715cc1fafc2a40fe65 Mon Sep 17 00:00:00 2001 From: "navid.sassan" Date: Mon, 14 Dec 2020 14:59:59 +0100 Subject: [PATCH] added template for s12 --- 12/Aufgabenstellung Praktikum 12.pdf | Bin 0 -> 109000 bytes 12/build.gradle | 41 +++ 12/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 58694 bytes 12/gradle/wrapper/gradle-wrapper.properties | 5 + 12/gradlew | 183 ++++++++++ 12/gradlew.bat | 103 ++++++ 12/settings.gradle | 10 + 12/src/main/java/ch/zhaw/ads/AnyServer.java | 13 + .../java/ch/zhaw/ads/CommandExecutor.java | 21 ++ 12/src/main/java/ch/zhaw/ads/ExBox.java | 18 + 12/src/main/java/ch/zhaw/ads/ExBoxFrame.java | 314 ++++++++++++++++++ .../main/java/ch/zhaw/ads/GraphicPanel.java | 88 +++++ .../main/java/ch/zhaw/ads/ServerFactory.java | 68 ++++ 13 files changed, 864 insertions(+) create mode 100644 12/Aufgabenstellung Praktikum 12.pdf create mode 100644 12/build.gradle create mode 100644 12/gradle/wrapper/gradle-wrapper.jar create mode 100644 12/gradle/wrapper/gradle-wrapper.properties create mode 100755 12/gradlew create mode 100644 12/gradlew.bat create mode 100644 12/settings.gradle create mode 100644 12/src/main/java/ch/zhaw/ads/AnyServer.java create mode 100644 12/src/main/java/ch/zhaw/ads/CommandExecutor.java create mode 100644 12/src/main/java/ch/zhaw/ads/ExBox.java create mode 100644 12/src/main/java/ch/zhaw/ads/ExBoxFrame.java create mode 100644 12/src/main/java/ch/zhaw/ads/GraphicPanel.java create mode 100644 12/src/main/java/ch/zhaw/ads/ServerFactory.java diff --git a/12/Aufgabenstellung Praktikum 12.pdf b/12/Aufgabenstellung Praktikum 12.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b9f79372cad4e73913b59c75e09dde0e98a987ed GIT binary patch literal 109000 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

y6CR3*b^JKXAP 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

6ErSEmyj;g^W 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 pLnQwDR+s(a{QW`YUUHikpiI!1cGd{}&%X3MK#m literal 0 HcmV?d00001 diff --git a/12/build.gradle b/12/build.gradle new file mode 100644 index 0000000..11aaf39 --- /dev/null +++ b/12/build.gradle @@ -0,0 +1,41 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * This generated file contains a sample Java project to get you started. + * For more details take a look at the Java Quickstart chapter in the Gradle + * User Manual available at https://docs.gradle.org/6.3/userguide/tutorial_java_projects.html + */ + +plugins { + // Apply the java plugin to add support for Java + id 'java' + + // Apply the application plugin to add support for building a CLI application. + id 'application' +} + +repositories { + // Use jcenter for resolving dependencies. + // You can declare any Maven/Ivy/file repository here. + jcenter() +} + +dependencies { + // This dependency is used by the application. + implementation 'com.google.guava:guava:28.2-jre' + implementation 'junit:junit:4.12' + + // Use JUnit test framework + testImplementation 'junit:junit:4.12' +} + +application { + // Define the main class for the application. + mainClassName = 'ch.zhaw.ads.ExBox' +} + +test { + testLogging { + events "passed", "skipped", "failed", "standardOut", "standardError" + } +} diff --git a/12/gradle/wrapper/gradle-wrapper.jar b/12/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..490fda8577df6c95960ba7077c43220e5bb2c0d9 GIT binary patch literal 58694 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 literal 0 HcmV?d00001 diff --git a/12/gradle/wrapper/gradle-wrapper.properties b/12/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..a4b4429 --- /dev/null +++ b/12/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/12/gradlew b/12/gradlew new file mode 100755 index 0000000..2fe81a7 --- /dev/null +++ b/12/gradlew @@ -0,0 +1,183 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/12/gradlew.bat b/12/gradlew.bat new file mode 100644 index 0000000..9109989 --- /dev/null +++ b/12/gradlew.bat @@ -0,0 +1,103 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/12/settings.gradle b/12/settings.gradle new file mode 100644 index 0000000..35c664f --- /dev/null +++ b/12/settings.gradle @@ -0,0 +1,10 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user manual at https://docs.gradle.org/6.3/userguide/multi_project_builds.html + */ + +rootProject.name = 'praktikum01' diff --git a/12/src/main/java/ch/zhaw/ads/AnyServer.java b/12/src/main/java/ch/zhaw/ads/AnyServer.java new file mode 100644 index 0000000..e8dfb07 --- /dev/null +++ b/12/src/main/java/ch/zhaw/ads/AnyServer.java @@ -0,0 +1,13 @@ +package ch.zhaw.ads; + +public class AnyServer implements CommandExecutor { + + @Override + public String execute(String command) { + StringBuffer result = new StringBuffer(100); + result.append("Die Eingabe war \""); + result.append(command); + result.append("\"\n"); + return result.toString(); + } +} diff --git a/12/src/main/java/ch/zhaw/ads/CommandExecutor.java b/12/src/main/java/ch/zhaw/ads/CommandExecutor.java new file mode 100644 index 0000000..57605f0 --- /dev/null +++ b/12/src/main/java/ch/zhaw/ads/CommandExecutor.java @@ -0,0 +1,21 @@ +/** + * CommandExecutor -- Praktikum Experimentierkasten -- SW3 Dieses Interface muss + * von jedem Server implementiert werden. + * + * @author E. Mumprecht + * @version 1.0 -- Geruest fuer irgendeinen Server + * @version 1.1 -- K. Rege Fehlerueckgabe hinzugefuegt + */ +package ch.zhaw.ads; + +public interface CommandExecutor { + + /** + * execute -- nimmt eine Kommandozeile, tut irgendetwas gescheites, und + * berichtet das Resultat. + * + * @param command Kommandozeile + * @return Resultat, ueblicherweise eine oder mehrere Zeilen. + */ + String execute(String command) throws Exception; +}//interface CommandExecutor \ No newline at end of file diff --git a/12/src/main/java/ch/zhaw/ads/ExBox.java b/12/src/main/java/ch/zhaw/ads/ExBox.java new file mode 100644 index 0000000..5fb3f64 --- /dev/null +++ b/12/src/main/java/ch/zhaw/ads/ExBox.java @@ -0,0 +1,18 @@ +/** + * @author K. Rege + * @version 1.0 -- Experimentierkasten + */ +package ch.zhaw.ads; + +import java.awt.*; +import java.io.*; +import java.awt.event.*; + +public class ExBox { + + public static void main(String[] args) throws Exception { + ExBoxFrame f = new ExBoxFrame(); + f.setLocationRelativeTo(null); + f.setVisible(true); + } +} diff --git a/12/src/main/java/ch/zhaw/ads/ExBoxFrame.java b/12/src/main/java/ch/zhaw/ads/ExBoxFrame.java new file mode 100644 index 0000000..4d83da9 --- /dev/null +++ b/12/src/main/java/ch/zhaw/ads/ExBoxFrame.java @@ -0,0 +1,314 @@ +/** + * @(#)ExBoxFrame.java + * + * JFC ExBox application + * + * @author K.Rege + * @version 1.00 2014/2/3 + * @version 1.01 2016/8/2 + * @version 2.00 2017/8/30 Test + * @version 2.01 2018/2/5 AutoScale + * @version 2d.02 2018/2/5 Reconnect (inspired by S. Kunz) + */ + +package ch.zhaw.ads; + + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import java.io.*; +import java.util.*; + +import org.junit.runner.JUnitCore; +import org.junit.runner.Result; +import org.junit.runner.notification.Failure; +import org.junit.runner.notification.RunListener; +import org.junit.runner.Description; + + +public class ExBoxFrame extends JFrame implements ActionListener, ItemListener { + private static double SCALE = 1; + private JMenuItem connect, open, test, textView, graphicView; + private JButton enter; + private JTextField arguments; + private JCheckBox reconnect; + private JComboBox history; + private JTextArea output; + private JScrollPane scrollPane; + private CommandExecutor command; + private boolean graphicOn; + private GraphicPanel graphic; + private String lastServer; + + public static void setFontSize(int size) { + Set keySet = UIManager.getLookAndFeelDefaults().keySet(); + Object[] keys = keySet.toArray(new Object[keySet.size()]); + for (Object key : keys) { + if (key != null && key.toString().toLowerCase().contains("font")) { + Font font = UIManager.getDefaults().getFont(key); + if (font != null) { + font = font.deriveFont((float) size); + UIManager.put(key, font); + } + } + } + } + + private void initMenu() { + JMenuBar menuBar = new JMenuBar(); + JMenu menuFile = new JMenu(); + JMenuItem menuFileExit = new JMenuItem(); + menuFile.setText("File"); + menuFileExit.setText("Exit"); + + // Add action listener.for the menu button + menuFileExit.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + ExBoxFrame.this.windowClosed(); + } + }); + + menuFile.add(menuFileExit); + menuBar.add(menuFile); + + JMenu menuServer = new JMenu("Server"); + menuBar.add(menuServer); + connect = new JMenuItem("Connect"); + connect.addActionListener(this); + menuServer.add(connect); + test = new JMenuItem("Test"); + test.addActionListener(this); + menuServer.add(test); + + JMenu menuView = new JMenu("View"); + menuBar.add(menuView); + textView = new JMenuItem("Text"); + textView.addActionListener(this); + menuView.add(textView); + graphicView = new JMenuItem("Graphic"); + graphicView.addActionListener(this); + menuView.add(graphicView); + + open = new JMenuItem("Open..."); + open.addActionListener(this); + menuFile.insert(open, 0); + setJMenuBar(menuBar); + } + + private void initComponents() { + setLayout(new BorderLayout()); + output = new JTextArea(); + scrollPane = new JScrollPane(output); + add(BorderLayout.CENTER, scrollPane); + + Panel panel = new Panel(new BorderLayout()); + arguments = new JTextField(); + arguments.addActionListener(this); + panel.add(BorderLayout.CENTER, arguments); + enter = new JButton("enter"); + enter.addActionListener(this); + panel.add(BorderLayout.EAST, enter); + reconnect = new JCheckBox("reconnect",true); + panel.add(BorderLayout.WEST,reconnect); + history = new JComboBox(); + history.addItemListener(this); + panel.add(BorderLayout.SOUTH, history); + add(BorderLayout.SOUTH, panel); + } + + /** + * get default path for file open dialog + */ + String getPathCompiled() { + String pathtocompiled = getClass().getProtectionDomain().getCodeSource().getLocation().getPath(); + pathtocompiled = pathtocompiled.replace("%20", " ").replace("/", + File.separator); + pathtocompiled += getClass().getPackage().getName().replace(".", + File.separator); + if (System.getProperty("os.name").toLowerCase().indexOf("win") >= 0) { + pathtocompiled = pathtocompiled.substring(1); + } + return pathtocompiled; + } + + /** + * The constructor + */ + public ExBoxFrame() throws Exception { + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (Exception ex) { + ex.printStackTrace(); + } + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + if (screenSize.getWidth() > 1920) { + SCALE = 2; + } + setFontSize((int) (11 * SCALE)); + setSize(new Dimension((int) (400 * SCALE), (int) (400 * SCALE))); + setTitle("ExBox"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + initMenu(); + initComponents(); + } + + private void error(String s) { + output.append("\nERROR:" + s + "\n"); + } + + private void interpret(String args) throws Exception { + if (reconnect.isSelected() && lastServer != null) { + command = ServerFactory.createServer(lastServer); + } + if (!arguments.getText().equals(history.getItemAt(0)) + && !arguments.getText().equals(history.getSelectedItem())) { + history.insertItemAt(arguments.getText(), 0); + } + if (command == null) { + error("no Server connected"); + } else { + String res = command.execute(args); + if (graphicOn) { + graphic.setFigure(res); + } else { + output.append(res); + } + } + } + + private void setGraphicView() { + if (graphicOn) { + return; + } + remove(scrollPane); + graphic = new GraphicPanel(); + output.removeNotify(); + add(BorderLayout.CENTER, graphic); + graphicOn = true; + validate(); + repaint(); + } + + private void setTextView() { + if (!graphicOn) { + return; + } + remove(graphic); + add(BorderLayout.CENTER, scrollPane); + graphicOn = false; + validate(); + repaint(); + } + + private String openFileDialog(String startDirectory, String pattern) { + FileDialog fd = new FileDialog(this, "Open"); + if (pattern != null) { + fd.setFile(pattern); + } + if (startDirectory != null) { + fd.setDirectory(startDirectory); + } + fd.setVisible(true); + return fd.getDirectory() + fd.getFile(); + } + + private void testCommand() throws Exception { + final java.util.List failed = new LinkedList(); + final java.util.List finished = new LinkedList(); + + JUnitCore runner = new JUnitCore(); + + String name = openFileDialog(getPathCompiled(), "*Test.class"); + runner.addListener(new RunListener() { + @Override + public void testFinished(Description description) throws Exception { + finished.add(description.getDisplayName()); + } + + @Override + public void testFailure(Failure failure) throws Exception { + failed.add(failure.getDescription().getDisplayName()); + } + }); + Class testClass = ServerFactory.loadClass(name); + Result result = runner.run(testClass); + + for (String test : finished) { + if (!failed.contains(test)) { + output.append(test + ": OK\n"); + } + } + for (Failure failure : result.getFailures()) { + output.append(failure.toString() + " ERROR\n"); + } + output.append( + "TESTS PASSED: " + + (result.wasSuccessful() + ? "OK \u263a" + : result.getFailures().size() + " ERRORS") + + "\n"); + } + + private void connectCommand() throws Exception { + String name = openFileDialog(getPathCompiled(), "*Server.class"); + command = ServerFactory.createServer(name); + lastServer = name; + String fullClassName = command.getClass().getName(); + String simpleClassName = fullClassName.substring( + fullClassName.lastIndexOf('.') + 1); + setTitle("ExBox connected to " + simpleClassName); + + } + + private void openFile() throws Exception { + String name = openFileDialog(null, null); + + BufferedReader br = new BufferedReader( + new InputStreamReader(new FileInputStream(name), "ISO-8859-1")); + StringBuffer b = new StringBuffer(); + String line; + while ((line = br.readLine()) != null) { + b.append(line); + b.append('\n'); + } + interpret(b.toString()); + } + + public void itemStateChanged(ItemEvent e) { + try { + arguments.setText((String) e.getItem()); + interpret(arguments.getText()); + } catch (Throwable ex) { + error(ex.toString()); + } + } + + public void actionPerformed(ActionEvent e) { + try { + if ((e.getSource() == arguments) || (e.getSource() == enter)) { + interpret(arguments.getText()); + } else if (e.getSource() == connect) { + connectCommand(); + } else if (e.getSource() == test) { + testCommand(); + } else if (e.getSource() == open) { + openFile(); + } else if (e.getSource() == textView) { + setTextView(); + } else if (e.getSource() == graphicView) { + setGraphicView(); + } + } catch (Throwable ex) { + ex.printStackTrace(); + error(ex.toString()); + } + } + + /** + * Shutdown procedure when run as an application. + */ + protected void windowClosed() { + System.exit(0); + } +} diff --git a/12/src/main/java/ch/zhaw/ads/GraphicPanel.java b/12/src/main/java/ch/zhaw/ads/GraphicPanel.java new file mode 100644 index 0000000..e5cf666 --- /dev/null +++ b/12/src/main/java/ch/zhaw/ads/GraphicPanel.java @@ -0,0 +1,88 @@ +package ch.zhaw.ads; + + +import javax.swing.*; +import java.awt.event.*; +import java.awt.*; +import java.util.*; + + +public class GraphicPanel extends JPanel { + + String figure; + + public void setFigure(String figure) { + this.figure = figure; + paint(getGraphics()); + } + + private void drawRect(Graphics g, double x, double y, double width, double height, String style) { + int w = getWidth(); + int h = getHeight(); + int ix0 = (int) (w * x); + int iy0 = (int) (h * y); + int ix1 = (int) (w * (x + width)); + int iy1 = (int) (h * (y + height)); + if (style.equals("draw")) { + g.drawRect(ix0, h - iy1, ix1 - ix0, iy1 - iy0); + } else { + g.fillRect(ix0, h - iy1, ix1 - ix0, iy1 - iy0); + } + } + + private void drawFigure(Graphics g) { + if (figure != null) { + int w = getWidth(); + int h = getHeight(); + g.setColor(Color.black); + StringTokenizer tok = new StringTokenizer(figure, " <>=/,\"\n"); + while (tok.hasMoreTokens()) { + String fig = tok.nextToken(); + if (fig.equals("line")) { + tok.nextToken(); + double x1 = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double y1 = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double x2 = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double y2 = Double.parseDouble(tok.nextToken()); + g.drawLine((int) (x1 * w), h - (int) (y1 * h), + (int) (x2 * w), h - (int) (y2 * h)); + } else if (fig.equals("rect")) { + tok.nextToken(); + double x = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double y = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double width = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double height = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + String style = tok.nextToken(); + drawRect(g, x, y, width, height, style); + } else if (fig.equals("color")) { + tok.nextToken(); + int red = Integer.parseInt(tok.nextToken()); + tok.nextToken(); + int green = Integer.parseInt(tok.nextToken()); + tok.nextToken(); + int blue = Integer.parseInt(tok.nextToken()); + g.setColor(new Color(red, green, blue)); + } + } + } + } + + private void clear(Graphics g) { + int w = getWidth(); + int h = getHeight(); + g.setColor(new Color(240, 240, 240)); + g.fillRect(0, 0, w, h); + } + + public void paint(Graphics g) { + clear(g); + drawFigure(g); + } +} \ No newline at end of file diff --git a/12/src/main/java/ch/zhaw/ads/ServerFactory.java b/12/src/main/java/ch/zhaw/ads/ServerFactory.java new file mode 100644 index 0000000..f6acba6 --- /dev/null +++ b/12/src/main/java/ch/zhaw/ads/ServerFactory.java @@ -0,0 +1,68 @@ +/** + * ServerFactory -- Praktikum Experimentierkasten -- + * + * @author K. Rege + * @version 1.0 -- Factory zur Erstellung von Server Objekten + * @version 2.0 -- Dynamisches Nachladen + */ +package ch.zhaw.ads; + +import java.io.*; + +/* Classloader that handles file path of class + */ +class MyClassLoader extends ClassLoader { + private String path; + + MyClassLoader(ClassLoader parent) { + super(parent); + } + + private byte[] getBytes(String name) { + try { + RandomAccessFile file = new RandomAccessFile(name, "r"); + byte data[] = new byte[(int) file.length()]; + file.readFully(data); + file.close(); + return data; + } catch (IOException e) {} + return null; + } + + /** + * @name filename of class + */ + public Class loadClass(String name, boolean resolve) throws ClassNotFoundException { + // System.out.println("load:" + name + " " + resolve); + Class clazz; + byte[] classData = getBytes(name); + if (classData != null) { + clazz = defineClass(classData, 0, classData.length); + path = name.substring(0, + name.length() - clazz.getName().length() - ".class".length()); + return clazz; + } + if (!resolve) { + classData = getBytes(path + name.replace(".", File.separator) + ".class"); + if (classData != null) { + return defineClass(classData, 0, classData.length); + } + } + return findSystemClass(name); + } +} + + +public class ServerFactory { + + public static Class loadClass(String name) throws Exception { + MyClassLoader myClassLoader = new MyClassLoader( + MyClassLoader.class.getClassLoader()); + Class clazz = myClassLoader.loadClass(name, true); + return clazz; + } + + public static CommandExecutor createServer(String name) throws Exception { + return (CommandExecutor) loadClass(name).newInstance(); + } +}