Commit 12c004da authored by Maxime Lefrançois's avatar Maxime Lefrançois
Browse files

Merge branch 'sarefGUI' into develop

parents 75f70007 6f54ba47
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
@@ -170,6 +170,12 @@
			<version>1.4.5.519</version>
		</dependency>

		<dependency>
			<groupId>org.openjfx</groupId>
			<artifactId>javafx-controls</artifactId>
			<version>11</version>
		</dependency>

	</dependencies>

	<build>
@@ -226,5 +232,41 @@
				</configuration>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-assembly-plugin
										</artifactId>
										<versionRange>
											[3.2.0,)
										</versionRange>
										<goals>
											<goal>single</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>

report_output.xml

0 → 100644
+2 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<testsuites name="SAREF pipeline" tests="0" failures="0" errors="0"/>
+26 −8
Original line number Diff line number Diff line
@@ -25,6 +25,12 @@
 */
package fr.emse.gitlab.saref;

import java.awt.Desktop;
import java.io.Console;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 *
 * @author Maxime Lefrançois
@@ -32,14 +38,26 @@ package fr.emse.gitlab.saref;
 */
public class Main {
	
	private static final Logger LOG = LoggerFactory.getLogger(Main.class);

	public static void main(String[] args) {
		final Console console = System.console();
		boolean hasConsole = console != null;
		boolean supported = Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE);
		
		if (args != null) {
			final SAREFPipeline pipeline = CLIExecution.getSAREFPipeline(args);
			try {
				pipeline.run();
			} catch(SAREFPipelineException ex) {
				LOG.error("Exception:", ex);
				System.exit(-1);
			}
		} else {
			while(true) {
				final SAREFPipeline pipeline = GUIExecution.getSAREFPipeline();
				pipeline.run();
			}
		}
	}	

}
+124 −0
Original line number Diff line number Diff line
/**
 * 
 */
package fr.emse.gitlab.saref;

import javax.swing.JComponent;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.text.DefaultCaret;

import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.Layout;
import org.apache.log4j.spi.LoggingEvent;

import org.apache.commons.lang3.ArrayUtils;
import org.apache.log4j.spi.ErrorCode;

/**
 * @author Omar Qawasmeh
 * 
 * @organization Ecole des Mines de Saint Etienne
 */
/*
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with the
 * License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
 * 
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
 * the specific language governing rights and limitations under the License.
 * 
 * The Original Code is 'JSignPdf, a free application for PDF signing'.
 * 
 * The Initial Developer of the Original Code is Josef Cacek. Portions created
 * by Josef Cacek are Copyright (C) Josef Cacek. All Rights Reserved.
 * 
 * Contributor(s): Josef Cacek.
 * 
 * Alternatively, the contents of this file may be used under the terms of the
 * GNU Lesser General Public License, version 2.1 (the "LGPL License"), in which
 * case the provisions of LGPL License are applicable instead of those above. If
 * you wish to allow use of your version of this file only under the terms of
 * the LGPL License and not to allow others to use your version of this file
 * under the MPL, indicate your decision by deleting the provisions above and
 * replace them with the notice and other provisions required by the LGPL
 * License. If you do not delete the provisions above, a recipient may use your
 * version of this file under either the MPL or the LGPL License.
 */

public class JTextAreaAppender extends AppenderSkeleton {
	String NEW_LINE = System.getProperty("line.separator");
	private JTextArea jTextArea;

	/**
	 * Constructor.
	 * 
	 * @param jTextArea
	 */
	public JTextAreaAppender(final JTextArea jTextArea) {
		if (jTextArea == null) {
			throw new IllegalArgumentException("JTextArea has to be not-null.");
		}
		this.jTextArea = jTextArea;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.apache.log4j.Appender#close()
	 */
	public void close() {
		jTextArea = null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.apache.log4j.Appender#requiresLayout()
	 */
	public boolean requiresLayout() {
		return true;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * org.apache.log4j.AppenderSkeleton#append(org.apache.log4j.spi.LoggingEvent)
	 */

//	  protected void append(LoggingEvent event) 
//	    {
//	        if(event.getLevel().equals(Level.INFO)){
//	        jTextA.append(event.getMessage().toString());
//	        }
//	    }
	@Override
	protected void append(LoggingEvent event) {
		if (layout == null) {
			errorHandler.error("No layout for appender " + name, null, ErrorCode.MISSING_LAYOUT);
			return;
		}
		final String message = layout.format(event);
		jTextArea.append(message);

		if (layout.ignoresThrowable()) {
			for (String throwableRow : ArrayUtils.nullToEmpty(event.getThrowableStrRep())) {
				jTextArea.append(throwableRow + NEW_LINE);
			}
		}
		
		jTextArea.update(jTextArea.getGraphics());
//	    DefaultCaret caret = (DefaultCaret)jTextArea.getCaret();
//	    caret.setUpdatePolicy(DefaultCaret.OUT_BOTTOM);

		// scroll TextArea
//		jTextArea.setCaretPosition(jTextArea.getText().length());
//		jTextArea.update(jTextArea.getGraphics());
//		texta.setCaretPosition(texta.getDocument().getLength() - 1);

	}

}