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

📄 sequence.java

📁 RFID复杂事件处理系统的研究实验
💻 JAVA
字号:
package test1;

public class Sequence extends NonLeaf{
	
	public Sequence()
	{
		super();
		this.operator=new String(";");
	}
	
	public C_Event work(int ii,NonLeaf n,Node n2)
	{
		C_Event ce=null;		
		Node n1=n.getlchild();		
		NonLeaf p1,p2;
		Leaf q1,q2;
		
		if(n1.getisleaf() && n2.getisleaf())
		{
			q1=(Leaf)n1;
			q2=(Leaf)n2;
			if(q1.getevents().size()==0) 
			{					
				q2.getevents().getLast().setflag(ii);
				if(q2.getevents().getLast().checkdelete())
					q2.getevents().removeLast();
			}					
			else{
				int j;
				for(j=0;j<q1.getparent().size();j++)
					if(q1.getparent().get(j)==n) break;
				int i=0;
				for(i=0;i<q1.getevents().size();i++)
				{
					if(q1.getevents().get(i).getflag(j)) break;
				}
				if(i==q1.getevents().size())
				{
					q2.getevents().getLast().setflag(ii);	
					if(q2.getevents().getLast().checkdelete())
						q2.getevents().removeLast();
				}else{
				ce=new C_Event(q1.getevents().get(i),q2.getevents().getLast(),n);
				q1.getevents().get(i).setflag(j);
				//if(q1.getevents().get(i).checkdelete())
					q1.getevents().remove(i);
				q2.getevents().getLast().setflag(ii);
				if(q2.getevents().getLast().checkdelete())
					q2.getevents().removeLast();
				ce.initflag(n);
				}						
			}			
		}else{
			if(n1.getisleaf() && !n2.getisleaf())
			{
				q1=(Leaf)n1;
				p2=(NonLeaf)n2;					
				if(q1.getevents().size()==0) 
				{			
					p2.getmid_result().getLast().setflag(ii);
					if(p2.getmid_result().getLast().checkdelete())
						p2.getmid_result().removeLast();
				}					
				else{
					int j;
					for(j=0;j<q1.getparent().size();j++)
						if(q1.getparent().get(j)==n) break;
					int i=0;
					for(i=0;i<q1.getevents().size();i++)
					{
						if(q1.getevents().get(i).getflag(j)) break;
					}
					if(i==q1.getevents().size())
					{
						p2.getmid_result().getLast().setflag(ii);	
						if(p2.getmid_result().getLast().checkdelete())
							p2.getmid_result().removeLast();
					}else{
					ce=new C_Event(q1.getevents().get(i),p2.getmid_result().getLast(),n);
					q1.getevents().get(i).setflag(j);
					if(q1.getevents().get(i).checkdelete())
						q1.getevents().remove(i);
					p2.getmid_result().getLast().setflag(ii);
					if(p2.getmid_result().getLast().checkdelete())
						p2.getmid_result().removeLast();
					ce.initflag(n);
					}						
				}		
			}else{
				if(!n1.getisleaf() && n2.getisleaf())
				{
					p1=(NonLeaf)n1;
					q2=(Leaf)n2;					
					if(p1.getmid_result().size()==0) 
					{			
						q2.getevents().getLast().setflag(ii);	
						if(q2.getevents().getLast().checkdelete())
							q2.getevents().removeLast();
					}					
					else{
						int j;
						for(j=0;j<p1.getparent().size();j++)
							if(p1.getparent().get(j)==n) break;
						int i=0;
						for(i=0;i<p1.getmid_result().size();i++)
						{
							if(p1.getmid_result().get(i).getflag(j)) break;
						}
						if(i==p1.getmid_result().size())
						{
							q2.getevents().getLast().setflag(ii);
							if(q2.getevents().getLast().checkdelete())
								q2.getevents().removeLast();
						}else{
						ce=new C_Event(q2.getevents().getLast(),p1.getmid_result().get(i),n);
						p1.getmid_result().get(i).setflag(j);
						if(p1.getmid_result().get(i).checkdelete())
							p1.getmid_result().remove(i);
						q2.getevents().getLast().setflag(ii);
						if(q2.getevents().getLast().checkdelete())
							q2.getevents().removeLast();
						ce.initflag(n);
						}						
					}		
				}else{						
					p1=(NonLeaf)n1;
					p2=(NonLeaf)n2;					
					if(p1.getmid_result().size()==0) 
					{			
						p2.getmid_result().getLast().setflag(ii);
						if(p2.getmid_result().getLast().checkdelete())
							p2.getmid_result().removeLast();
					}					
					else{
						int j;
						for(j=0;j<p1.getparent().size();j++)
							if(p1.getparent().get(j)==n) break;
						int i=0;
						for(i=0;i<p1.getmid_result().size();i++)
						{
							if(p1.getmid_result().get(i).getflag(j)) break;
						}
						if(i==p1.getmid_result().size())
						{
							p2.getmid_result().getLast().setflag(ii);
							if(p2.getmid_result().getLast().checkdelete())
								p2.getmid_result().removeLast();
						}else{
						ce=new C_Event(p1.getmid_result().get(i),p2.getmid_result().getLast(),n);
						p1.getmid_result().get(i).setflag(j);
						if(p1.getmid_result().get(i).checkdelete())
							p1.getmid_result().remove(i);
						p2.getmid_result().getLast().setflag(ii);
						if(p2.getmid_result().getLast().checkdelete())
							p2.getmid_result().removeLast();
						ce.initflag(n);
						}						
					}		
				}
			}
		}
		/*try
		{
			Thread.sleep(10);
		}
		catch (InterruptedException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}*/
		return ce;
	}

	
}	
	
	


⌨️ 快捷键说明

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