⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 codegenframeworkfacetselectpage.java.svn-base

📁 Eclipse代码生成器,支持Eclipse3.3 WTP版本,该项目实现了Spring + hibernate + webService + struts 框架文件的自动生成,有这方面需求的个人公司
💻 SVN-BASE
字号:
package com.newegg.eclipse.soaw.facet.codegen.ui.widgets;

import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Text;
import org.eclipse.wst.common.project.facet.ui.AbstractFacetWizardPage;

import com.newegg.eclipse.soaw.facet.codegen.ui.CodeGenUIMessages;
import com.newegg.eclipse.soaw.facet.codegen.ui.beans.CodeGenFrameworkFacetSelectConfig;
import com.newegg.eclipse.soaw.facet.codegen.ui.plugin.CodeGenPlugin;
import com.newegg.eclipse.soaw.facet.codegen.ui.preferences.PreferenceConstants;
import com.newegg.eclipse.soaw.facet.codegen.ui.util.ComponentFactory;
import com.newegg.eclipse.soaw.facet.codegen.ui.util.Utils;
import com.newegg.eclipse.soaw.facet.codegen.ui.util.ValidataTool;

public class CodeGenFrameworkFacetSelectPage extends AbstractFacetWizardPage
{
	private CodeGenFrameworkFacetSelectConfig config;

	private Combo controllerCombo = null;
	private Combo contextCombo = null;
	private Combo persistentCombo = null;
	private Text basePackageText = null;
	private Combo dataBaseTypeCombo = null;

	private Text db_driverClassNameText = null;
	private Text db_urlText = null;
	private Text db_userNameText = null;
	private Text db_passwordText = null;

	public CodeGenFrameworkFacetSelectPage ()
	{
		super("codegen.framework.facet.select.page");
		setTitle(CodeGenUIMessages.TITLE_SELECT_PORTFOLIO_FRAMEWORK);
		setDescription(CodeGenUIMessages.DESCRIPTION_SELECT_PORTFOLIO_FRAMEWORK);
	}

	/**
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
	 */
	public void createControl(Composite parent)
	{
		final Composite composite = new Composite(parent, SWT.NONE);
		composite.setLayout(new GridLayout(6, false));

		Group group = ComponentFactory.createGroup(composite, CodeGenUIMessages.LABEL_SELECT_PORTFOLIO_FRAMEWORK, 6, 6,
				true, false);

		ComponentFactory.createLabel(group, CodeGenUIMessages.LABEL_CONTROLLER_SELECT,
				CodeGenUIMessages.LABEL_CONTROLLER_SELECT, 1);
		String[] comboItems = new String[]
		{ "" };
		controllerCombo = ComponentFactory.createComboBox(group, CodeGenUIMessages.LABEL_CONTROLLER_SELECT, comboItems,
				new GridData(1, 1, false, false));

		ComponentFactory.createLabel(group, CodeGenUIMessages.LABEL_SPRING_SELECT,
				CodeGenUIMessages.LABEL_SPRING_SELECT, 1);
		contextCombo = ComponentFactory.createComboBox(group, CodeGenUIMessages.LABEL_SPRING_SELECT, comboItems,
				new GridData(1, 1, false, false));

		ComponentFactory.createLabel(group, CodeGenUIMessages.LABEL_PRESISTENT_SELECT,
				CodeGenUIMessages.LABEL_PRESISTENT_SELECT, 1);
		persistentCombo = ComponentFactory.createComboBox(group, CodeGenUIMessages.LABEL_PRESISTENT_SELECT, comboItems,
				new GridData(1, 1, false, false));

		group = ComponentFactory.createGroup(composite, CodeGenUIMessages.LABEL_GROUP_PACKAGE_CONFIG, 6, 6, true,
				false);
		ComponentFactory.createLabel(group, CodeGenUIMessages.LABEL_BASE_PACKAGE_NAME,
				CodeGenUIMessages.LABEL_BASE_PACKAGE_NAME, 6);
		basePackageText = ComponentFactory.createText(group, 6, CodeGenUIMessages.LABEL_BASE_PACKAGE_NAME, "");

		group = ComponentFactory.createGroup(composite, CodeGenUIMessages.LABEL_DATABASE_CONFIGRATION, 6, 6, true,
				false);

		ComponentFactory.createLabel(group, CodeGenUIMessages.LABEL_DATABASE_SELECT,
				CodeGenUIMessages.LABEL_DATABASE_SELECT, 1);
		dataBaseTypeCombo = ComponentFactory.createComboBox(group, CodeGenUIMessages.LABEL_DATABASE_SELECT, comboItems,
				new GridData(1, 1, false, false));

		ComponentFactory.createLabel(group, CodeGenUIMessages.LABEL_DB_DRIVER_NAME,
				CodeGenUIMessages.LABEL_DB_DRIVER_NAME, 6);
		db_driverClassNameText = ComponentFactory.createText(group, 6, CodeGenUIMessages.LABEL_DB_DRIVER_NAME, "");

		ComponentFactory
				.createLabel(group, CodeGenUIMessages.LABEL_DB_URL_NAME, CodeGenUIMessages.LABEL_DB_URL_NAME, 6);
		db_urlText = ComponentFactory.createText(group, 6, CodeGenUIMessages.LABEL_DB_URL_NAME, "");

		ComponentFactory.createLabel(group, CodeGenUIMessages.LABEL_DB_USER_NAME, CodeGenUIMessages.LABEL_DB_USER_NAME,
				6);
		db_userNameText = ComponentFactory.createText(group, 6, CodeGenUIMessages.LABEL_DB_USER_NAME, "");

		ComponentFactory
				.createLabel(group, CodeGenUIMessages.LABEL_DB_PASSWROD, CodeGenUIMessages.LABEL_DB_PASSWROD, 6);
		db_passwordText = ComponentFactory.createText(group, 6, CodeGenUIMessages.LABEL_DB_PASSWROD, "");

		initialize();
		setControl(composite);
	}

	/**
	 * 
	 * @param message
	 */
	private void updateStatus(String message)
	{
		setMessage(message == null ? null : message);
		setErrorMessage(message);
	}

	private void initialize()
	{
		basePackageText.addModifyListener(new ModifyListener()
		{
			public void modifyText(ModifyEvent e)
			{
				if (!ValidataTool.isJavaPackage(basePackageText.getText()))
				{
					updateStatus(CodeGenUIMessages.ERROR_INVALID_PACKAGE_NAME);
				} else
				{
					updateStatus(null);
				}
			}
		});
		basePackageText.setText("");
		dataBaseTypeCombo.addListener(SWT.Selection, new Listener()
		{
			public void handleEvent(Event event)
			{
				String dataBaseName = dataBaseTypeCombo.getText();
				db_driverClassNameText.setText(Utils.getDriverNameByKey(dataBaseName));
			}
		});

		String[] controller_comboItems = Utils
				.getFrameworkVesions(CodeGenUIMessages.NEWEGG_THIRDPART_CONTROLLER_LIB_FOLDER);
		controllerCombo.setItems(controller_comboItems);
		String curStoredItem = Utils.getStringFromPreference(PreferenceConstants.NEWEGG_SOAW_FACET_CONTROLLER);
		if (arrayItemExist(curStoredItem, controller_comboItems))
		{
			controllerCombo.setText(curStoredItem);
		} else
		{
			controllerCombo.setText(controller_comboItems[0]);
		}

		String[] context_comboItems = Utils.getFrameworkVesions(CodeGenUIMessages.NEWEGG_THIRDPART_CONTEXT_LIB_FOLDER);
		contextCombo.setItems(context_comboItems);
		curStoredItem = Utils.getStringFromPreference(PreferenceConstants.NEWEGG_SOAW_FACET_CONTEXT);
		if (arrayItemExist(curStoredItem, context_comboItems))
		{
			contextCombo.setText(curStoredItem);
		} else
		{
			contextCombo.setText(context_comboItems[0]);
		}

		String[] persistent_comboItems = Utils
				.getFrameworkVesions(CodeGenUIMessages.NEWEGG_THIRDPART_PERSISTENT_LIB_FOLDER);
		persistentCombo.setItems(persistent_comboItems);
		curStoredItem = Utils.getStringFromPreference(PreferenceConstants.NEWEGG_SOAW_FACET_PERSISTENT);
		if (arrayItemExist(curStoredItem, persistent_comboItems))
		{
			persistentCombo.setText(curStoredItem);
		} else
		{
			persistentCombo.setText(persistent_comboItems[0]);
		}

		String[] database_comboItems = Utils.getDataBaseTypes();
		dataBaseTypeCombo.setItems(database_comboItems);
		curStoredItem = Utils.getStringFromPreference(PreferenceConstants.NEWEGG_SOAW_FACET_DATABASETYPE);
		if (arrayItemExist(curStoredItem, database_comboItems))
		{
			dataBaseTypeCombo.setText(curStoredItem);
			db_driverClassNameText.setText(Utils.getDriverNameByKey(curStoredItem));
		} else
		{
			dataBaseTypeCombo.setText(database_comboItems[0]);
			db_driverClassNameText.setText(Utils.getDriverNameByKey(database_comboItems[0]));
		}
	}

	/**
	 * 
	 * @param curItem
	 * @param srcArray
	 * @return
	 */
	private boolean arrayItemExist(String curItem, String[] srcArray)
	{
		if (ValidataTool.stringIsNull(curItem))
		{
			return false;
		}
		for (int i = 0; i < srcArray.length; i++)
		{
			if (srcArray[i].equals(curItem))
			{
				return true;
			}
		}
		return false;
	}

	/**
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.wst.common.project.facet.ui.IFacetWizardPage#setConfig(java.lang.Object)
	 */
	public void setConfig(Object config)
	{
		this.config = (CodeGenFrameworkFacetSelectConfig) config;
	}

	/**
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.wst.common.project.facet.ui.AbstractFacetWizardPage#transferStateToConfig()
	 */
	public void transferStateToConfig()
	{
		this.config.setSelectedController(controllerCombo.getText());
		this.config.setSelectedContext(contextCombo.getText());
		this.config.setSelectedPersistent(persistentCombo.getText());

		this.config.setDatabaseType(dataBaseTypeCombo.getText());
		this.config.setBasePackageName(basePackageText.getText());
		this.config.setDb_driverClassName(db_driverClassNameText.getText());
		this.config.setDb_url(db_urlText.getText());
		this.config.setDb_userName(db_userNameText.getText());
		this.config.setDb_password(db_passwordText.getText());
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -