Search in sources :

Example 26 with Element

use of com.ramussoft.common.Element in project ramus by Vitaliy-Yakovchuk.

the class SelectRowDialog method showModal.

public List<com.ramussoft.pb.Row> showModal() {
    final Qualifier q1 = qualifier;
    selectedRows.clear();
    createComponents();
    if (q1 != null) {
        Options.saveOptions(this);
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                qualifierView.setSelectedQualifier(q1);
                Options.loadOptions(SelectRowDialog.this);
                addQualifier = false;
            }
        });
    }
    ok = false;
    setVisible(true);
    deleteComponents();
    List<com.ramussoft.pb.Row> result = new ArrayList<com.ramussoft.pb.Row>();
    if (ok) {
        for (List<Row> list : selectedRows.values()) {
            for (Row row : list) {
                com.ramussoft.pb.Row r = dataPlugin.findRowByGlobalId(row.getElementId());
                if (r != null)
                    result.add(r);
            }
        }
        if ((addQualifier) && (qualifier != null)) {
            Engine engine = dataPlugin.getEngine();
            Qualifier q = StandardAttributesPlugin.getQualifiersQualifier(engine);
            List<Element> list = engine.getElements(q.getId());
            for (Element element : list) {
                if (qualifier.equals(StandardAttributesPlugin.getQualifier(engine, element))) {
                    com.ramussoft.pb.Row r = dataPlugin.findRowByGlobalId(element.getId());
                    if (r != null) {
                        result.add(r);
                    } else {
                        System.err.println("WARNING: Can not find element for qualifier (" + qualifier.getName() + ")");
                    }
                }
            }
        }
    }
    Options.saveOptions(this);
    return result;
}
Also used : Element(com.ramussoft.common.Element) ArrayList(java.util.ArrayList) Qualifier(com.ramussoft.common.Qualifier) Row(com.ramussoft.database.common.Row) Engine(com.ramussoft.common.Engine)

Example 27 with Element

use of com.ramussoft.common.Element in project ramus by Vitaliy-Yakovchuk.

the class MainFrame method loadData.

private void loadData() {
    data.clear();
    ArrayList<Attribute> attrs = new ArrayList<Attribute>();
    for (Attribute attribute : ATTRIBUTES) attrs.add(attribute);
    // We can use engine.getAttribute(Element, Attribute) method to cat all
    // attributes, but this method works match faster for a set of elements.
    Hashtable<Element, Object[]> hash = engine.getElements(engine.getSystemQualifier(Application.QUALIFIER1), attrs);
    for (Entry<Element, Object[]> entry : hash.entrySet()) {
        data.add(new Row(entry.getKey(), entry.getValue()));
    }
    Collections.sort(data, new Comparator<Row>() {

        @Override
        public int compare(Row o1, Row o2) {
            if (o1.element.getId() < o2.element.getId())
                return -1;
            if (o2.element.getId() < o1.element.getId())
                return 1;
            return 0;
        }
    });
}
Also used : Attribute(com.ramussoft.common.Attribute) Element(com.ramussoft.common.Element) ArrayList(java.util.ArrayList)

Example 28 with Element

use of com.ramussoft.common.Element in project ramus by Vitaliy-Yakovchuk.

the class OwnersConnection method getConnected.

@Override
public Rows getConnected(final Data data, Row row) {
    Integer type = (Integer) row.getAttribute(IDEF0Plugin.getFunctionTypeAttribute(row.getEngine()));
    if (type != null && type.intValue() == 1003) {
        Long id = (Long) row.getAttribute(IDEF0Plugin.getLinkAttribute(row.getEngine()));
        Rows rows = new Rows(row.getRowSet(), data, false);
        if (id != null) {
            Row row2 = data.findRow(id);
            if (row2 != null) {
                List<AnyToAnyPersistent> list = (List) row2.getAttribute(IDEF0Plugin.getStreamAddedAttribute(row2.getEngine()));
                for (AnyToAnyPersistent anyPersistent : list) {
                    Row row3 = data.findRow(anyPersistent.getOtherElement());
                    row3.setElementStatus(anyPersistent.getElementStatus());
                    rows.add(row3);
                }
            }
        }
        return rows;
    }
    OwnersConnection connection = (OwnersConnection) data.get("OunersConnection");
    if (connection != null)
        return connection.getOuners(data, row);
    final Engine engine = data.getEngine();
    ArrayList<Long> ounerQualifierIds = loadOunerIDs(engine);
    owners = new Hashtable<Row, List<Row>>();
    final Attribute ounerAttribute = IDEF0Plugin.getFunctionOunerAttribute(engine);
    final Hashtable<Row, List<Row>> mech = new Hashtable<Row, List<Row>>();
    RowMapper mapper = new RowMapper() {

        @Override
        public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
            RowSet rowSet = data.getRowSet(rs.getLong(1));
            Row row = (Row) rowSet.findRow(rs.getLong(2));
            if (row == null)
                return null;
            Long o = (Long) row.getAttribute(ounerAttribute);
            if (o != null) {
                Element element = engine.getElement(o);
                if (element != null) {
                    RowSet ounerRowSet = data.getRowSet(element.getQualifierId());
                    Row owner = (Row) ounerRowSet.findRow(o);
                    if (row == null || owner == null)
                        return null;
                    mech.put(row, Arrays.asList(owner));
                }
                return null;
            }
            RowSet ounerRowSet = data.getRowSet(rs.getLong(3));
            Row ouner = (Row) ounerRowSet.findRow(rs.getLong(4));
            if (row == null || ouner == null)
                return null;
            List<Row> l = mech.get(row);
            if (l == null) {
                l = new ArrayList<Row>(2);
                mech.put(row, l);
            }
            if (!l.contains(ouner))
                l.add(ouner);
            return null;
        }
    };
    if (ounerQualifierIds.size() > 0) {
        data.getTemplate().queryWithoutResults("SELECT b.qualifier_id, function, ramus_elements.qualifier_id, ramus_elements.element_id FROM\n" + "ramus_attribute_sector_borders, ramus_attribute_other_elements, ramus_attribute_any_to_any_elements, ramus_elements, ramus_elements b\n" + "WHERE ramus_attribute_any_to_any_elements.element_id=ramus_attribute_other_elements.other_element\n" + "AND ramus_elements.element_id=ramus_attribute_any_to_any_elements.other_element\n" + "AND ramus_attribute_sector_borders.element_id = ramus_attribute_other_elements.element_id\n" + "AND function_type=1 AND ramus_attribute_sector_borders.attribute_id in\n" + "(SELECT attribute_id FROM ramus_attributes WHERE attribute_system=true AND attribute_name='F_SECTOR_BORDER_END')\n" + "AND b.element_id=function\n" + "AND ramus_elements.qualifier_id in " + toIns(ounerQualifierIds), mapper, true);
    }
    try {
        data.getTemplate().queryWithoutResults("SELECT (SELECT qualifier_id FROM ramus_elements WHERE element_id=ouner_id) as function_qualifier_id, " + "ouner_id AS function,  " + "(SELECT qualifier_id FROM ramus_elements WHERE element_id=other_element) as ouner_qualifier_id, " + "other_element as ouner_id FROM ramus_attribute_any_to_any_elements, ramus_attribute_function_ouners " + "WHERE ramus_attribute_any_to_any_elements.element_id IN " + "(SELECT value FROM ramus_attribute_longs WHERE ramus_attribute_longs.element_id=ramus_attribute_function_ouners.element_id)", mapper, true);
    } catch (Exception e) {
        e.printStackTrace();
    }
    data.getTemplate().queryWithoutResults("SELECT ramus_attribute_function_ouners.element_id,\n" + "(SELECT MAX(ramus_elements.qualifier_id) FROM ramus_elements WHERE ramus_elements.element_id=ramus_attribute_function_ouners.element_id),\n" + "ramus_elements.qualifier_id,\n" + " ouner_id FROM ramus_elements, ramus_attribute_function_ouners WHERE ramus_elements.element_id=ouner_id " + "AND ramus_attribute_function_ouners.ouner_id IN (SELECT element_id FROM ramus_attribute_function_types WHERE type<1001)", new RowMapper() {

        @Override
        public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
            RowSet rowSet = data.getRowSet(rs.getLong(2));
            Row row = (Row) rowSet.findRow(rs.getLong(1));
            RowSet ounerRowSet = data.getRowSet(rs.getLong(3));
            Row ouner = (Row) ounerRowSet.findRow(rs.getLong(4));
            if (ouner != null && row != null) {
                List<Row> l = mech.get(row);
                if (l == null) {
                    l = new ArrayList<Row>(2);
                    mech.put(row, l);
                }
                if (!l.contains(ouner))
                    l.add(ouner);
            }
            return null;
        }
    }, true);
    RowSet rowSet = data.getRowSet(row.getQualifier());
    setRecOuners(rowSet.getRoot(), mech, null);
    data.put("OunersConnection", this);
    return getOuners(data, row);
}
Also used : Attribute(com.ramussoft.common.Attribute) SQLException(java.sql.SQLException) Element(com.ramussoft.common.Element) RowSet(com.ramussoft.report.data.RowSet) ArrayList(java.util.ArrayList) AnyToAnyPersistent(com.ramussoft.idef0.attribute.AnyToAnyPersistent) ResultSet(java.sql.ResultSet) ArrayList(java.util.ArrayList) List(java.util.List) Engine(com.ramussoft.common.Engine) Rows(com.ramussoft.report.data.Rows) RowMapper(com.ramussoft.jdbc.RowMapper) Hashtable(java.util.Hashtable) IOException(java.io.IOException) InvalidPropertiesFormatException(java.util.InvalidPropertiesFormatException) SQLException(java.sql.SQLException) DataException(com.ramussoft.report.data.DataException) Row(com.ramussoft.report.data.Row)

Example 29 with Element

use of com.ramussoft.common.Element in project ramus by Vitaliy-Yakovchuk.

the class IDEF0Buffer method getStreamsRowSet.

public static RowSet getStreamsRowSet(final Data data) {
    RowSet rowSet = (RowSet) data.get("Streams");
    if (rowSet != null)
        return rowSet;
    com.ramussoft.database.common.RowSet.RowCreater rowCreater = new com.ramussoft.database.common.RowSet.RowCreater() {

        @Override
        public com.ramussoft.database.common.Row createRow(Element aElement, com.ramussoft.database.common.RowSet rowSet, Attribute[] attributes, Object[] objects) {
            return new Stream(aElement, (RowSet) rowSet, attributes, objects, data);
        }
    };
    Engine engine = data.getEngine();
    rowSet = new RowSet(engine, IDEF0Plugin.getBaseStreamQualifier(engine), data, rowCreater);
    data.put("Streams", rowSet);
    return rowSet;
}
Also used : Element(com.ramussoft.common.Element) RowSet(com.ramussoft.report.data.RowSet) Engine(com.ramussoft.common.Engine)

Example 30 with Element

use of com.ramussoft.common.Element in project ramus by Vitaliy-Yakovchuk.

the class ChartSourceSelectPanel method changeSourceForTable.

private void changeSourceForTable() {
    Engine engine = framework.getEngine();
    QualifierSource source = chartSource.getQualifierSources().get(0);
    FilterSource source2 = source.getFilterSources().get(0);
    Element element = engine.getElement(Long.parseLong(source2.getValue()));
    source.setQualifier(engine.getQualifier(element.getQualifierId()));
    source.getElementSources().clear();
    ElementSource source3 = chartSource.createElementSource();
    source3.setElement(element);
    source.getElementSources().add(source3);
    source.getFilterSources().clear();
}
Also used : QualifierSource(com.ramussoft.chart.QualifierSource) FilterSource(com.ramussoft.chart.FilterSource) Element(com.ramussoft.common.Element) ElementSource(com.ramussoft.chart.ElementSource) Engine(com.ramussoft.common.Engine)

Aggregations

Element (com.ramussoft.common.Element)142 Attribute (com.ramussoft.common.Attribute)70 Qualifier (com.ramussoft.common.Qualifier)59 ArrayList (java.util.ArrayList)48 Engine (com.ramussoft.common.Engine)27 SQLException (java.sql.SQLException)14 List (java.util.List)14 Hashtable (java.util.Hashtable)13 Row (com.ramussoft.database.common.Row)12 ElementEvent (com.ramussoft.common.event.ElementEvent)11 HierarchicalPersistent (com.ramussoft.core.attribute.simple.HierarchicalPersistent)11 Eval (com.ramussoft.eval.Eval)9 AttributeEvent (com.ramussoft.common.event.AttributeEvent)8 ElementListPersistent (com.ramussoft.core.attribute.simple.ElementListPersistent)8 Row (com.ramussoft.pb.Row)8 Journaled (com.ramussoft.common.journal.Journaled)7 FunctionPersistent (com.ramussoft.eval.FunctionPersistent)7 Util (com.ramussoft.eval.Util)7 EObject (com.ramussoft.eval.EObject)6 IOException (java.io.IOException)6