亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? abstractcreatepackageaction.java

?? 配置文件
?? JAVA
字號:
/**
 * Copyright (c) 2003-2005 Craig Setera
 * All Rights Reserved.
 * Licensed under the Eclipse Public License - v 1.0
 * For more information see http://www.eclipse.org/legal/epl-v10.html
 */
package eclipseme.ui.internal.actions;

import java.util.Iterator;

import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;

import eclipseme.core.internal.EclipseMECorePlugin;
import eclipseme.core.internal.utils.LoggingSafeRunnable;
import eclipseme.core.model.IMidletSuiteProject;
import eclipseme.core.model.MidletSuiteFactory;
import eclipseme.core.model.device.IDevice;
import eclipseme.ui.internal.preferences.ObfuscationPreferencePage;

/**
 * Abstract action delegate implementation for creating a packaged
 * version of a J2ME project.  This action will create a 
 * deployed jar containing the application code as well
 * as updating and deploying the JAD file.  Subclasses define
 * whether or not the created package will be obfuscated or not.
 * <p />
 * Copyright (c) 2003-2005 Craig Setera<br>
 * All Rights Reserved.<br>
 * Licensed under the Eclipse Public License - v 1.0<p/>
 * <br>
 * $Revision: 1.10 $
 * <br>
 * $Date: 2006/02/16 23:55:43 $
 * <br>
 * @author Craig Setera
 */
public abstract class AbstractCreatePackageAction extends AbstractJavaProjectAction {
	/**
	 * Default constructor
	 */
	public AbstractCreatePackageAction() {
		super();
	}

	/**
	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
	 */
	public void run(IAction action) {
		if ((selection != null) && !selection.isEmpty()) {
			boolean proguardConfigured = true;
			if (shouldObfuscate() && !selection.isEmpty()) {
				proguardConfigured = isProguardConfigurationValid();
			}
			
			if (!proguardConfigured) {
				warnAboutProguardConfiguration();
			} else {
				try {
					doPackageCreation();
				} catch (CoreException e) {
					EclipseMECorePlugin.log(IStatus.ERROR, "Creating package", e);
				}
			}
		}
	}

	/**
	 * Return a boolean indicating whether or not the resulting package
	 * should be obfuscated using Proguard.
	 * 
	 * @return
	 */
	protected abstract boolean shouldObfuscate();
	
	/**
	 * Create the deployed package for the specified java project.
	 * 
	 * @param monitor
	 * @param javaProject
	 */
	private void createPackageForProject(
		IProgressMonitor monitor, 
		IJavaProject javaProject) 
	{
		IMidletSuiteProject suite = 
			MidletSuiteFactory.getMidletSuiteProject(javaProject);
		try {
			suite.createPackage(monitor, shouldObfuscate());
		} catch (CoreException e) {
			EclipseMECorePlugin.log(IStatus.ERROR, "createPackageForProject", e);
			ErrorDialog.openError(
					getShell(), 
					"Error packaging " + javaProject.getElementName(), 
					e.getMessage(), 
					e.getStatus());

		}
	}

	/**
	 * Do the work of packaging. 
	 * @throws CoreException 
	 */
	private void doPackageCreation() 
		throws CoreException 
	{
		// Setup the progress monitoring
		ProgressMonitorDialog dialog = 
			new ProgressMonitorDialog(workbenchPart.getSite().getShell());
		dialog.open();
		
		final IProgressMonitor monitor = dialog.getProgressMonitor();
		monitor.beginTask("Create Packages", 3);
		
		// Create the packages
		Iterator iter = selection.iterator();
		while (iter.hasNext()) {
			final IJavaProject javaProject = getJavaProject(iter.next());
			
			if (javaProject != null) {
				if (doesProjectHaveValidDevice(javaProject)) {
					Platform.run(new LoggingSafeRunnable() {
						public void run() throws Exception {
							createPackageForProject(monitor, javaProject);
						}
					});
				} else {
					warnAboutInvalidDevice(javaProject);
				}
			}
		}
		
		// All done
		monitor.done();
		dialog.close();
	}

	/**
	 * Return a boolean indicating whether the project has a valid
	 * platform definition associated.
	 * 
	 * @param javaProject
	 * @return
	 * @throws CoreException 
	 */
	private boolean doesProjectHaveValidDevice(IJavaProject javaProject) 
		throws CoreException 
	{
		boolean hasValidDevice = false;
		
		IMidletSuiteProject suite = MidletSuiteFactory.getMidletSuiteProject(javaProject);
		if (suite != null) {
			IDevice device = suite.getDevice();
			hasValidDevice = (device != null);
		}

		return hasValidDevice;
	}

	/**
	 * Return a boolean indicating whether the proguard configuration
	 * is valid for obfuscation.
	 * 
	 * @return
	 */
	private boolean isProguardConfigurationValid() {
		return EclipseMECorePlugin.getProguardJarFile().exists();		
	}

	/**
	 * Warn the user that the project being packaged does not
	 * have a valid device and won't be packaged.
	 * @param javaProject 
	 */
	private void warnAboutInvalidDevice(IJavaProject javaProject) {
		String message = 
			javaProject.getElementName() + " does not have a valid device.\n" +
			javaProject.getElementName() + " will not be packaged.";
		
		MessageDialog.openWarning(getShell(), "Invalid Device", message);
	}

	/**
	 * Warn the user that Proguard is not correctly configured
	 * for creating obfuscated packages. 
	 */
	private void warnAboutProguardConfiguration() {
		String message = 
			"Proguard is not correctly configured.\n" +
			"Please configure Proguard preferences."; 

		ConfigurationErrorDialog dialog = new ConfigurationErrorDialog(
			getShell(),
			ObfuscationPreferencePage.ID,
			"Obfuscation Error",
			message,
			"Configure Proguard...");
		
		dialog.open();
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久伊人蜜桃av一区二区| 狠狠色丁香九九婷婷综合五月| 91精品国产欧美一区二区| 成人app网站| 亚洲美女在线一区| 日韩三级中文字幕| 91免费视频网址| 国产成人在线网站| 国产美女精品一区二区三区| 免费国产亚洲视频| 日韩av电影免费观看高清完整版在线观看 | 欧美日韩国产一级片| 99久久综合国产精品| 99久久精品国产毛片| 欧美性xxxxxxxx| 欧美日韩亚洲不卡| 日韩一区和二区| 久久综合成人精品亚洲另类欧美 | 国产精品国产自产拍高清av| 日本一区免费视频| 国产精品久久久久天堂| 亚洲色图欧美在线| 天天综合日日夜夜精品| 蜜桃av一区二区在线观看| 国产做a爰片久久毛片| 国产麻豆成人精品| 91久久久免费一区二区| 在线电影一区二区三区| 精品国免费一区二区三区| 国产欧美一区二区精品性色超碰| 国产午夜精品福利| 亚洲制服丝袜av| 激情都市一区二区| 色综合久久六月婷婷中文字幕| 69久久夜色精品国产69蝌蚪网| 国产亚洲婷婷免费| 亚洲va国产天堂va久久en| 国产一区二区福利| 欧美日韩国产123区| 中文字幕第一区第二区| 日韩高清不卡一区二区| 成人av电影在线| 欧美一级在线观看| 有码一区二区三区| 国产福利91精品一区二区三区| 欧美羞羞免费网站| 中文字幕国产精品一区二区| 日本va欧美va欧美va精品| 91视频在线看| 国产日韩欧美电影| 人妖欧美一区二区| 欧美伊人精品成人久久综合97 | 精品一区二区三区久久久| 91亚洲精华国产精华精华液| 欧美男男青年gay1069videost | 欧美日韩精品欧美日韩精品| 最新国产成人在线观看| 国产一区视频网站| 欧美成人综合网站| 日韩成人精品在线| 欧美日韩在线直播| 亚洲精品免费在线观看| 粉嫩欧美一区二区三区高清影视| 日韩美女视频在线| 日韩va欧美va亚洲va久久| 欧美在线视频全部完| 亚洲欧美电影一区二区| 波多野结衣亚洲| 亚洲同性同志一二三专区| 国产+成+人+亚洲欧洲自线| 久久久激情视频| 国产精品一区二区免费不卡| 精品国产人成亚洲区| 久久精品72免费观看| 在线播放视频一区| 日本欧美肥老太交大片| 日韩欧美中文一区| 国产高清不卡一区二区| 精品国产免费一区二区三区四区 | 亚洲同性同志一二三专区| 成人app在线| 国产精品成人午夜| 日本久久精品电影| 亚洲综合激情网| 欧美久久久久中文字幕| 日韩精品久久久久久| 日韩免费看的电影| 国产成人精品一区二| 久久精品人人做人人爽人人| 国产乱码精品一区二区三| 久久久99免费| 国产xxx精品视频大全| 中文字幕不卡在线播放| 成人午夜在线免费| 久久精品日韩一区二区三区| 成人高清视频免费观看| 亚洲国产成人tv| 欧美本精品男人aⅴ天堂| 国产精品18久久久久久久久 | 亚洲乱码国产乱码精品精98午夜| 成人国产一区二区三区精品| 亚洲综合av网| 日韩欧美资源站| 成人动漫在线一区| 亚洲成人综合网站| 久久精品视频免费观看| 色婷婷av一区二区三区之一色屋| 亚洲一区免费视频| 国产色产综合产在线视频| 97国产一区二区| 日本中文字幕不卡| 26uuu国产日韩综合| 99久久综合精品| 亚洲成人av中文| 日韩免费视频一区二区| 色乱码一区二区三区88| 国模少妇一区二区三区| 亚洲欧美日韩在线播放| wwww国产精品欧美| 在线观看国产日韩| 国产激情一区二区三区四区| 亚洲欧美一区二区三区极速播放 | 91一区二区在线观看| 精品亚洲成a人| 亚洲成人精品一区| 欧美国产精品中文字幕| 91精品在线免费| 91久久精品一区二区| 福利一区福利二区| 国产一区视频导航| 六月丁香婷婷久久| 亚洲妇熟xx妇色黄| 亚洲综合视频在线观看| 中文字幕av免费专区久久| 日韩三级免费观看| 91麻豆精品国产91久久久久久| 色www精品视频在线观看| 国产99久久久国产精品潘金| 毛片不卡一区二区| 日韩av中文在线观看| 性感美女极品91精品| 一片黄亚洲嫩模| 一区二区三区波多野结衣在线观看| 中文字幕不卡在线播放| 国产亚洲精品中文字幕| 久久这里只有精品6| 久久这里只有精品6| xnxx国产精品| 久久综合久久鬼色| 欧美不卡激情三级在线观看| 91精品国产综合久久久久久久 | 欧美电影免费观看高清完整版在线| 欧美中文字幕一二三区视频| 在线视频综合导航| 欧美色窝79yyyycom| 欧美军同video69gay| 国产精品欧美一区喷水| 国产欧美一区视频| 国产日韩一级二级三级| 欧美极品aⅴ影院| 国产精品久久久久久久久快鸭| 国产精品理论片| 亚洲精选视频免费看| 亚洲亚洲精品在线观看| 性感美女久久精品| 精品一区二区三区香蕉蜜桃| 国产乱对白刺激视频不卡| 丁香婷婷综合色啪| 色婷婷久久久综合中文字幕| 欧洲日韩一区二区三区| 91精品国产品国语在线不卡| 精品国产乱码久久久久久牛牛 | 欧美肥妇free| 欧美成人video| 中文字幕欧美区| 一区二区三区在线免费视频| 婷婷开心久久网| 国产永久精品大片wwwapp| av网站一区二区三区| 欧美在线视频全部完| 精品国产一区二区三区忘忧草| 亚洲国产激情av| 亚洲一二三四久久| 韩国一区二区视频| 在线中文字幕一区| 国产精品久久久久久久久搜平片 | 综合在线观看色| 日韩精品午夜视频| 不卡一区二区三区四区| 欧美日韩精品欧美日韩精品一 | 欧美国产一区在线| 亚洲一区二区三区在线看| 久久9热精品视频| 91成人在线精品| 26uuu国产一区二区三区| 亚洲午夜久久久久中文字幕久| 狠狠色狠狠色综合日日91app| 色综合色综合色综合| 久久久99久久| 偷窥国产亚洲免费视频 |