📄 graphtemplatecell.java
字号:
continue;
}
if(((DefaultPort)edge.getSource()).getParent() == null){
// System.out.println("null================2");
continue;
}
if(((DefaultPort)edge.getSource()).getParent().equals(cell)){
//iter.next();
continue;
}
Vector v = (Vector)GraphTemplateCell.getCommonParameters((DefaultGraphCell)edge);
for(int i=0;i<v.size();i++){
cacheV.add(v.get(i));
}
}
}
}
}
else{
//System.out.println("2-----------------");
//组内成员
Vector v = GraphTemplateCell.getGroupSoruceParameter(cell);
for(int i=0;i<v.size();i++){
cacheV.add(v.get(i));
}
//再找组
Vector v1 = GraphTemplateCell.getCommonParameters((DefaultGraphCell)cell.getParent());
for(int i=0;i<v1.size();i++){
cacheV.add(v1.get(i));
}
}
}
}
}
else{
if(cell.getParent() == null){
//System.out.println("1-----------------");
//组外成员
DefaultPort port = (DefaultPort)cell.getChildAt(0);
Set set = port.getEdges();
Iterator iter = set.iterator();
//System.out.println("cell="+cell);
while(iter.hasNext()){
DefaultEdge edge = (DefaultEdge)iter.next();
//System.out.println("null================0:"+edge);
if(edge.getSource() == null){
// System.out.println("null================1");
continue;
}
if(((DefaultPort)edge.getSource()).getParent() == null){
// System.out.println("null================2");
continue;
}
if(((DefaultPort)edge.getSource()).getParent().equals(cell)){
//iter.next();
continue;
}
Vector v = (Vector)GraphTemplateCell.getCommonParameters((DefaultGraphCell)edge);
for(int i=0;i<v.size();i++){
cacheV.add(v.get(i));
}
}
}
else{
//System.out.println("2-----------------");
//组内成员
Vector v = GraphTemplateCell.getGroupSoruceParameter(cell);
for(int i=0;i<v.size();i++){
cacheV.add(v.get(i));
}
//再找组
Vector v1 = GraphTemplateCell.getCommonParameters((DefaultGraphCell)cell.getParent());
for(int i=0;i<v1.size();i++){
cacheV.add(v1.get(i));
}
}
}
}
return cacheV;
}
//找组内参数
public static Vector getGroupSoruceParameter(DefaultGraphCell cell){
Vector cacheV = new Vector();
//System.out.println("getGroupSourceParameter:"+cell);
if(cell != null){
DefaultPort port = (DefaultPort)cell.getChildAt(0);
Set set = port.getEdges();
Iterator iter = set.iterator();
//System.out.println("cell="+cell);
while(iter.hasNext()){
DefaultEdge edge = (DefaultEdge)iter.next();
//System.out.println("null================0:"+edge);
if(edge.getSource() == null){
// System.out.println("null================1");
continue;
}
if(((DefaultPort)edge.getSource()).getParent() == null){
// System.out.println("null================2");
continue;
}
if(((DefaultPort)edge.getSource()).getParent().equals(cell)){
//iter.next();
continue;
}
Vector v = (Vector)GraphTemplateCell.getSubGroupParameters((DefaultGraphCell)edge);
for(int i=0;i<v.size();i++){
cacheV.add(v.get(i));
}
}
}
return cacheV;
}
public static Vector getSubGroupParameters(DefaultGraphCell cell){
Vector cacheV = new Vector();
//System.out.println("class:"+cell.getClass());
if(cell != null){
if(cell instanceof DefaultEdge){
//System.out.println("edge..........1:"+cell);
DefaultEdge edge = (DefaultEdge)cell;
if(edge.getSource()!=null){
if(FlowGraphConstants.getInputTemplate(cell.getAttributes()) != null){
//System.out.println("cell1===========");
InputParameters ps = (InputParameters)FlowGraphConstants.getInputTemplate(cell.getAttributes());
if(ps != null && FlowGraphConstants.getCellID(cell.getAttributes()) != null){
// System.out.println("cell2===========");
for(int i=0;i<ps.getParameters().size();i++){
InputParameter p = (InputParameter)ps.getParameters().get(i);
//System.out.println(FlowGraphConstants.getCellID(cell.getAttributes()).toString()+"."+p.getName());
cacheV.add(FlowGraphConstants.getCellID(cell.getAttributes()).toString()+"_"+p.getName());
}
}
}
//System.out.println("edge..........2");
DefaultPort port = (DefaultPort)edge.getSource();
if(port.getParent() != null){
//System.out.println("edge..........3");
Vector v = getSubGroupParameters(port);
if(v != null){
//System.out.println("edge..........4");
for(int i=0;i<v.size();i++){
cacheV.add(v.get(i));
}
}
}
}
}
else if(cell instanceof DefaultPort){
//System.out.println("port1===========");
if(cell.getParent() != null){
//System.out.println("port2===========");
DefaultGraphCell parent = (DefaultGraphCell)cell.getParent();
Vector v = getSubGroupParameters(parent);
if(v != null){
//System.out.println("port3===========");
for(int i=0;i<v.size();i++){
cacheV.add(v.get(i));
}
}
}
}
else if(cell instanceof GraphTemplateCell){
//System.out.println("cell0-------------------"+cell);
if(FlowGraphConstants.getOutputTemplate(cell.getAttributes()) != null){
//System.out.println("cell1===========");
Parameters ps = (Parameters)FlowGraphConstants.getOutputTemplate(cell.getAttributes());
if(ps != null && FlowGraphConstants.getCellID(cell.getAttributes()) != null){
// System.out.println("cell2===========");
for(int i=0;i<ps.getParameters().size();i++){
Parameter p = (Parameter)ps.getParameters().get(i);
//System.out.println(FlowGraphConstants.getCellID(cell.getAttributes()).toString()+"."+p.getName());
cacheV.add(FlowGraphConstants.getCellID(cell.getAttributes()).toString()+"_"+p.getName());
}
}
}
if(cell.getChildCount() > 0){
//System.out.println("cell3-------------------");
DefaultPort port = (DefaultPort)cell.getChildAt(0);
if(port != null){
// System.out.println("cell4-------------------");
Set set = port.getEdges();
if(set != null){
// System.out.println("cell5-------------------");
Iterator iter = set.iterator();
while(iter.hasNext()){
// System.out.println("cell6-------------------");
DefaultEdge edge = (DefaultEdge)iter.next();
if(edge.getSource()==null) continue;
if(((DefaultPort)edge.getSource()).getParent()==null) continue;
if(((DefaultPort)edge.getSource()).getParent().equals(cell)){
continue;
}
//System.out.println("cell7-------------------");
Vector v = getSubGroupParameters(edge);
if(v != null){
//System.out.println("cell8-------------------");
for(int j=0;j<v.size();j++){
// System.out.println("cell9-------------------");
cacheV.add(v.get(j));
}
}
}
}
}
}
}
}
return cacheV;
}
public static Vector getCommonParameters(DefaultGraphCell cell){
Vector cacheV = new Vector();
//System.out.println("class:"+cell.getClass());
if(cell != null){
if(cell instanceof DefaultEdge){
//System.out.println("edge..........1:"+cell);
DefaultEdge edge = (DefaultEdge)cell;
if(edge.getSource()!=null){
if(FlowGraphConstants.getInputTemplate(cell.getAttributes()) != null){
//System.out.println("cell1===========");
InputParameters ps = (InputParameters)FlowGraphConstants.getInputTemplate(cell.getAttributes());
if(ps != null && FlowGraphConstants.getCellID(cell.getAttributes()) != null){
// System.out.println("cell2===========");
for(int i=0;i<ps.getParameters().size();i++){
InputParameter p = (InputParameter)ps.getParameters().get(i);
//System.out.println(FlowGraphConstants.getCellID(cell.getAttributes()).toString()+"."+p.getName());
cacheV.add(FlowGraphConstants.getCellID(cell.getAttributes()).toString()+"_"+p.getName());
}
}
}
//System.out.println("edge..........2");
DefaultPort port = (DefaultPort)edge.getSource();
if(port.getParent() != null){
//System.out.println("edge..........3");
Vector v = getCommonParameters(port);
if(v != null){
//System.out.println("edge..........4");
for(int i=0;i<v.size();i++){
cacheV.add(v.get(i));
}
}
}
}
}
else if(cell instanceof DefaultPort){
//System.out.println("port1===========");
if(cell.getParent() != null){
//System.out.println("port2===========");
DefaultGraphCell parent = (DefaultGraphCell)cell.getParent();
Vector v = getCommonParameters(parent);
if(v != null){
//System.out.println("port3===========");
for(int i=0;i<v.size();i++){
cacheV.add(v.get(i));
}
}
}
}
else if(cell instanceof GraphTemplateCell){
//System.out.println("cell0-------------------"+cell);
if(FlowGraphConstants.getOutputTemplate(cell.getAttributes()) != null){
//System.out.println("cell1===========");
Parameters ps = (Parameters)FlowGraphConstants.getOutputTemplate(cell.getAttributes());
if(ps != null && FlowGraphConstants.getCellID(cell.getAttributes()) != null){
// System.out.println("cell2===========");
for(int i=0;i<ps.getParameters().size();i++){
Parameter p = (Parameter)ps.getParameters().get(i);
//System.out.println(FlowGraphConstants.getCellID(cell.getAttributes()).toString()+"."+p.getName());
cacheV.add(FlowGraphConstants.getCellID(cell.getAttributes()).toString()+"_"+p.getName());
}
}
}
if(FlowGraphConstants.getTemplateType(cell.getAttributes()) != null){
if(FlowGraphConstants.getTemplateType(cell.getAttributes()).toString().equals(TemplateConstants.GROUP_TEMPLATE)){
//当是组的时候
//找父节点
if(cell.getChildCount() > 0){
//System.out.println("cell3-------------------");
for(int i=0;i<cell.getChildCount();i++){
if(cell.getChildAt(i) instanceof DefaultPort){
DefaultPort port = (DefaultPort)cell.getChildAt(i);
if(port != null){
// System.out.println("cell4-------------------");
Set set = port.getEdges();
if(set != null){
// System.out.println("cell5-------------------");
Iterator iter = set.iterator();
while(iter.hasNext()){
// System.out.println("cell6-------------------");
DefaultEdge edge = (DefaultEdge)iter.next();
if(edge.getSource()==null) continue;
if(((DefaultPort)edge.getSource()).getParent()==null) continue;
if(((DefaultPort)edge.getSource()).getParent().equals(cell)){
continue;
}
//System.out.println("cell7-------------------");
Vector v = getCommonParameters(edge);
if(v != null){
//System.out.println("cell8-------------------");
for(int j=0;j<v.size();j++){
// System.out.println("cell9-------------------");
cacheV.add(v.get(j));
}
}
}
}
}
}
}
}
}
else{
//非组的时候
if(cell.getParent() == null){
//组外节点
if(cell.getChildCount() > 0){
//System.out.println("cell3-------------------");
DefaultPort port = (DefaultPort)cell.getChildAt(0);
if(port != null){
// System.out.println("cell4-------------------");
Set set = port.getEdges();
if(set != null){
// System.out.println("cell5-------------------");
Iterator iter = set.iterator();
while(iter.hasNext()){
// System.out.println("cell6-------------------");
DefaultEdge edge = (DefaultEdge)iter.next();
if(edge.getSource()==null) continue;
if(((DefaultPort)edge.getSource()).getParent()==null) continue;
if(((DefaultPort)edge.getSource()).getParent().equals(cell)){
continue;
}
//System.out.println("cell7-------------------");
Vector v = getCommonParameters(edge);
if(v != null){
//System.out.println("cell8-------------------");
for(int j=0;j<v.size();j++){
// System.out.println("cell9-------------------");
cacheV.add(v.get(j));
}
}
}
}
}
}
}
}
}
}
}
return cacheV;
}
public static void PrintGraphCell(Object cell){
System.out.println("PrintGraphCell..........1");
ByteArrayOutputStream bout = new ByteArrayOutputStream();
XMLEncoder enc = new XMLEncoder(bout);
enc.writeObject(cell);
enc.close();
System.out.println(bout);
System.out.println("PrintGraphCell..........2");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -