Java tutorial
/* * Copyright 2015 the original author or authors. * @https://github.com/scouter-project/scouter * * 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 * * http://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. * */ package scouter.client.stack.utils; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; import scouter.client.stack.base.PreferenceManager; import scouter.client.stack.config.XMLReader; import scouter.client.util.RCPUtil; public class ResourceUtils { public static InputStream getDefaultXMLConfig() { return ResourceUtils.class.getClassLoader() .getResourceAsStream("/scouter/client/stack/doc/config_default.xml"); } static public String openFileSaveDialog(String[] names, String[] extensions, String path, String defaultName) { Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); FileDialog dialog = new FileDialog(shell, SWT.SAVE); dialog.setOverwrite(true); dialog.setFilterNames(names); dialog.setFilterExtensions(extensions); dialog.setFilterPath(path); if (defaultName != null) { dialog.setFileName(defaultName); } return dialog.open(); } static public void saveFile(String fileName, String contents) { if (contents == null) { return; } contents = contents.trim(); FileOutputStream out = null; try { out = new FileOutputStream(new File(fileName), false); out.write(contents.getBytes()); out.flush(); } catch (Exception ex) { ex.printStackTrace(); } finally { if (out != null) { try { out.close(); } catch (Exception ex) { } } } } static public String selectFileDialog(Composite parent, String title, String[] names, String[] extensions) { PreferenceManager prefManager = PreferenceManager.get(); FileDialog dialog = new FileDialog(parent.getShell(), SWT.OPEN); dialog.setText(title); dialog.setFilterNames(names); dialog.setFilterExtensions(extensions); dialog.setFilterPath(prefManager.getPreference(title, RCPUtil.getWorkingDirectory().getAbsolutePath())); String fileName = dialog.open(); if (fileName != null) { File file = new File(fileName); prefManager.setPreference(title, file.getParentFile().getPath()); } return fileName; } static public boolean isZipFile(String fileName) { if (fileName == null) { return false; } File file = new File(fileName); if (!file.exists() || !file.isFile()) { return false; } InputStream in = null; try { in = new FileInputStream(file); byte[] data = new byte[2]; in.read(data); if (data[0] == 0x50 && data[1] == 0x4b) { return true; } } catch (Exception ex) { return false; } finally { if (in != null) { try { in.close(); } catch (Exception e) { } } } return false; } static public void setVisiable(ViewPart viewPart, String ID, boolean enable) { IToolBarManager manager = viewPart.getViewSite().getActionBars().getToolBarManager(); final IContributionItem[] items = manager.getItems(); for (IContributionItem item : items) { if (item.getId() != null && item.getId().equals(ID)) { item.setVisible(enable); } } manager.update(true); } static public void removeFile(String filename) { File file = null; file = new File(filename); if (file.exists() && file.isFile()) { if (!file.delete()) { System.out.println("fail to delete - " + filename); } } } static public void confirmMessage(Shell shell, String message) { MessageBox messageBox = new MessageBox(shell, SWT.ICON_INFORMATION | SWT.YES | SWT.APPLICATION_MODAL); messageBox.setText("Confirm"); messageBox.setMessage(message); messageBox.open(); } }