Package com.google.refine.model

Examples of com.google.refine.model.Column


    @Override
    public void computeChoices(Project project, FilteredRecords filteredRecords) {
        if (_eval != null && _errorMessage == null) {
            RowEvaluable rowEvaluable = getRowEvaluable(project);
           
            Column column = project.columnModel.getColumnByCellIndex(_cellIndex);
            String key = "time-bin:record-based:" + _expression;
            TimeBinIndex index = (TimeBinIndex) column.getPrecompute(key);
            if (index == null) {
                index = new TimeBinRecordIndex(project, rowEvaluable);
                column.setPrecompute(key, index);
            }
           
            retrieveDataFromBaseBinIndex(index);
           
            ExpressionTimeValueBinner binner = new ExpressionTimeValueBinner(rowEvaluable, index);
View Full Code Here


       
        protected void populateRowsWithMatches(List<Integer> rowIndices) throws Exception {
            Engine engine = new Engine(_project);
            engine.initializeFromJSON(_engineConfig);
           
            Column column = _project.columnModel.getColumnByName(_baseColumnName);
            if (column == null) {
                throw new Exception("No column named " + _baseColumnName);
            }
           
            _cellIndex = column.getCellIndex();
           
            FilteredRows filteredRows = engine.getAllFilteredRows();
            filteredRows.accept(_project, new RowVisitor() {
                List<Integer> _rowIndices;
               
View Full Code Here

           
            for (int i = 0; i < _columnNames.size(); i++) {
                String name = _columnNames.get(i);
                int cellIndex = _firstNewCellIndex + i;
               
                Column column = new Column(cellIndex, name);
                column.setReconConfig(new DataExtensionReconConfig(_columnTypes.get(i)));
                column.setReconStats(ReconStats.create(project, cellIndex));
               
                try {
                    project.columnModel.addColumn(_columnInsertIndex + i, column, true);

                    // the column might have been renamed to avoid collision
                    _columnNames.set(i, column.getName());
                } catch (ModelException e) {
                    // won't get here since we set the avoid collision flag
                }
            }
           
View Full Code Here

            Object choiceValue = args[0]; // choice value to look up
            String facetExpression = (String) args[1];
            String columnName = (String) args[2];

            Project project = (Project) bindings.get("project");
            Column column = project.columnModel.getColumnByName(columnName);
            if (column == null) {
                return new EvalError("No such column named " + columnName);
            }

            String key = "nominal-bin:" + facetExpression;
            ExpressionNominalValueGrouper grouper = (ExpressionNominalValueGrouper) column.getPrecompute(key);
            if (grouper == null) {
                try {
                    Evaluable eval = MetaParser.parse(facetExpression);
                    Engine engine = new Engine(project);

                    grouper = new ExpressionNominalValueGrouper(eval, columnName, column.getCellIndex());
                    engine.getAllRows().accept(project, grouper);

                    column.setPrecompute(key, grouper);
                } catch (ParsingException e) {
                    return new EvalError("Error parsing facet expression " + facetExpression);
                }
            }
View Full Code Here

            public boolean visit(Project project, int rowIndex, Row row) {
                List<CellData> cells = new ArrayList<TabularSerializer.CellData>(columnNames.size());
                int nonBlankCount = 0;
               
                for (String columnName : columnNames) {
                    Column column = project.columnModel.getColumnByName(columnName);
                    CellFormatter formatter = columnNameToFormatter.get(columnName);
                    CellData cellData = formatter.format(
                        project,
                        column,
                        row.getCell(column.getCellIndex()));
                   
                    cells.add(cellData);
                    if (cellData != null) {
                        nonBlankCount++;
                    }
View Full Code Here

    @Override
    protected HistoryEntry createHistoryEntry(Project project, long historyEntryID) throws Exception {
        Engine engine = createEngine(project);
       
        Column column = project.columnModel.getColumnByName(_columnName);
        if (column == null) {
            throw new Exception("No column named " + _columnName);
        }
       
        List<CellChange> cellChanges = new ArrayList<CellChange>(project.rows.size());
View Full Code Here

        Project toProject = ProjectManager.singleton.getProject(join.toProjectID);
        if (fromProject == null || toProject == null) {
            return;
        }
       
        Column fromColumn = fromProject.columnModel.getColumnByName(join.fromProjectColumnName);
        Column toColumn = toProject.columnModel.getColumnByName(join.toProjectColumnName);
        if (fromColumn == null || toColumn == null) {
            return;
        }
       
        for (Row fromRow : fromProject.rows) {
            Object value = fromRow.getCellValue(fromColumn.getCellIndex());
            if (ExpressionUtils.isNonBlankData(value) && !join.valueToRowIndices.containsKey(value)) {
                join.valueToRowIndices.put(value, new ArrayList<Integer>());
            }
        }
       
        int count = toProject.rows.size();
        for (int r = 0; r < count; r++) {
            Row toRow = toProject.rows.get(r);
           
            Object value = toRow.getCellValue(toColumn.getCellIndex());
            if (ExpressionUtils.isNonBlankData(value) && join.valueToRowIndices.containsKey(value)) {
                join.valueToRowIndices.get(value).add(r);
            }
        }
    }
View Full Code Here

    public void initializeFromJSON(Project project, JSONObject obj)
            throws JSONException {
        if (obj.has("column") && !obj.isNull("column")) {
            columnName = obj.getString("column");

            Column column = project.columnModel.getColumnByName(columnName);
            cellIndex = column != null ? column.getCellIndex() : -1;
        }

        if (obj.has("blankPosition") && !obj.isNull("blankPosition")) {
            blankPosition = obj.getInt("blankPosition");
        }
View Full Code Here

            " cells in column " + column.getName();
    }

    @Override
    protected RowVisitor createRowVisitor(Project project, List<CellChange> cellChanges, long historyEntryID) throws Exception {
        Column column = project.columnModel.getColumnByName(_columnName);
       
        return new RowVisitor() {
            int cellIndex;
            List<CellChange> cellChanges;
            Map<Long, Recon> dupReconMap = new HashMap<Long, Recon>();
            long historyEntryID;
           
            public RowVisitor init(int cellIndex, List<CellChange> cellChanges, long historyEntryID) {
                this.cellIndex = cellIndex;
                this.cellChanges = cellChanges;
                this.historyEntryID = historyEntryID;
                return this;
            }
           
            @Override
            public void start(Project project) {
                // nothing to do
            }

            @Override
            public void end(Project project) {
                // nothing to do
            }

            @Override
            public boolean visit(Project project, int rowIndex, Row row) {
                Cell cell = row.getCell(cellIndex);
                if (cell != null) {
                    long reconID = cell.recon != null ? cell.recon.id : 0;
                   
                    Recon newRecon;
                    if (dupReconMap.containsKey(reconID)) {
                        newRecon = dupReconMap.get(reconID);
                        newRecon.judgmentBatchSize++;
                    } else {
                        newRecon = cell.recon != null ?
                            cell.recon.dup(historyEntryID) :
                            new Recon(
                                historyEntryID,
                                identifierSpace,
                                schemaSpace);
                           
                        newRecon.match = match;
                        newRecon.matchRank = -1;
                        newRecon.judgment = Judgment.Matched;
                        newRecon.judgmentAction = "mass";
                        newRecon.judgmentBatchSize = 1;
                       
                        dupReconMap.put(reconID, newRecon);
                    }
                   
                    Cell newCell = new Cell(
                        cell.value,
                        newRecon
                    );
                   
                    CellChange cellChange = new CellChange(rowIndex, cellIndex, cell, newCell);
                    cellChanges.add(cellChange);
                }
                return false;
            }
        }.init(column.getCellIndex(), cellChanges, historyEntryID);
    }
View Full Code Here

        return "Join multi-valued cells in column " + _columnName;
    }

    @Override
    protected HistoryEntry createHistoryEntry(Project project, long historyEntryID) throws Exception {
        Column column = project.columnModel.getColumnByName(_columnName);
        if (column == null) {
            throw new Exception("No column named " + _columnName);
        }
        int cellIndex = column.getCellIndex();
       
        Column keyColumn = project.columnModel.getColumnByName(_keyColumnName);
        if (keyColumn == null) {
            throw new Exception("No key column named " + _keyColumnName);
        }
        int keyCellIndex = keyColumn.getCellIndex();
       
        List<Row> newRows = new ArrayList<Row>();
       
        int oldRowCount = project.rows.size();
        for (int r = 0; r < oldRowCount; r++) {
View Full Code Here

TOP

Related Classes of com.google.refine.model.Column

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.