Search in sources :

Example 6 with SegmentModel

use of org.talend.designer.hl7.model.SegmentModel in project tdi-studio-se by Talend.

the class HL7MultiSchemaUI method initSchemaCombo.

public void initSchemaCombo(List<IMetadataTable> tables) {
    List<SegmentModel> segments = this.contentProvider.getAllSegmentsForMessage();
    metaTableViewer.setInput(segments);
    if (!isRepository) {
        initMappingMap(segments);
    }
    final Combo combo = metaTableViewer.getCombo();
    if (tables == null || tables.size() == 0) {
        combo.select(0);
    } else {
        IMetadataTable table = tables.get(0);
        String label = table.getLabel();
        int index = 0;
        for (int i = 0; i < segments.size(); i++) {
            String name = segments.get(i).getSeg().getName();
            if (label.equals(name)) {
                index = i;
                break;
            }
        }
        combo.select(index);
    }
    updateCurrentMetadataTable();
}
Also used : IMetadataTable(org.talend.core.model.metadata.IMetadataTable) Combo(org.eclipse.swt.widgets.Combo) SegmentModel(org.talend.designer.hl7.model.SegmentModel)

Example 7 with SegmentModel

use of org.talend.designer.hl7.model.SegmentModel in project tdi-studio-se by Talend.

the class HL7MessageTreeContentProvider method getChildren.

public Object[] getChildren(Object parentElement) {
    List values = new ArrayList();
    if (parentElement instanceof Message) {
        Message messParent = (Message) parentElement;
        String[] childNames = messParent.getNames();
        if (!values.isEmpty()) {
            values.clear();
        }
        for (int i = 0; i < childNames.length; i++) {
            try {
                Structure[] childReps = messParent.getAll(childNames[i]);
                for (int j = 0; j < childReps.length; j++) {
                    if (childReps[j] instanceof Message) {
                        values.add(childReps[j]);
                    }
                    if (childReps[j] instanceof Group) {
                        values.add((Group) childReps[j]);
                        allSegmentFromGroup.clear();
                        getAllSegmentsFromGroup((Group) childReps[j]);
                    }
                    if (childReps[j] instanceof Segment) {
                        SegmentModel sModel = new SegmentModel((Segment) childReps[j], messParent, i, j);
                        if (sModel.getTypes() != null && sModel.getTypes().length > 0) {
                            values.add(sModel);
                            if (!allSegmentsForMessage.contains(sModel)) {
                                allSegmentsForMessage.add(sModel);
                            }
                        }
                    }
                }
            // values.addAll(Arrays.asList(childReps));
            } catch (HL7Exception e) {
                e.printStackTrace();
            }
        }
        return values.toArray();
    }
    if (parentElement instanceof Segment) {
        values.clear();
        Segment segment = (Segment) parentElement;
        SegmentModel sm = new SegmentModel(segment, segment, 0, 0);
        return sm.getTypes();
    }
    if (parentElement instanceof SegmentModel) {
        SegmentModel sm = (SegmentModel) parentElement;
        return sm.getTypes();
    }
    if (parentElement instanceof TypeModel) {
        TypeModel tm = (TypeModel) parentElement;
        return tm.getPrimitives();
    }
    if (parentElement instanceof Group) {
        values.clear();
        Group group = (Group) parentElement;
        String[] childNames = group.getNames();
        for (int i = 0; i < childNames.length; i++) {
            try {
                Structure[] childReps = group.getAll(childNames[i]);
                for (int j = 0; j < childReps.length; j++) {
                    if (childReps[j] instanceof Segment) {
                        SegmentModel sm = new SegmentModel((Segment) childReps[j], group, i, j);
                        if (sm.getTypes() != null && sm.getTypes().length > 0) {
                            values.add(sm);
                        }
                    } else {
                        values.add(childReps[j]);
                    }
                }
            // values.addAll(Arrays.asList(childReps));
            } catch (HL7Exception e) {
                e.printStackTrace();
            }
        }
        return values.toArray();
    }
    return new Object[0];
}
Also used : Group(ca.uhn.hl7v2.model.Group) Message(ca.uhn.hl7v2.model.Message) ArrayList(java.util.ArrayList) TypeModel(org.talend.designer.hl7.model.TypeModel) Segment(ca.uhn.hl7v2.model.Segment) HL7Exception(ca.uhn.hl7v2.HL7Exception) ArrayList(java.util.ArrayList) List(java.util.List) Structure(ca.uhn.hl7v2.model.Structure) SegmentModel(org.talend.designer.hl7.model.SegmentModel)

Example 8 with SegmentModel

use of org.talend.designer.hl7.model.SegmentModel in project tdi-studio-se by Talend.

the class HL7PublicUtil method getChildList.

public Object[] getChildList(Object parentElement) {
    List values = new ArrayList();
    if (parentElement instanceof Message) {
        Message messParent = (Message) parentElement;
        String[] childNames = messParent.getNames();
        if (!values.isEmpty()) {
            values.clear();
        }
        for (int i = 0; i < childNames.length; i++) {
            try {
                Structure[] childReps = messParent.getAll(childNames[i]);
                for (int j = 0; j < childReps.length; j++) {
                    if (childReps[j] instanceof Message) {
                        values.add(childReps[j]);
                    }
                    if (childReps[j] instanceof Group) {
                        allSegmentFromGroup.clear();
                        getAllSegmentsFromGroup((Group) childReps[j]);
                        if (allSegmentFromGroup.size() > 0) {
                            values.addAll(Arrays.asList(allSegmentFromGroup.toArray(new SegmentModel[0])));
                        }
                    }
                    if (childReps[j] instanceof Segment) {
                        SegmentModel sModel = new SegmentModel((Segment) childReps[j], messParent, i, j);
                        if (sModel.getTypes() != null && sModel.getTypes().length > 0) {
                            values.add(sModel);
                            if (!allSegmentsForMessage.contains(sModel)) {
                                allSegmentsForMessage.add(sModel);
                            }
                        }
                    }
                }
            // values.addAll(Arrays.asList(childReps));
            } catch (HL7Exception e) {
                e.printStackTrace();
            }
        }
        return values.toArray();
    }
    if (parentElement instanceof Segment) {
        values.clear();
        Segment segment = (Segment) parentElement;
        SegmentModel sm = new SegmentModel(segment, segment, 0, 0);
        return sm.getTypes();
    }
    if (parentElement instanceof SegmentModel) {
        SegmentModel sm = (SegmentModel) parentElement;
        return sm.getTypes();
    }
    if (parentElement instanceof TypeModel) {
        TypeModel tm = (TypeModel) parentElement;
        return tm.getPrimitives();
    }
    if (parentElement instanceof Group) {
        values.clear();
        Group group = (Group) parentElement;
        String[] childNames = group.getNames();
        for (int i = 0; i < childNames.length; i++) {
            try {
                Structure[] childReps = group.getAll(childNames[i]);
                for (int j = 0; j < childReps.length; j++) {
                    if (childReps[j] instanceof Segment) {
                        SegmentModel sm = new SegmentModel((Segment) childReps[j], group, i, j);
                        if (sm.getTypes() != null && sm.getTypes().length > 0) {
                            values.add(sm);
                        }
                    } else {
                        values.add(childReps[j]);
                    }
                }
            // values.addAll(Arrays.asList(childReps));
            } catch (HL7Exception e) {
                e.printStackTrace();
            }
        }
        return values.toArray();
    }
    return new Object[0];
}
Also used : Group(ca.uhn.hl7v2.model.Group) Message(ca.uhn.hl7v2.model.Message) ArrayList(java.util.ArrayList) TypeModel(org.talend.designer.hl7.model.TypeModel) Segment(ca.uhn.hl7v2.model.Segment) HL7Exception(ca.uhn.hl7v2.HL7Exception) ArrayList(java.util.ArrayList) List(java.util.List) Structure(ca.uhn.hl7v2.model.Structure) SegmentModel(org.talend.designer.hl7.model.SegmentModel)

Aggregations

SegmentModel (org.talend.designer.hl7.model.SegmentModel)8 Group (ca.uhn.hl7v2.model.Group)5 HL7Exception (ca.uhn.hl7v2.HL7Exception)4 Message (ca.uhn.hl7v2.model.Message)4 Segment (ca.uhn.hl7v2.model.Segment)4 Structure (ca.uhn.hl7v2.model.Structure)4 ArrayList (java.util.ArrayList)4 List (java.util.List)3 TypeModel (org.talend.designer.hl7.model.TypeModel)3 Combo (org.eclipse.swt.widgets.Combo)2 HashSet (java.util.HashSet)1 Set (java.util.Set)1 ArrayContentProvider (org.eclipse.jface.viewers.ArrayContentProvider)1 ComboViewer (org.eclipse.jface.viewers.ComboViewer)1 LabelProvider (org.eclipse.jface.viewers.LabelProvider)1 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)1 SelectionEvent (org.eclipse.swt.events.SelectionEvent)1 GridData (org.eclipse.swt.layout.GridData)1 IMetadataTable (org.talend.core.model.metadata.IMetadataTable)1 MetadataColumn (org.talend.core.model.metadata.builder.connection.MetadataColumn)1