task.java

来自「一个eclipse插件源代码。用于web开发」· Java 代码 · 共 609 行

JAVA
609
字号
/*
 * $Header: /home/cvs/WEBPUMP2.0/WebPumpIDE_Src/WebPumpIDE/src/com/webpump/ui/gefmodule/model/Task.java,v 1.1.1.1 2004/07/01 09:07:48 wang_j Exp $
 * $Revision: 1.1.1.1 $
 * $Date: 2004/07/01 09:07:48 $
 *
 * ====================================================================
 *
 * The NanJing HopeRun(IT-FOREST) Software License, Version 2.0.0
 *
 * Copyright 2003-2004 by NanJing HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and
 *                        IT Forest Corporation
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of
 * HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and IT Forest Corporation.
 * You shall not disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into with
 * HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and IT Forest Corporation.
 */

package com.webpump.ui.gefmodule.model;

import java.io.PrintWriter;
import java.util.*;

import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.PropertyDescriptor;
import org.eclipse.ui.views.properties.TextPropertyDescriptor;
import org.w3c.dom.Node;

import com.webpump.ui.perspective.MacroResource;
import com.webpump.ui.perspective.WebpumpIDEPlugin;

/**
 * Class for Task
 * 
 * @author shi_l
 * @version 2.0.0 2004-5-30
 */
public class Task extends ModelElement {

	protected ModelSubpart source;
	protected ModelSubpart target;
	protected String sourceTerminal;
	protected String targetTerminal;

	protected boolean value;

	/**The path of the task*/
	private String m_strPath;

	/**The name of the task*/
	private String m_strName;

	/**The base type of the task*/
	private String m_strBaseType;

	/**Whether the page has validate*/
	private boolean m_bValidate;

	/**The client of the task*/
	private String m_strClient;

	/**The forward name of the task*/
	private String m_strFwdName;

	/**The state of the task*/
	private String m_strState;

	/**The update time of the task*/
	private String m_strUpdateTime;

	/**The description*/
	private String m_strDescription;

	/**The mode*/
	private String m_strMode;

	private String m_strUILogicBean;

	/**
	 * constructor
	 */
	public Task() {
		m_strPath = "";
		m_strName = "";
		m_strBaseType = "";
		m_bValidate = false;
		m_strMode = "";
		m_strFwdName = "";
		m_strState = "new";
		m_strUpdateTime = "";
		m_strDescription = "";
		//m_strFunctionName = "";
		m_strUILogicBean = "";
		//m_strContent = null;
	}

	/**
	 * attach source
	 *
	 */
	public void attachSource() {
		if (getSource() == null || getSource().getSourceConnections().contains(this))
			return;
		getSource().connectOutput(this);
	}

	/**
	 * attach target
	 *
	 */
	public void attachTarget() {
		if (getTarget() == null || getTarget().getTargetConnections().contains(this))
			return;
		getTarget().connectInput(this);
	}

	/**
	 * detach source
	 *
	 */
	public void detachSource() {
		if (getSource() == null)
			return;
		getSource().disconnectOutput(this);
	}

	/**
	 * detach target
	 *
	 */
	public void detachTarget() {
		if (getTarget() == null)
			return;
		getTarget().disconnectInput(this);
	}

	/**
	 * get source
	 * @return source ModelSubpart
	 */
	public ModelSubpart getSource() {
		return source;
	}

	/**
	 * get source terminal
	 * @return sourceTerminal String
	 */
	public String getSourceTerminal() {
		return sourceTerminal;
	}

	/**
	 * get target
	 * @return target ModelSubpart
	 */
	public ModelSubpart getTarget() {
		return target;
	}

	/**
	 * get target terminal
	 * @return targetTerminal String
	 */
	public String getTargetTerminal() {
		return targetTerminal;
	}

	/**
	 * set source
	 * @param e ModelSubpart
	 */
	public void setSource(ModelSubpart e) {
		Object old = source;
		source = e;
		firePropertyChange("source", old, source); //$NON-NLS-1$
	}

	/**
	 * set source terminal
	 * @param s String
	 */
	public void setSourceTerminal(String s) {
		Object old = sourceTerminal;
		sourceTerminal = s;
		firePropertyChange("sourceTerminal", old, sourceTerminal); //$NON-NLS-1$
	}

	/**
	 * set target
	 * @param e ModelSubpart
	 */
	public void setTarget(ModelSubpart e) {
		target = e;
	}

	/**
	 * set target terminal
	 * @param s String
	 */
	public void setTargetTerminal(String s) {
		targetTerminal = s;
	}

	/**
	 * get description
	 * @return description String
	 */
	public String getDescription() {
		return m_strDescription;
	}

	/**
	 * set description
	 * @param strDescription
	 */
	public void setDescription(String strDescription) {
		m_strDescription = strDescription;
		firePropertyChange("PROPERTY_DESCRIPTION", null, null);
	}

	/**
	 * set path
	 * @param path
	 */
	public void setPath(String path) {
		m_strPath = path;
		firePropertyChange("PROPERTY_PATH", null, null);
	}

	/**
	 * set name
	 * @param name
	 */
	public void setName(String name) {
		m_strName = name;
		firePropertyChange("PROPERTY_NAME", null, null);
	}

	/**
	 * set base type
	 * @param baseType
	 */
	public void setBaseType(String baseType) {
		m_strBaseType = baseType;
		firePropertyChange("PROPERTY_BASETYPE", null, null);
	}

	/**
	 * set validate
	 * @param validate
	 */
	public void setValidate(boolean validate) {
		m_bValidate = validate;
		firePropertyChange("PROPERTY_VALIDATE", null, null);
	}

	/**
	 * set mode
	 * @param mode
	 */
	public void setMode(String mode) {
		m_strMode = mode;
		firePropertyChange("PROPERTY_MODE", null, null);
	}

	/**
	 * set forward name
	 * @param fwdName
	 */
	public void setFwdName(String fwdName) {
		m_strFwdName = fwdName;
		firePropertyChange("PROPERTY_FORWARDNAME", null, null);
	}

	/**
	 * set state
	 * @param state
	 */
	public void setState(String strState) {
		m_strState = strState;
		firePropertyChange("PROPERTY_STATE", null, null);
	}

	/**
	 * set update time
	 * @param updateTime
	 */
	public void setUpdateTime(String updateTime) {
		m_strUpdateTime = updateTime;
		firePropertyChange("PROPERTY_UPDATETIME", null, null);
	}

	/**
	 * set value
	 * @param value boolean
	 */
	public void setValue(boolean value) {
		if (value == this.value)
			return;
		this.value = value;
		if (target != null)
			target.update();
		firePropertyChange("value", null, null); //$NON-NLS-1$
	}

	/**
	 * get value
	 * @return value boolean
	 */
	public boolean getValue() {
		return value;
	}

	/**
	 * get path
	 * @return path String
	 */
	public String getPath() {
		return m_strPath;
	}

	/**
	 * get name
	 * @return name String
	 */
	public String getName() {
		return m_strName;
	}

	/**
	 * get base type
	 * @return base type String
	 */
	public String getBasetype() {
		return m_strBaseType;
	}

	/**
	 * get validate
	 * @return validate boolean
	 */
	public boolean getValidate() {
		return m_bValidate;
	}

	/**
	 * get mode
	 * @return mode String
	 */
	public String getMode() {
		return m_strMode;
	}

	/**
	 * get forward name
	 * @return forward name String
	 */
	public String getFwdName() {
		return m_strFwdName;
	}

	/**
	 * get m_strUILogicBean
	 * @return m_strUILogicBean String
	 */
	public String getUILogicBean() {
		return m_strUILogicBean;
	}

	/**
	 * set m_strUILogicBean
	 * @param string String
	 */
	public void setUILogicBean(String string) {
		m_strUILogicBean = string;
	}

	/**
	 * get state
	 * @return state String
	 */
	public String getState() {
		return m_strState;
	}

	/**
	 * get update time
	 * @return update time String
	 */
	public String getUpdateTime() {
		return m_strUpdateTime;
	}

	public String toString() {
		return m_strName;
	}

	/**
	 * write to XML
	 * @param indent
	 * @param writer
	 */
	public void write(PrintWriter writer) {
		writer.print("    <task");
		writer.print(" path = \"" + WebpumpIDEPlugin.filterXML(m_strPath) + "\"");
		writer.print(" name = \"" + WebpumpIDEPlugin.filterXML(m_strName) + "\"");
		writer.println(" basetype = \"" + m_strBaseType + "\"");
		writer.print(
			"          requestpagename = \""
				+ WebpumpIDEPlugin.filterXML(((Page) source).getPageName())
				+ "\"");
		writer.print(
			" responsepagename = \""
				+ WebpumpIDEPlugin.filterXML(((Page) target).getPageName())
				+ "\"");
		writer.println(" validate = \"" + m_bValidate + "\"");
		writer.print("          mode = \"" + m_strMode + "\"");
		writer.print(" forwardname = \"" + m_strFwdName + "\"");
		writer.println(" state = \"" + m_strState + "\"");
		writer.print("          updatetime = \"" + m_strUpdateTime + "\"");
		writer.print(" uilogicbean = \"" + WebpumpIDEPlugin.filterXML(m_strUILogicBean) + "\"");
		writer.print(" description = \"" + WebpumpIDEPlugin.filterXML(m_strDescription) + "\"");
		writer.print(" sourceterminal = \"" + WebpumpIDEPlugin.filterXML(sourceTerminal) + "\"");
		writer.print(" targetterminal = \"" + WebpumpIDEPlugin.filterXML(targetTerminal) + "\"");
		writer.println(">");
		writer.println("    </task>");
		writer.println();
	}

	/**
	 * parse the node
	 * @param node
	 * @param lineTable
	 * @return success or fail boolean
	 */
	protected boolean parse(Node node, Vector m_vChildren) {
		//解析m_strName
		m_strName = getNodeAttribute(node, "name");
		//解析m_strPath
		m_strPath = getNodeAttribute(node, "path");
		//解析m_strBaseType
		m_strBaseType = getNodeAttribute(node, "basetype");
		//解析m_strUpdateTime
		m_strUpdateTime = getNodeAttribute(node, "updatetime");

		m_strDescription = getNodeAttribute(node, "description");
		if (m_strDescription == null)
			m_strDescription = "";
		//解析m_strMode
		m_strMode = getNodeAttribute(node, "mode");
		//解析m_strFwdName
		m_strFwdName = getNodeAttribute(node, "forwardname");
		//解析validate
		String validate = getNodeAttribute(node, "validate");
		String m_strUILogicBean = getNodeAttribute(node, "uilogicbean");
		if (validate.equals("true")) {
			m_bValidate = true;
		} else {
			m_bValidate = false;
		}
		m_strState = getNodeAttribute(node, "state");

		String source = getNodeAttribute(node, "requestpagename");
		//得到m_strBaseType
		String target = getNodeAttribute(node, "responsepagename");

		String sourceTerminal = getNodeAttribute(node, "sourceterminal");
		if(sourceTerminal == null) {
			sourceTerminal = "1";
		}

		String targetTerminal = getNodeAttribute(node, "targetterminal");
		if(targetTerminal == null) {
			targetTerminal = "A";
		}

		for (int i = 0; i < m_vChildren.size(); i++) {
			Page page = (Page) m_vChildren.get(i);
			if (page.getPageName().equals(source)) {
				setSource(page);
				setSourceTerminal(sourceTerminal);
				attachSource();
			}
			if (page.getPageName().equals(target)) {
				setTarget(page);
				setTargetTerminal(targetTerminal);
				attachTarget();
			}
		}
		return true;
	}

	/**
	 * get property value
	 * @param propName Object
	 * @return value Obect
	 */
	public Object getPropertyValue(Object propName) {
		if ("PROPERTY_NAME".equals(propName))
			return m_strName;
		if ("PROPERTY_SOURCENAME".equals(propName))
			return ((Page) source).getPageName();
		if ("PROPERTY_TARGETNAME".equals(propName))
			return ((Page) target).getPageName();
		if ("PROPERTY_DESCRIPTION".equals(propName))
			return m_strDescription;
		if ("PROPERTY_PATH".equals(propName))
			return m_strPath;
		if ("PROPERTY_BASETYPE".equals(propName))
			return m_strBaseType;
		if ("PROPERTY_VALIDATE".equals(propName))
			return new Boolean(m_bValidate);
		if ("PROPERTY_FWDNAME".equals(propName))
			return m_strFwdName;
		if ("PROPERTY_STATE".equals(propName))
			return m_strState;
		if ("PROPERTY_UPDATETIME".equals(propName))
			return m_strUpdateTime;
		if ("PROPERTY_MODE".equals(propName))
			return m_strMode;
		if ("PROPERTY_UILOGICBEAN".equals(propName))
			return m_strUILogicBean;
		return super.getPropertyValue(propName);
	}

	/**
	 * reset property value
	 * @param id Object
	 */
	public void resetPropertyValue(Object id) {
		if ("PROPERTY_NAME".equals(id))
			setName("");
		if ("PROPERTY_DESCRIPTION".equals(id))
			setDescription("");
		if ("PROPERTY_PATH".equals(id))
			setPath("");
		if ("PROPERTY_BASETYPE".equals(id))
			setBaseType("");
		if ("PROPERTY_VALIDATE".equals(id))
			setValidate(false);
		if ("PROPERTY_FWDNAME".equals(id))
			setFwdName("");
		if ("PROPERTY_STATE".equals(id))
			setState("");
		if ("PROPERTY_UPDATETIME".equals(id))
			setUpdateTime("");
		if ("PROPERTY_MODE".equals(id))
			setMode("");
		if ("PROPERTY_UILOGICBEAN".equals(id))
			setUILogicBean("");
		super.resetPropertyValue(id);
	}

	/**
	 * set property value
	 * @param id Object
	 * 		  value Object
	 */
	public void setPropertyValue(Object id, Object value) {
		if ("PROPERTY_NAME".equals(id))
			setName((String) value);
		if ("PROPERTY_DESCRIPTION".equals(id))
			setDescription((String) value);
		if ("PROPERTY_PATH".equals(id))
			setPath((String) value);
		if ("PROPERTY_BASETYPE".equals(id))
			setBaseType((String) value);
		if ("PROPERTY_VALIDATE".equals(id))
			setValidate(((Boolean) value).booleanValue());
		if ("PROPERTY_FWDNAME".equals(id))
			setFwdName((String) value);
		if ("PROPERTY_STATE".equals(id))
			setState((String) value);
		if ("PROPERTY_UPDATETIME".equals(id))
			setUpdateTime((String) value);
		if ("PROPERTY_MODE".equals(id))
			setMode((String) value);
		if ("PROPERTY_UILOGICBEAN".equals(id))
			setUILogicBean((String) value);
		super.setPropertyValue(id, value);
	}

	/**
	 * get property descriptors
	 * @return new descriptors IPropertyDescriptor[]
	 */
	public IPropertyDescriptor[] getPropertyDescriptors() {
		PropertyDescriptor[] newDescriptors =
			new PropertyDescriptor[] {
				new TextPropertyDescriptor(
					"PROPERTY_NAME",
					WebpumpIDEPlugin.getResourceString(MacroResource.MODULE_TASK_NAME)),
				new PropertyDescriptor(
					"PROPERTY_SOURCENAME",
					WebpumpIDEPlugin.getResourceString(MacroResource.MODULE_REQUEST_PAGE)),
				new PropertyDescriptor(
					"PROPERTY_TARGETNAME",
					WebpumpIDEPlugin.getResourceString(MacroResource.MODULE_RESPONSE_PAGE)),
				new TextPropertyDescriptor(
					"PROPERTY_DESCRIPTION",
					WebpumpIDEPlugin.getResourceString(
						MacroResource.MODULEDIALOGVIEW_MODULE_DESCRIPTION))};
		return newDescriptors;
	}
}

⌨️ 快捷键说明

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