Examples of QSequenceLineResult


Examples of de.regnis.q.sequence.line.QSequenceLineResult

        RandomAccessFile right = null;
        try {
            left = new RandomAccessFile(previousFile, "r");
            right = new RandomAccessFile(currentFile, "r");

            final QSequenceLineResult result = QSequenceLineMedia.createBlocks(new QSequenceLineRAFileData(left), new QSequenceLineRAFileData(right), createSimplifier());
            try {
                List blocksList = result.getBlocks();
                for(int i = 0; i < blocksList.size(); i++) {
                    QSequenceDifferenceBlock block = (QSequenceDifferenceBlock) blocksList.get(i);
                    if (block.getLeftSize() > 0) {
                        deleteBlameChunk(block.getRightFrom(), block.getLeftSize(), chain);
                    }
                    if (block.getRightSize() > 0) {
                        insertBlameChunk(myCurrentRevision, myCurrentAuthor,
                                         myCurrentDate, myCurrentPath,
                                         block.getRightFrom(), block.getRightSize(), chain);
                    }
                }
            } finally {
                result.close();
            }
        } catch (Throwable e) {
            SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.UNKNOWN, "Exception while generating annotation: {0}", e.getMessage());
            SVNErrorManager.error(err, e, SVNLogType.DEFAULT);
        } finally {
View Full Code Here

Examples of de.regnis.q.sequence.line.QSequenceLineResult

    //        dump("base", baseData);
    //        dump("latest", latestData);
    //        dump("local", localData);

    final QSequenceLineResult localResult;
    final QSequenceLineResult latestResult;
    final QSequenceLineTeeSimplifier mySimplifer = createSimplifier(options);
    try {
      localResult = QSequenceLineMedia.createBlocks(baseData, localData, mySimplifer);
      latestResult = QSequenceLineMedia.createBlocks(baseData, latestData, mySimplifer);
    }
    catch (QSequenceException ex) {
      throw new IOException(ex.getMessage());
    }

    try {
      final QSequenceLineCache baseLines = localResult.getLeftCache();
      final QSequenceLineCache localLines = localResult.getRightCache();
      final QSequenceLineCache latestLines = latestResult.getRightCache();
      final FSMergerBySequenceList local = new FSMergerBySequenceList(localResult.getBlocks());
      final FSMergerBySequenceList latest = new FSMergerBySequenceList(latestResult.getBlocks());
      final List transformedLocalLines = transformLocalLines(localResult.getBlocks(), localLines);

      int baseLineIndex = -1;
      boolean conflict = false;
      boolean merged = false;

      while (local.hasCurrent() || latest.hasCurrent()) {
        if (local.hasCurrent() && latest.hasCurrent() && isEqualChange(local.current(), latest.current(), localLines, latestLines)) {
          baseLineIndex = appendLines(result, local.current(), localLines, baseLineIndex, transformedLocalLines);
          local.forward();
          latest.forward();
          continue;
        }

        if (local.hasCurrent() && latest.hasCurrent()) {
          final QSequenceDifferenceBlock localStartBlock = local.current();
          final QSequenceDifferenceBlock latestStartBlock = latest.current();
          if (checkConflict(local, latest, localLines, latestLines, baseLines.getLineCount())) {
            baseLineIndex = createConflict(result, localStartBlock, local.current(), latestStartBlock, latest.current(), localLines, latestLines, baseLineIndex, transformedLocalLines);
            local.forward();
            latest.forward();
            conflict = true;
            continue;
          }
        }

        if (local.hasCurrent() && isBefore(local.current(), latest.hasCurrent() ? latest.current() : null)) {
          baseLineIndex = appendLines(result, local.current(), localLines, baseLineIndex, transformedLocalLines);
          local.forward();
          merged = true;
          continue;
        }

        if (latest.hasCurrent()) {
          baseLineIndex = appendLines(result, latest.current(), latestLines, baseLineIndex, transformedLocalLines);
          latest.forward();
          merged = true;
        }
      }

      appendTransformedLocalLines(baseLineIndex, baseLines.getLineCount(), transformedLocalLines, result);

      if (conflict) {
        return CONFLICTED;
      }
      else if (merged) {
        return MERGED;
      }
      else {
        return NOT_MODIFIED;
      }
    }
    finally {
      latestResult.close();
      localResult.close();
    }
  }
View Full Code Here

Examples of de.regnis.q.sequence.line.QSequenceLineResult

                   QSequenceLineRAData localData, QSequenceLineRAData latestData,
                   SVNDiffOptions options,
                   OutputStream result,
                   SVNDiffConflictChoiceStyle style) throws IOException {

    final QSequenceLineResult localResult;
    final QSequenceLineResult latestResult;
    final QSequenceLineTeeSimplifier mySimplifer = createSimplifier(options);
    try {
      localResult = QSequenceLineMedia.createBlocks(baseData, localData, mySimplifer);
      latestResult = QSequenceLineMedia.createBlocks(baseData, latestData, mySimplifer);
    }
    catch (QSequenceException ex) {
      throw new IOException(ex.getMessage());
    }

    try {
      final QSequenceLineCache baseLines = localResult.getLeftCache();
      final QSequenceLineCache localLines = localResult.getRightCache();
      final QSequenceLineCache latestLines = latestResult.getRightCache();
      final FSMergerBySequenceList local = new FSMergerBySequenceList(localResult.getBlocks());
      final FSMergerBySequenceList latest = new FSMergerBySequenceList(latestResult.getBlocks());
      final List transformedLocalLines = transformLocalLines(localResult.getBlocks(), localLines);

      int baseLineIndex = -1;
      boolean conflict = false;
      boolean merged = false;

      while (local.hasCurrent() || latest.hasCurrent()) {
        if (local.hasCurrent() && latest.hasCurrent() && isEqualChange(local.current(), latest.current(), localLines, latestLines)) {
          baseLineIndex = appendLines(result, local.current(), localLines, baseLineIndex, transformedLocalLines);
          local.forward();
          latest.forward();
          continue;
        }

        if (local.hasCurrent() && latest.hasCurrent()) {
          final QSequenceDifferenceBlock localStartBlock = local.current();
          final QSequenceDifferenceBlock latestStartBlock = latest.current();
          if (checkConflict(local, latest, localLines, latestLines, baseLines.getLineCount())) {
            if (style == SVNDiffConflictChoiceStyle.CHOOSE_LATEST) {
                        baseLineIndex = appendLines(result, latest.current(), latestLines, baseLineIndex, transformedLocalLines);
                            local.forward();
                        latest.forward();
                        merged = true;
            } else if (style == SVNDiffConflictChoiceStyle.CHOOSE_MODIFIED) {
                        baseLineIndex = appendLines(result, local.current(), localLines, baseLineIndex, transformedLocalLines);
                        local.forward();
                        latest.forward();
                        merged = true;
            } else {
                          //TODO: this is actually SVNDiffConflictChoiceStyle.CHOOSE_MODIFIED_LATEST style
                baseLineIndex = createConflict(result, localStartBlock, local.current(), latestStartBlock, latest.current(), localLines, latestLines, baseLineIndex, transformedLocalLines);
                          local.forward();
                          latest.forward();
                          conflict = true;
            }
            continue;
          }
        }

        if (local.hasCurrent() && isBefore(local.current(), latest.hasCurrent() ? latest.current() : null)) {
          baseLineIndex = appendLines(result, local.current(), localLines, baseLineIndex, transformedLocalLines);
          local.forward();
          merged = true;
          continue;
        }

        if (latest.hasCurrent()) {
          baseLineIndex = appendLines(result, latest.current(), latestLines, baseLineIndex, transformedLocalLines);
          latest.forward();
          merged = true;
        }
      }

      appendTransformedLocalLines(baseLineIndex, baseLines.getLineCount(), transformedLocalLines, result);

      if (conflict) {
        return CONFLICTED;
      }
      else if (merged) {
        return MERGED;
      }
      else {
        return NOT_MODIFIED;
      }
    }
    finally {
      latestResult.close();
      localResult.close();
    }
  }
View Full Code Here

Examples of de.regnis.q.sequence.line.QSequenceLineResult

        RandomAccessFile right = null;
        try {
            left = new RandomAccessFile(previousFile, "r");
            right = new RandomAccessFile(currentFile, "r");

            final QSequenceLineResult result = QSequenceLineMedia.createBlocks(new QSequenceLineRAFileData(left), new QSequenceLineRAFileData(right), createSimplifier());
            try {
                List blocksList = result.getBlocks();
                for(int i = 0; i < blocksList.size(); i++) {
                    QSequenceDifferenceBlock block = (QSequenceDifferenceBlock) blocksList.get(i);
                    if (block.getLeftSize() > 0) {
                        deleteBlameChunk(block.getRightFrom(), block.getLeftSize(), chain);
                    }
                    if (block.getRightSize() > 0) {
                        insertBlameChunk(myCurrentRevision, myCurrentAuthor,
                                         myCurrentDate, myCurrentPath,
                                         block.getRightFrom(), block.getRightSize(), chain);
                    }
                }
            } finally {
                result.close();
            }
        } catch (Throwable e) {
            SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.UNKNOWN, "Exception while generating annotation: {0}", e.getMessage());
            SVNErrorManager.error(err, e, SVNLogType.DEFAULT);
        } finally {
View Full Code Here

Examples of de.regnis.q.sequence.line.QSequenceLineResult

            ArrayList newLines = new ArrayList();
            int oldStart = 0;
            int newStart = 0;

            final QSequenceLineResult result = QSequenceLineMedia.createBlocks(new QSequenceLineRAFileData(left), new QSequenceLineRAFileData(right), createSimplifier());
            try {
                List blocksList = result.getBlocks();
                for(int i = 0; i < blocksList.size(); i++) {
                    QSequenceDifferenceBlock block = (QSequenceDifferenceBlock) blocksList.get(i);
                    copyOldLinesToNewLines(oldStart, newStart, block.getLeftFrom() - oldStart, myLines, newLines, result.getRightCache());
                    // copy all from right.
                    for (int j = block.getRightFrom(); j <= block.getRightTo(); j++) {
                        LineInfo line = new LineInfo();
                        line.revision = myCurrentDate != null ? myCurrentRevision : -1;
                        line.author = myCurrentAuthor;
                        line.line = result.getRightCache().getLine(j).getContentBytes();
                        line.date = myCurrentDate;
                        newLines.add(line);
                    }
                  oldStart = block.getLeftTo() + 1;
                  newStart = block.getRightTo() + 1;
                }
                copyOldLinesToNewLines(oldStart, newStart, myLines.size() - oldStart, myLines, newLines, result.getRightCache());
                myLines = newLines;
            }
            finally {
                result.close();
            }
        } catch (Throwable e) {
            SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.UNKNOWN, "Exception while generating annotation: {0}", e.getMessage());
            SVNErrorManager.error(err, e);
        } finally {
View Full Code Here

Examples of de.regnis.q.sequence.line.QSequenceLineResult

        RandomAccessFile right = null;
        try {
            left = new RandomAccessFile(previousFile, "r");
            right = new RandomAccessFile(currentFile, "r");

            final QSequenceLineResult result = QSequenceLineMedia.createBlocks(new QSequenceLineRAFileData(left), new QSequenceLineRAFileData(right), createSimplifier());
            try {
                List blocksList = result.getBlocks();
                for(int i = 0; i < blocksList.size(); i++) {
                    QSequenceDifferenceBlock block = (QSequenceDifferenceBlock) blocksList.get(i);
                    if (block.getLeftSize() > 0) {
                        deleteBlameChunk(block.getRightFrom(), block.getLeftSize(), chain);
                    }
                    if (block.getRightSize() > 0) {
                        insertBlameChunk(myCurrentRevision, myCurrentAuthor,
                                         myCurrentDate, myCurrentPath,
                                         block.getRightFrom(), block.getRightSize(), chain);
                    }
                }
            } finally {
                result.close();
            }
        } catch (Throwable e) {
            SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.UNKNOWN, "Exception while generating annotation: {0}", e.getMessage());
            SVNErrorManager.error(err, e, SVNLogType.DEFAULT);
        } finally {
View Full Code Here

Examples of de.regnis.q.sequence.line.QSequenceLineResult

        RandomAccessFile right = null;
        try {
            left = new RandomAccessFile(previousFile, "r");
            right = new RandomAccessFile(currentFile, "r");

            final QSequenceLineResult result = QSequenceLineMedia.createBlocks(new QSequenceLineRAFileData(left), new QSequenceLineRAFileData(right), createSimplifier());
            try {
                List blocksList = result.getBlocks();
                for(int i = 0; i < blocksList.size(); i++) {
                    QSequenceDifferenceBlock block = (QSequenceDifferenceBlock) blocksList.get(i);
                    if (block.getLeftSize() > 0) {
                        deleteBlameChunk(block.getRightFrom(), block.getLeftSize(), chain);
                    }
                    if (block.getRightSize() > 0) {
                        insertBlameChunk(myCurrentRevision, myCurrentAuthor,
                                         myCurrentDate, myCurrentPath,
                                         block.getRightFrom(), block.getRightSize(), chain);
                    }
                }
            } finally {
                result.close();
            }
        } catch (Throwable e) {
            SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.UNKNOWN, "Exception while generating annotation: {0}", e.getMessage());
            SVNErrorManager.error(err, e, SVNLogType.DEFAULT);
        } finally {
View Full Code Here

Examples of de.regnis.q.sequence.line.QSequenceLineResult

    //        dump("base", baseData);
    //        dump("latest", latestData);
    //        dump("local", localData);

    final QSequenceLineResult localResult;
    final QSequenceLineResult latestResult;
    final QSequenceLineTeeSimplifier mySimplifer = createSimplifier(options);
    try {
      localResult = QSequenceLineMedia.createBlocks(baseData, localData, mySimplifer);
      latestResult = QSequenceLineMedia.createBlocks(baseData, latestData, mySimplifer);
    }
    catch (QSequenceException ex) {
      throw new IOException(ex.getMessage());
    }

    try {
      final QSequenceLineCache baseLines = localResult.getLeftCache();
      final QSequenceLineCache localLines = localResult.getRightCache();
      final QSequenceLineCache latestLines = latestResult.getRightCache();
      final FSMergerBySequenceList local = new FSMergerBySequenceList(localResult.getBlocks());
      final FSMergerBySequenceList latest = new FSMergerBySequenceList(latestResult.getBlocks());
      final List transformedLocalLines = transformLocalLines(localResult.getBlocks(), localLines);

      int baseLineIndex = -1;
      boolean conflict = false;
      boolean merged = false;

      while (local.hasCurrent() || latest.hasCurrent()) {
        if (local.hasCurrent() && latest.hasCurrent() && isEqualChange(local.current(), latest.current(), localLines, latestLines)) {
          baseLineIndex = appendLines(result, local.current(), localLines, baseLineIndex, transformedLocalLines);
          local.forward();
          latest.forward();
          continue;
        }

        if (local.hasCurrent() && latest.hasCurrent()) {
          final QSequenceDifferenceBlock localStartBlock = local.current();
          final QSequenceDifferenceBlock latestStartBlock = latest.current();
          if (checkConflict(local, latest, localLines, latestLines, baseLines.getLineCount())) {
            baseLineIndex = createConflict(result, localStartBlock, local.current(), latestStartBlock, latest.current(), localLines, latestLines, baseLineIndex, transformedLocalLines);
            local.forward();
            latest.forward();
            conflict = true;
            continue;
          }
        }

        if (local.hasCurrent() && isBefore(local.current(), latest.hasCurrent() ? latest.current() : null)) {
          baseLineIndex = appendLines(result, local.current(), localLines, baseLineIndex, transformedLocalLines);
          local.forward();
          merged = true;
          continue;
        }

        if (latest.hasCurrent()) {
          baseLineIndex = appendLines(result, latest.current(), latestLines, baseLineIndex, transformedLocalLines);
          latest.forward();
          merged = true;
        }
      }

      appendTransformedLocalLines(baseLineIndex, baseLines.getLineCount(), transformedLocalLines, result);

      if (conflict) {
        return CONFLICTED;
      }
      else if (merged) {
        return MERGED;
      }
      else {
        return NOT_MODIFIED;
      }
    }
    finally {
      latestResult.close();
      localResult.close();
    }
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.