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

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

?? remoteworkspace.java

?? 一個很好實用的工作流OSWORKFLOW開發例子.有著非常優秀的靈活性.
?? JAVA
字號:
package com.opensymphony.workflow.loader;

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

import com.opensymphony.workflow.FactoryException;
import com.opensymphony.workflow.designer.Layout;
import com.opensymphony.workflow.designer.ResourceManager;
import com.opensymphony.workflow.designer.WorkflowGraph;
import com.opensymphony.workflow.designer.DesignerService; 

/**
 * @author Hani Suleiman (hani@formicary.net)
 * Date: May 15, 2003
 * Time: 7:56:36 PM
 */
public class RemoteWorkspace extends HTTPWorkflowFactory
{
  private Map layouts = new HashMap();
	private DesignerService service = null;
	  
  public RemoteWorkspace(DesignerService service)
  {
    this.service = service;
    workflows = new HashMap();
  }

  public boolean isModifiable(String name)
  {
    return true;
  }

  public void initDone() throws FactoryException
  {
    super.initDone();
    
		Map flows = service.getWorkflows(); 
		Iterator iter = flows.entrySet().iterator();   
		while (iter.hasNext()) 
		{
			Map.Entry entry = (Map.Entry) iter.next();
			HTTPWorkflowConfig config = new HTTPWorkflowConfig(service.getRemoteAddress(), entry.getValue().toString(), entry.getKey().toString());
			workflows.put(entry.getValue(), config);
		} 
		
		//	now read in all layouts
		iter = workflows.entrySet().iterator();
		while(iter.hasNext())
		{
			Map.Entry entry = (Map.Entry)iter.next();
			String workflowName = entry.getKey().toString();
			HTTPWorkflowConfig config = (HTTPWorkflowConfig)entry.getValue();
			String docId = config.docId;   
			layouts.put(workflowName, docId);
		}    
  }
  
  public String getName()
  {
    return service.getWorkspaceName();
  }

  public boolean isNew()
  {
    //return workflowsXML==null;
    return false;
  }

  public void importDescriptor(String name, InputStream is)
  {
    /*
    WorkflowConfig config = new WorkflowConfig("file", name + ".xml");
    try
    {
      File file = new File(workflowsXML.getParentFile(), name+".xml");
      config.url = file.toURL();
      config.lastModified = file.lastModified();
      workflows.put(name, config);
    }
    catch(MalformedURLException e)
    {
      //can't really happen
      e.printStackTrace();
    }
    */
  }

  public Object getLayout(String workflowName)
  {
    Object obj = layouts.get(workflowName);
    if(obj==null) 
    	return null;
    if(obj instanceof Layout)
      return (Layout)obj;
    String docId = obj.toString();
    try
    {
      String layBuffer = readLayoutBuffer(service.getRemoteAddress(), docId);
      if(layBuffer!=null)
      {
        Layout layout = new Layout(layBuffer);
        layouts.put(workflowName, layout);
        return layout;
      }
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
    return null;
  }

  public void save()
  {
  }

  public boolean removeWorkflow(String name) throws FactoryException
  {
    HTTPWorkflowConfig removed = (HTTPWorkflowConfig)workflows.remove(name);
    save();
    return removed != null;
	}

  public WorkflowDescriptor getWorkflow(String name, boolean validate) throws FactoryException
  {
    HTTPWorkflowConfig config = (HTTPWorkflowConfig)workflows.get(name);
    if(config==null) 
    	return null;
    
    if (config.descriptor==null)
    {
			String docId = config.docId; 
			try
			{
				String workflowBuffer = readWorkflowBuffer(service.getRemoteAddress(), docId);
				if (workflowBuffer!=null)
				{
					config.descriptor = WorkflowLoader.load(new ByteArrayInputStream(workflowBuffer.getBytes()), validate);
					if (config.descriptor!=null)
					{
						/*
						String metaName = (String)config.descriptor.getMetaAttributes().get("descr"); 
						if ((metaName!=null)&&(metaName.length()>0))
							name = metaName;
						*/
						config.descriptor.setName(name);
					}
					return config.descriptor;
				}
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}
			return null;
    }
    return config.descriptor;
  }

  public boolean saveWorkflow(String name, WorkflowDescriptor descriptor, WorkflowGraph graph, boolean replace) throws Exception
  {
    String layoutBuffer = "";
    String workflowBuffer;
    
    Object obj = layouts.get(name);
    if(obj instanceof Layout)
    {
      Layout layout = (Layout)obj;
      try
      {
        HTTPWorkflowConfig config = (HTTPWorkflowConfig)workflows.get(name);
        
        StringWriter sw = new StringWriter();
        PrintWriter out = new PrintWriter(new BufferedWriter(sw));
				//PrintWriter out = new PrintWriter(new ByteArrayOutputStream());
        layout.writeXML(out, 0, graph);
        out.flush();
        out.close();
        layoutBuffer = sw.getBuffer().toString(); 
       	//layoutBuffer = out.toString(); 
      }
      catch(Exception e)
      {
        e.printStackTrace();
        return false;
      }
    }
    if(descriptor!=null)
    {
      HTTPWorkflowConfig config = (HTTPWorkflowConfig)workflows.get(name);
      descriptor.getMetaAttributes().put("generator", "OSWOrkflow Designer");
      descriptor.getMetaAttributes().put("lastModified", (new Date()).toString());
      StringWriter sw = new StringWriter();
      PrintWriter writer = new PrintWriter(new BufferedWriter(sw));
      writer.println(WorkflowDescriptor.XML_HEADER);
      writer.println(WorkflowDescriptor.DOCTYPE_DECL);
      descriptor.writeXML(writer, 0);
      writer.flush();
      writer.close();
      //workflowBuffer = writer.toString();
      workflowBuffer = sw.getBuffer().toString();
      String ret = writeWorkflowDescriptor(service.getRemoteAddress(), config.docId, name, workflowBuffer);
      System.out.println("workflow ret = " + ret);
      if (ret.length() == 0)
        return false;
      ret = writeWorkflowLayout(service.getRemoteAddress(), config.docId, name, layoutBuffer);
      System.out.println("layout ret = " + ret);
      if (ret.length() == 0)
        return false;
      config.docId = ret;		// set the new document ID
      return true;
		}
    return false;
  }

  public void setLayout(String workflowName, Object layout)
  {
    layouts.put(workflowName, layout);
  }

	/*
  public String getLocation()
  {
    //return workflowsXML;
    return null;
  }

  public void setLocation(String service)
  {
    this.workflowsXML = new File(file.getParentFile(), "workflows.xml");
    this.configFile = file; 
  }
	*/

  public void createWorkflow(String name)
  {
    HTTPWorkflowConfig config = new HTTPWorkflowConfig(service.getRemoteAddress(), name, "");
    config.descriptor = new WorkflowDescriptor();
    config.descriptor.setName(name);
    ActionDescriptor initialAction = new ActionDescriptor();
    initialAction.setName(ResourceManager.getString("action.initial.start"));
    config.descriptor.getInitialActions().add(initialAction);
	  config.descriptor.getMetaAttributes().put("created", (new Date()).toString());
    workflows.put(name, config);  
  }

	public void renameWorkflow(String oldName, String newName)
	{
		//todo need to keep track of deleted workflows and delete their files on save
		HTTPWorkflowConfig config = (HTTPWorkflowConfig)workflows.get(oldName);
		config.name = newName;
		workflows.remove(oldName);
		workflows.put(newName, config);		
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人a级片| 久久国产夜色精品鲁鲁99| 精品乱人伦一区二区三区| 日韩一区二区麻豆国产| 欧美日韩在线三级| 欧美亚洲丝袜传媒另类| 色婷婷精品久久二区二区蜜臀av | 波多野结衣欧美| 国产白丝网站精品污在线入口| 精品中文字幕一区二区| 精品一区二区久久| 国产乱码精品一区二区三区忘忧草| 日本中文字幕不卡| 日本成人在线不卡视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 日本三级亚洲精品| 久久综合综合久久综合| 国内精品久久久久影院色| 国产麻豆精品95视频| 粗大黑人巨茎大战欧美成人| 91视频在线看| 欧美日韩国产综合一区二区三区| 欧美日韩成人综合天天影院| 日韩色在线观看| 国产欧美精品在线观看| 亚洲天堂免费在线观看视频| 亚洲高清久久久| 美女视频黄a大片欧美| 国产精品99久久久| 91网址在线看| 91精品欧美综合在线观看最新| 日韩精品资源二区在线| 国产精品免费aⅴ片在线观看| 亚洲一区免费视频| 蜜桃视频一区二区| a美女胸又www黄视频久久| 欧美日韩午夜在线| 久久综合色天天久久综合图片| 国产精品传媒在线| 日韩精品三区四区| 成人爽a毛片一区二区免费| 欧洲亚洲国产日韩| 精品国产免费久久| 一区二区三区高清不卡| 国产露脸91国语对白| 97精品久久久久中文字幕 | 亚洲资源在线观看| 免费精品99久久国产综合精品| 高清国产一区二区三区| 欧美日韩亚洲综合在线 | 成人激情小说网站| 777久久久精品| 亚洲精品视频在线看| 国产一区二区不卡| 在线成人免费观看| 亚洲欧美日韩在线不卡| 国产在线不卡一区| 91精品国产入口| 亚洲精选在线视频| 不卡免费追剧大全电视剧网站| 日韩欧美高清dvd碟片| 午夜激情综合网| 97久久超碰国产精品电影| 亚洲精品一区二区精华| 依依成人精品视频| 国产成人精品亚洲777人妖| 欧美一区二区日韩| 亚洲成人免费看| 色香色香欲天天天影视综合网| 日本一区二区视频在线| 国产真实乱偷精品视频免| 911国产精品| 日韩成人午夜电影| 欧美日韩成人综合| 日韩精品一卡二卡三卡四卡无卡 | 一区二区视频在线| 成人午夜av影视| 欧美国产视频在线| 国产成人av自拍| 亚洲国产激情av| 成人av在线资源| 国产精品视频在线看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 国产嫩草影院久久久久| 国产一区二区不卡在线 | 国产精品美女一区二区| 国产精品一级片在线观看| 久久久久久毛片| 国产成a人无v码亚洲福利| 久久久久成人黄色影片| 国产成人av在线影院| 精品av综合导航| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 国产清纯在线一区二区www| 国产一区在线精品| 久久精品亚洲麻豆av一区二区 | 精品久久久影院| 久久成人久久爱| 26uuu亚洲综合色欧美 | 欧美中文字幕不卡| 亚洲国产cao| 欧美一区二区性放荡片| 久久国产福利国产秒拍| 国产亚洲一二三区| 色8久久人人97超碰香蕉987| 亚洲成精国产精品女| 日韩精品一区二区在线| 成人网在线免费视频| 亚洲成人综合在线| 久久综合精品国产一区二区三区| 成人午夜视频福利| 五月婷婷激情综合| 久久综合色之久久综合| 色婷婷av一区二区三区软件| 日本不卡视频在线观看| 国产精品美女一区二区在线观看| 欧美亚洲国产一卡| 国产精品一区二区在线看| 一区二区三区成人| 亚洲精品一区二区三区在线观看| 成人教育av在线| 蜜桃视频一区二区| 一区二区三区不卡在线观看| 精品国产99国产精品| 欧日韩精品视频| 国产成人午夜视频| 日韩av午夜在线观看| 中文字幕一区不卡| 精品久久国产字幕高潮| 欧美丝袜丝nylons| 成人蜜臀av电影| 精品一区二区在线视频| 亚洲午夜羞羞片| 日韩毛片精品高清免费| 国产三级一区二区三区| 欧美精品日韩精品| 91久久线看在观草草青青| 国产福利91精品一区| 精品亚洲免费视频| 免费观看日韩电影| 亚洲亚洲人成综合网络| 亚洲欧美色图小说| 中文字幕亚洲电影| 中文字幕久久午夜不卡| 久久久青草青青国产亚洲免观| 91麻豆精品91久久久久同性| 欧美视频一区二| 欧美午夜精品一区二区三区| 99久久精品国产网站| 成人午夜激情影院| 成人综合在线观看| 国产成人av福利| 岛国一区二区三区| eeuss鲁片一区二区三区在线观看| 国产精品一区二区视频| 国产一区二区伦理| 国产成人综合亚洲91猫咪| 经典三级视频一区| 国产一区在线视频| 国产成人在线免费| 国产成人av自拍| 99久久伊人久久99| 在线视频国内自拍亚洲视频| 日本精品免费观看高清观看| 在线观看成人小视频| 91福利国产成人精品照片| 欧美艳星brazzers| 欧美性做爰猛烈叫床潮| 欧美日韩三级在线| 欧美在线视频你懂得| 在线视频一区二区三| 在线看不卡av| 欧美日本视频在线| 欧美大片在线观看| 久久只精品国产| 中文字幕一区av| 婷婷久久综合九色综合绿巨人| 日韩av高清在线观看| 国产乱码精品一区二区三区忘忧草| 国产99一区视频免费| 色天使久久综合网天天| 欧美久久久久久久久久| 日韩美女天天操| 亚洲欧洲国产日本综合| 天堂在线亚洲视频| 国产精品一卡二| 欧洲av在线精品| 精品电影一区二区三区| 日韩美女视频一区二区| 日产国产欧美视频一区精品| 国产91精品露脸国语对白| 在线观看www91| 久久免费精品国产久精品久久久久| 国产精品久久久久一区二区三区 | 欧美mv和日韩mv的网站| 国产精品毛片大码女人| 日本亚洲电影天堂| jvid福利写真一区二区三区| 91精品中文字幕一区二区三区| 中文字幕av免费专区久久|