aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@gmail.com>2013-04-24 14:54:18 +0200
committerJulien Lancelot <julien.lancelot@gmail.com>2013-04-24 14:54:18 +0200
commit23cbff2d62cbe9326176209587daba1f0229a769 (patch)
tree1f04ff8d2cef88ae7b200dfd99423fdb1dbd6610
parent27679449745382c2f1ec39aa84975d7eb19ae9f9 (diff)
parentaa0348825164155d1426eed4f88f52e5a8697cf0 (diff)
downloadsonarqube-23cbff2d62cbe9326176209587daba1f0229a769.tar.gz
sonarqube-23cbff2d62cbe9326176209587daba1f0229a769.zip
Merge remote-tracking branch 'origin/master'
-rw-r--r--sonar-core/src/main/java/org/sonar/core/source/CharactersReader.java20
-rw-r--r--sonar-core/src/main/java/org/sonar/core/source/DecorationDataHolder.java37
-rw-r--r--sonar-core/src/main/java/org/sonar/core/source/HtmlSourceDecorator.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/source/HtmlTextDecorator.java41
-rw-r--r--sonar-core/src/main/java/org/sonar/core/source/TagEntry.java28
5 files changed, 66 insertions, 64 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/source/CharactersReader.java b/sonar-core/src/main/java/org/sonar/core/source/CharactersReader.java
index 6f6935c1998..e100bb4c7c5 100644
--- a/sonar-core/src/main/java/org/sonar/core/source/CharactersReader.java
+++ b/sonar-core/src/main/java/org/sonar/core/source/CharactersReader.java
@@ -17,7 +17,6 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-
package org.sonar.core.source;
import java.io.BufferedReader;
@@ -28,10 +27,9 @@ import java.util.Deque;
/**
* @since 3.6
*/
-public class CharactersReader {
+class CharactersReader {
- public static final int END_OF_STREAM = -1;
- public static final char[] SPECIAL_CHARS = {'<', '>'};
+ static final int END_OF_STREAM = -1;
private final BufferedReader stringBuffer;
private final Deque<String> openTags;
@@ -45,34 +43,34 @@ public class CharactersReader {
this.openTags = new ArrayDeque<String>();
}
- public boolean readNextChar() throws IOException {
+ boolean readNextChar() throws IOException {
previousValue = currentValue;
currentValue = stringBuffer.read();
currentIndex++;
return currentValue != END_OF_STREAM;
}
- public int getCurrentValue() {
+ int getCurrentValue() {
return currentValue;
}
- public int getPreviousValue() {
+ int getPreviousValue() {
return previousValue;
}
- public int getCurrentIndex() {
+ int getCurrentIndex() {
return currentIndex;
}
- public void registerOpenTag(String textType) {
+ void registerOpenTag(String textType) {
openTags.push(textType);
}
- public void removeLastOpenTag() {
+ void removeLastOpenTag() {
openTags.remove();
}
- public Deque<String> getOpenTags() {
+ Deque<String> getOpenTags() {
return openTags;
}
}
diff --git a/sonar-core/src/main/java/org/sonar/core/source/DecorationDataHolder.java b/sonar-core/src/main/java/org/sonar/core/source/DecorationDataHolder.java
index 45b02b9ceb8..27e5000de1e 100644
--- a/sonar-core/src/main/java/org/sonar/core/source/DecorationDataHolder.java
+++ b/sonar-core/src/main/java/org/sonar/core/source/DecorationDataHolder.java
@@ -17,14 +17,15 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-
package org.sonar.core.source;
import com.google.common.collect.Lists;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
-public class DecorationDataHolder {
+class DecorationDataHolder {
private static final String ENTITY_SEPARATOR = ";";
private static final String FIELD_SEPARATOR = ",";
@@ -36,15 +37,15 @@ public class DecorationDataHolder {
private List<Integer> closingTagsOffsets;
private int closingTagsIndex;
- public DecorationDataHolder() {
+ DecorationDataHolder() {
openingTagsEntries = Lists.newArrayList();
closingTagsOffsets = Lists.newArrayList();
}
- public void loadSymbolReferences(String symbolsReferences) {
+ void loadSymbolReferences(String symbolsReferences) {
String[] symbols = symbolsReferences.split(ENTITY_SEPARATOR);
- for (int i = 0; i < symbols.length; i++) {
- String[] symbolFields = symbols[i].split(FIELD_SEPARATOR);
+ for (String symbol : symbols) {
+ String[] symbolFields = symbol.split(FIELD_SEPARATOR);
int declarationStartOffset = Integer.parseInt(symbolFields[0]);
int declarationEndOffset = Integer.parseInt(symbolFields[1]);
int symbolLength = declarationEndOffset - declarationStartOffset;
@@ -53,36 +54,36 @@ public class DecorationDataHolder {
}
}
- public void loadSyntaxHighlightingData(String syntaxHighlightingRules) {
+ void loadSyntaxHighlightingData(String syntaxHighlightingRules) {
String[] rules = syntaxHighlightingRules.split(ENTITY_SEPARATOR);
- for (int i = 0; i < rules.length; i++) {
- String[] ruleFields = rules[i].split(FIELD_SEPARATOR);
+ for (String rule : rules) {
+ String[] ruleFields = rule.split(FIELD_SEPARATOR);
insertAndPreserveOrder(new TagEntry(Integer.parseInt(ruleFields[0]), ruleFields[2]), openingTagsEntries);
insertAndPreserveOrder(Integer.parseInt(ruleFields[1]), closingTagsOffsets);
}
}
- public List<TagEntry> getOpeningTagsEntries() {
+ List<TagEntry> getOpeningTagsEntries() {
return openingTagsEntries;
}
- public TagEntry getCurrentOpeningTagEntry() {
+ TagEntry getCurrentOpeningTagEntry() {
return openingTagsIndex < openingTagsEntries.size() ? openingTagsEntries.get(openingTagsIndex) : null;
}
- public void nextOpeningTagEntry() {
+ void nextOpeningTagEntry() {
openingTagsIndex++;
}
- public List<Integer> getClosingTagsOffsets() {
+ List<Integer> getClosingTagsOffsets() {
return closingTagsOffsets;
}
- public int getCurrentClosingTagOffset() {
+ int getCurrentClosingTagOffset() {
return closingTagsIndex < closingTagsOffsets.size() ? closingTagsOffsets.get(closingTagsIndex) : -1;
}
- public void nextClosingTagOffset() {
+ void nextClosingTagOffset() {
closingTagsIndex++;
}
@@ -98,7 +99,7 @@ public class DecorationDataHolder {
private void insertAndPreserveOrder(TagEntry newEntry, List<TagEntry> orderedEntries) {
int insertionIndex = 0;
Iterator<TagEntry> entriesIterator = orderedEntries.iterator();
- while(entriesIterator.hasNext() && entriesIterator.next().getStartOffset() <= newEntry.getStartOffset()) {
+ while (entriesIterator.hasNext() && entriesIterator.next().getStartOffset() <= newEntry.getStartOffset()) {
insertionIndex++;
}
orderedEntries.add(insertionIndex, newEntry);
@@ -107,7 +108,7 @@ public class DecorationDataHolder {
private void insertAndPreserveOrder(int newOffset, List<Integer> orderedOffsets) {
int insertionIndex = 0;
Iterator<Integer> entriesIterator = orderedOffsets.iterator();
- while(entriesIterator.hasNext() && entriesIterator.next() <= newOffset) {
+ while (entriesIterator.hasNext() && entriesIterator.next() <= newOffset) {
insertionIndex++;
}
orderedOffsets.add(insertionIndex, newOffset);
diff --git a/sonar-core/src/main/java/org/sonar/core/source/HtmlSourceDecorator.java b/sonar-core/src/main/java/org/sonar/core/source/HtmlSourceDecorator.java
index 809b30e9dbc..36923ebec0f 100644
--- a/sonar-core/src/main/java/org/sonar/core/source/HtmlSourceDecorator.java
+++ b/sonar-core/src/main/java/org/sonar/core/source/HtmlSourceDecorator.java
@@ -17,11 +17,11 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-
package org.sonar.core.source;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Strings;
+import org.sonar.api.ServerComponent;
import org.sonar.core.persistence.MyBatis;
import org.sonar.core.source.jdbc.SnapshotDataDao;
import org.sonar.core.source.jdbc.SnapshotDataDto;
@@ -32,7 +32,7 @@ import java.util.Collection;
/**
* @since 3.6
*/
-public class HtmlSourceDecorator {
+public class HtmlSourceDecorator implements ServerComponent {
private final SnapshotSourceDao snapshotSourceDao;
private final SnapshotDataDao snapshotDataDao;
diff --git a/sonar-core/src/main/java/org/sonar/core/source/HtmlTextDecorator.java b/sonar-core/src/main/java/org/sonar/core/source/HtmlTextDecorator.java
index 6b49086ae3f..a6f156658b9 100644
--- a/sonar-core/src/main/java/org/sonar/core/source/HtmlTextDecorator.java
+++ b/sonar-core/src/main/java/org/sonar/core/source/HtmlTextDecorator.java
@@ -17,7 +17,6 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-
package org.sonar.core.source;
import com.google.common.collect.Lists;
@@ -35,18 +34,18 @@ import static org.sonar.core.source.CharactersReader.END_OF_STREAM;
/**
* @since 3.6
*/
-public class HtmlTextDecorator {
+class HtmlTextDecorator {
- public static final char CR_END_OF_LINE = '\r';
- public static final char LF_END_OF_LINE = '\n';
- public static final char HTML_OPENING = '<';
- public static final char HTML_CLOSING = '>';
- public static final char AMPERSAND = '&';
- public static final String ENCODED_HTML_OPENING = "&lt;";
- public static final String ENCODED_HTML_CLOSING = "&gt;";
- public static final String ENCODED_AMPERSAND = "&amp;";
+ static final char CR_END_OF_LINE = '\r';
+ static final char LF_END_OF_LINE = '\n';
+ static final char HTML_OPENING = '<';
+ static final char HTML_CLOSING = '>';
+ static final char AMPERSAND = '&';
+ static final String ENCODED_HTML_OPENING = "&lt;";
+ static final String ENCODED_HTML_CLOSING = "&gt;";
+ static final String ENCODED_AMPERSAND = "&amp;";
- public List<String> decorateTextWithHtml(String text, DecorationDataHolder decorationDataHolder) {
+ List<String> decorateTextWithHtml(String text, DecorationDataHolder decorationDataHolder) {
StringBuilder currentHtmlLine = new StringBuilder();
List<String> decoratedHtmlLines = Lists.newArrayList();
@@ -102,11 +101,11 @@ public class HtmlTextDecorator {
private char[] normalize(char currentChar) {
char[] normalizedChars;
- if(currentChar == HTML_OPENING) {
+ if (currentChar == HTML_OPENING) {
normalizedChars = ENCODED_HTML_OPENING.toCharArray();
- } else if(currentChar == HTML_CLOSING) {
+ } else if (currentChar == HTML_CLOSING) {
normalizedChars = ENCODED_HTML_CLOSING.toCharArray();
- } else if(currentChar == AMPERSAND) {
+ } else if (currentChar == AMPERSAND) {
normalizedChars = ENCODED_AMPERSAND.toCharArray();
} else {
normalizedChars = new char[]{currentChar};
@@ -121,7 +120,7 @@ public class HtmlTextDecorator {
private int getNumberOfTagsToClose(int currentIndex, DecorationDataHolder dataHolder) {
int numberOfTagsToClose = 0;
- while(currentIndex == dataHolder.getCurrentClosingTagOffset()) {
+ while (currentIndex == dataHolder.getCurrentClosingTagOffset()) {
numberOfTagsToClose++;
dataHolder.nextClosingTagOffset();
}
@@ -130,7 +129,7 @@ public class HtmlTextDecorator {
private Collection<String> getTagsToOpen(int currentIndex, DecorationDataHolder dataHolder) {
Collection<String> tagsToOpen = Lists.newArrayList();
- while(dataHolder.getCurrentOpeningTagEntry() != null && currentIndex == dataHolder.getCurrentOpeningTagEntry().getStartOffset()) {
+ while (dataHolder.getCurrentOpeningTagEntry() != null && currentIndex == dataHolder.getCurrentOpeningTagEntry().getStartOffset()) {
tagsToOpen.add(dataHolder.getCurrentOpeningTagEntry().getCssClass());
dataHolder.nextOpeningTagEntry();
}
@@ -139,20 +138,20 @@ public class HtmlTextDecorator {
private boolean shouldClosePendingTags(CharactersReader charactersReader) {
return charactersReader.getCurrentValue() == CR_END_OF_LINE
- || (charactersReader.getCurrentValue() == LF_END_OF_LINE && charactersReader.getPreviousValue() != CR_END_OF_LINE)
- || (charactersReader.getCurrentValue() == END_OF_STREAM && charactersReader.getPreviousValue() != LF_END_OF_LINE);
+ || (charactersReader.getCurrentValue() == LF_END_OF_LINE && charactersReader.getPreviousValue() != CR_END_OF_LINE)
+ || (charactersReader.getCurrentValue() == END_OF_STREAM && charactersReader.getPreviousValue() != LF_END_OF_LINE);
}
private boolean shouldReopenPendingTags(CharactersReader charactersReader) {
return (charactersReader.getPreviousValue() == LF_END_OF_LINE && charactersReader.getCurrentValue() != LF_END_OF_LINE)
- || (charactersReader.getPreviousValue() == CR_END_OF_LINE && charactersReader.getCurrentValue() != CR_END_OF_LINE
- && charactersReader.getCurrentValue() != LF_END_OF_LINE
+ || (charactersReader.getPreviousValue() == CR_END_OF_LINE && charactersReader.getCurrentValue() != CR_END_OF_LINE
+ && charactersReader.getCurrentValue() != LF_END_OF_LINE
);
}
private boolean shouldStartNewLine(CharactersReader charactersReader) {
return charactersReader.getPreviousValue() == LF_END_OF_LINE
- || (charactersReader.getPreviousValue() == CR_END_OF_LINE && charactersReader.getCurrentValue() != LF_END_OF_LINE);
+ || (charactersReader.getPreviousValue() == CR_END_OF_LINE && charactersReader.getCurrentValue() != LF_END_OF_LINE);
}
private void closeCompletedTags(CharactersReader charactersReader, int numberOfTagsToClose,
diff --git a/sonar-core/src/main/java/org/sonar/core/source/TagEntry.java b/sonar-core/src/main/java/org/sonar/core/source/TagEntry.java
index 546e23c7a8a..c8f584384a9 100644
--- a/sonar-core/src/main/java/org/sonar/core/source/TagEntry.java
+++ b/sonar-core/src/main/java/org/sonar/core/source/TagEntry.java
@@ -17,37 +17,41 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-
package org.sonar.core.source;
-public class TagEntry {
+class TagEntry {
private final int startOffset;
private final String cssClass;
- public TagEntry(int startOffset, String cssClass) {
+ TagEntry(int startOffset, String cssClass) {
this.startOffset = startOffset;
this.cssClass = cssClass;
}
- public int getStartOffset() {
+ int getStartOffset() {
return startOffset;
}
- public String getCssClass() {
+ String getCssClass() {
return cssClass;
}
@Override
public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
TagEntry tagEntry = (TagEntry) o;
-
- if (startOffset != tagEntry.startOffset) return false;
- if (cssClass != null ? !cssClass.equals(tagEntry.cssClass) : tagEntry.cssClass != null) return false;
-
+ if (startOffset != tagEntry.startOffset) {
+ return false;
+ }
+ if (cssClass != null ? !cssClass.equals(tagEntry.cssClass) : tagEntry.cssClass != null) {
+ return false;
+ }
return true;
}