From c7da892cb23d50d4d85746c9a0b6b14bf570989d Mon Sep 17 00:00:00 2001 From: Adrian Dudau Date: Thu, 26 Jun 2014 13:23:09 +0200 Subject: initial commit for Enea Linux 4.0 Migrated from the internal git server on the daisy-enea branch Signed-off-by: Adrian Dudau --- .../src/org/yocto/bc/ui/filesystem/Policy.java | 108 +++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/filesystem/Policy.java (limited to 'plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/filesystem/Policy.java') diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/filesystem/Policy.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/filesystem/Policy.java new file mode 100644 index 0000000..84c0f32 --- /dev/null +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/filesystem/Policy.java @@ -0,0 +1,108 @@ +/******************************************************************************* + * Copyright (c) 2000, 2007 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 API and implementation + *******************************************************************************/ +package org.yocto.bc.ui.filesystem; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Date; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.OperationCanceledException; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.SubProgressMonitor; + +import org.yocto.bc.ui.Activator; + +/** + * Grab bag of utility methods for the file system plugin + */ +public class Policy { + + /** + * General debug flag for the plugin + */ + public static boolean DEBUG = false; + + public static final String PI_FILE_SYSTEM = "org.eclipse.core.filesystem"; //$NON-NLS-1$ + + public static void checkCanceled(IProgressMonitor monitor) { + if (monitor.isCanceled()) + throw new OperationCanceledException(); + } + + /** + * Print a debug message to the console. + * Pre-pend the message with the current date and the name of the current thread. + */ + public static void debug(String message) { + StringBuffer buffer = new StringBuffer(); + buffer.append(new Date(System.currentTimeMillis())); + buffer.append(" - ["); //$NON-NLS-1$ + buffer.append(Thread.currentThread().getName()); + buffer.append("] "); //$NON-NLS-1$ + buffer.append(message); + System.out.println(buffer.toString()); + } + + public static void error(int code, String message) throws CoreException { + error(code, message, null); + } + + public static void error(int code, String message, Throwable exception) throws CoreException { + int severity = code == 0 ? 0 : 1 << (code % 100 / 33); + throw new CoreException(new Status(severity, PI_FILE_SYSTEM, code, message, exception)); + } + + public static void log(int severity, String message, Throwable t) { + if (message == null) + message = ""; //$NON-NLS-1$ + Activator.getDefault().getLog().log(new Status(severity, PI_FILE_SYSTEM, 1, message, t)); + } + + public static IProgressMonitor monitorFor(IProgressMonitor monitor) { + return monitor == null ? new NullProgressMonitor() : monitor; + } + + /** + * Closes a stream and ignores any resulting exception. + */ + public static void safeClose(InputStream in) { + try { + if (in != null) + in.close(); + } catch (IOException e) { + //ignore + } + } + + /** + * Closes a stream and ignores any resulting exception. + */ + public static void safeClose(OutputStream out) { + try { + if (out != null) + out.close(); + } catch (IOException e) { + //ignore + } + } + + public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks) { + if (monitor == null) + return new NullProgressMonitor(); + if (monitor instanceof NullProgressMonitor) + return monitor; + return new SubProgressMonitor(monitor, ticks); + } +} -- cgit v1.2.3-54-g00ecf