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

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

?? remoteworkspace.java

?? 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一区二区三区免费野_久草精品视频
狠狠色综合日日| 91精品国产综合久久久久久久 | 精品福利一区二区三区免费视频| 欧美精彩视频一区二区三区| 亚洲午夜一区二区三区| 成人av网站免费| 精品伦理精品一区| 亚洲一区二区不卡免费| 国产成人精品影视| 欧美成人激情免费网| 亚洲bdsm女犯bdsm网站| 不卡视频一二三四| 久久精品视频一区| 麻豆成人在线观看| 欧美精品高清视频| 亚洲一区二区av电影| jizz一区二区| 欧美国产一区在线| 成人黄色电影在线| 日韩精品在线一区| 日韩电影免费在线| 欧美性受xxxx| 亚洲一区二区三区四区五区黄| 91欧美激情一区二区三区成人| 国产精品美女一区二区在线观看| 久久精品国产**网站演员| 5月丁香婷婷综合| 亚洲综合小说图片| 91精品福利在线| 一区二区三区资源| 色老头久久综合| 一区二区成人在线| 欧美性大战久久久久久久蜜臀| 亚洲女性喷水在线观看一区| 色婷婷久久久亚洲一区二区三区 | 欧美精品在线观看一区二区| 亚洲国产日韩精品| 欧美精品自拍偷拍动漫精品| 午夜欧美2019年伦理| 欧美日韩国产综合一区二区三区| 性欧美大战久久久久久久久| 欧美日韩午夜在线| 日韩av网站在线观看| 精品少妇一区二区三区日产乱码 | 欧美一a一片一级一片| 亚洲成人自拍一区| 欧美一区二区三区男人的天堂| 日本最新不卡在线| 精品国偷自产国产一区| 国产福利一区二区三区视频| 日本一区二区免费在线| 91精品福利在线| 日日嗨av一区二区三区四区| 欧美不卡一区二区三区| 国产suv一区二区三区88区| 日韩一区中文字幕| 欧美日韩不卡一区| 国产一区二区三区电影在线观看 | 日韩电影一区二区三区四区| 精品国产一区二区三区久久久蜜月 | 成av人片一区二区| 成人免费视频在线观看| 欧美日韩国产欧美日美国产精品| 久久不见久久见免费视频7| 国产欧美精品区一区二区三区 | 亚洲与欧洲av电影| 久久男人中文字幕资源站| 99这里都是精品| 天天综合日日夜夜精品| 久久久久久电影| 欧美性xxxxx极品少妇| 久久精品久久久精品美女| 中文字幕中文字幕一区| 91精品免费观看| 91婷婷韩国欧美一区二区| 裸体健美xxxx欧美裸体表演| 综合久久综合久久| 精品区一区二区| 一道本成人在线| 国产麻豆精品一区二区| 亚洲电影一区二区三区| 欧美激情一区二区三区| 日韩精品一区二区三区中文不卡| 99久久99久久精品国产片果冻| 蜜臂av日日欢夜夜爽一区| 亚洲女同一区二区| 中文文精品字幕一区二区| 91麻豆精品国产91久久久更新时间 | 一色屋精品亚洲香蕉网站| 51精品视频一区二区三区| 成人av在线影院| 激情综合色综合久久| 一区二区三区高清在线| 国产日产欧产精品推荐色| 91精品国产麻豆国产自产在线| 91色在线porny| 国产成人一区二区精品非洲| 青草国产精品久久久久久| 玉米视频成人免费看| 日韩理论片在线| 欧美国产在线观看| 久久久久久久久久久久电影 | 精品影院一区二区久久久| 亚洲成人av免费| 夜夜精品浪潮av一区二区三区| 中文字幕不卡的av| 国产欧美视频一区二区| 欧美成人精品福利| 日韩欧美在线不卡| 欧美一区日本一区韩国一区| 欧美日韩中文精品| 欧美三级电影网站| 欧美熟乱第一页| 欧美视频一区二区三区四区| 欧美视频中文一区二区三区在线观看| yourporn久久国产精品| 从欧美一区二区三区| 国产99一区视频免费| 丰满放荡岳乱妇91ww| 成人黄页在线观看| 一本一道久久a久久精品| 一本一本久久a久久精品综合麻豆| 成人高清在线视频| 99久久精品国产一区| 一本色道久久综合亚洲91| 色综合欧美在线视频区| 一本色道久久加勒比精品| 在线亚洲精品福利网址导航| 欧美伊人久久大香线蕉综合69| 在线综合+亚洲+欧美中文字幕| 日韩一区二区在线播放| 欧美电视剧在线看免费| 久久久久亚洲综合| 成人免费在线观看入口| 亚洲综合在线免费观看| 视频在线在亚洲| 国产成人av电影在线| 91蜜桃视频在线| 欧美另类videos死尸| 欧美xxxxx牲另类人与| 亚洲国产精品传媒在线观看| 亚洲精品免费视频| 男人的天堂久久精品| 国产精品18久久久久久久久久久久 | 久久www免费人成看片高清| 国产老肥熟一区二区三区| 色婷婷综合久色| 精品精品欲导航| 亚洲女厕所小便bbb| 奇米精品一区二区三区在线观看一| 国内精品久久久久影院色| 99精品视频在线观看| 欧美丰满高潮xxxx喷水动漫| 久久精品一区二区三区av| 亚洲日穴在线视频| 精品在线免费观看| 色悠久久久久综合欧美99| 日韩欧美一二区| 亚洲最大的成人av| 国产乱子轮精品视频| 欧美色综合网站| 国产日韩欧美激情| 日韩主播视频在线| 成人av网站在线观看免费| 日韩精品中文字幕在线一区| 亚洲免费av观看| 韩国av一区二区三区四区| 色婷婷综合中文久久一本| 国产亚洲欧美日韩在线一区| 亚洲成人资源在线| 色激情天天射综合网| 欧美国产精品久久| 久久99国产乱子伦精品免费| 欧美亚洲综合网| 国产精品美女久久久久aⅴ| 黑人巨大精品欧美黑白配亚洲| 欧美日韩中文精品| 一区二区三区在线播| 99在线精品免费| 国产免费成人在线视频| 国内精品视频一区二区三区八戒| 6080午夜不卡| 天堂va蜜桃一区二区三区漫画版 | 亚洲一区二区av电影| 波多野结衣亚洲| 久久亚洲春色中文字幕久久久| 日韩不卡免费视频| 91麻豆精品国产91久久久 | 欧美久久久影院| 一区二区三区.www| 色婷婷综合久色| 亚洲激情综合网| 在线亚洲精品福利网址导航| 亚洲青青青在线视频| 成人妖精视频yjsp地址| 国产欧美一区在线| 成人综合婷婷国产精品久久蜜臀| 久久久蜜桃精品| 国产成人综合在线| 国产精品视频在线看|