Skip to content

Commit 0ee0225

Browse files
committed
Refactoring
1 parent e3ae776 commit 0ee0225

File tree

4 files changed

+32
-68
lines changed

4 files changed

+32
-68
lines changed

database/opencypher/src/main/java/com/neueda/jetbrains/plugin/graphdb/database/opencypher/gremlin/OpenCypherGremlinDatabase.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import org.apache.tinkerpop.gremlin.driver.Client;
1414
import org.apache.tinkerpop.gremlin.driver.Cluster;
1515
import org.apache.tinkerpop.gremlin.driver.Result;
16-
import org.neo4j.driver.v1.exceptions.ClientException;
1716
import org.opencypher.gremlin.client.CypherGremlinClient;
1817

1918
import java.net.URI;
@@ -24,8 +23,10 @@
2423
import java.util.concurrent.ExecutionException;
2524
import java.util.stream.Collectors;
2625

27-
import static java.util.Collections.*;
28-
import static java.util.stream.Collectors.*;
26+
import static java.util.Collections.emptyList;
27+
import static java.util.Collections.singletonList;
28+
import static java.util.Collections.singletonMap;
29+
import static java.util.stream.Collectors.toList;
2930

3031
/**
3132
* Communicates with TinkerPop database by translating Cypher to Gremlin

ui/jetbrains/src/main/java/com/neueda/jetbrains/plugin/graphdb/jetbrains/ui/console/log/LogPanel.java

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
import com.intellij.execution.filters.TextConsoleBuilderFactory;
44
import com.intellij.execution.ui.ConsoleView;
55
import com.intellij.execution.ui.ConsoleViewContentType;
6+
import com.intellij.icons.AllIcons;
67
import com.intellij.openapi.Disposable;
78
import com.intellij.openapi.project.Project;
9+
import com.intellij.openapi.ui.popup.JBPopupFactory;
810
import com.intellij.openapi.util.Disposer;
911
import com.intellij.util.messages.MessageBus;
1012
import com.neueda.jetbrains.plugin.graphdb.database.api.query.GraphQueryResult;
@@ -16,15 +18,18 @@
1618
import com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.event.QueryParametersRetrievalErrorEvent;
1719
import com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.datasource.metadata.MetadataRetrieveEvent;
1820

21+
import javax.swing.*;
1922
import java.awt.*;
2023
import java.util.HashMap;
2124
import java.util.Map;
2225

2326
import static com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.event.QueryParametersRetrievalErrorEvent.PARAMS_ERROR_COMMON_MSG;
24-
import static com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.log.ShowExceptionDetailsFilter.SHOW_DETAILS;
27+
import static com.neueda.jetbrains.plugin.graphdb.jetbrains.util.ExceptionWrapper.getCause;
2528
import static com.neueda.jetbrains.plugin.graphdb.jetbrains.util.ExceptionWrapper.wrapExceptionInMeaningMessage;
2629

2730
public class LogPanel implements Disposable {
31+
private static final String SHOW_DETAILS = "Show details";
32+
2833
private ConsoleView log;
2934
private Map<String, String> exceptions = new HashMap<>();
3035
private Map<String, String> causes = new HashMap<>();
@@ -36,7 +41,6 @@ public void initialize(GraphConsoleView graphConsoleView, Project project) {
3641
.createBuilder(project)
3742
.getConsole();
3843
log.addMessageFilter(new GoToTabFilter(log));
39-
log.addMessageFilter(new ShowExceptionDetailsFilter(log, exceptions));
4044

4145
Disposer.register(graphConsoleView, log);
4246
graphConsoleView.getLogTab().add(log.getComponent(), BorderLayout.CENTER);
@@ -149,11 +153,13 @@ public void error(String message) {
149153
private String printException(Exception exception) {
150154
String errorMessage;
151155
if (exception.getMessage() != null) {
152-
errorMessage = wrapExceptionInMeaningMessage(exception) + " " + SHOW_DETAILS;
156+
errorMessage = wrapExceptionInMeaningMessage(exception);
153157
} else {
154-
errorMessage = exception.toString() + " " + SHOW_DETAILS;
158+
errorMessage = exception.toString();
155159
}
156160
error(errorMessage);
161+
String details = exception.getMessage() + '\n' + getCause(exception);
162+
log.printHyperlink(SHOW_DETAILS, p -> showPopup("Error", details));
157163
newLine();
158164
return errorMessage;
159165
}
@@ -162,6 +168,18 @@ private void newLine() {
162168
log.print("\n", ConsoleViewContentType.NORMAL_OUTPUT);
163169
}
164170

171+
private void showPopup(String title, String text) {
172+
JBPopupFactory.getInstance()
173+
.createComponentPopupBuilder(
174+
new JLabel(text,
175+
AllIcons.General.Error,
176+
JLabel.LEFT),
177+
log.getComponent())
178+
.setTitle(title)
179+
.createPopup()
180+
.showInFocusCenter();
181+
}
182+
165183
@Override
166184
public void dispose() {
167185
log.dispose();

ui/jetbrains/src/main/java/com/neueda/jetbrains/plugin/graphdb/jetbrains/ui/console/log/ShowExceptionDetailsFilter.java

Lines changed: 0 additions & 61 deletions
This file was deleted.

ui/jetbrains/src/main/java/com/neueda/jetbrains/plugin/graphdb/jetbrains/util/ExceptionWrapper.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.neueda.jetbrains.plugin.graphdb.jetbrains.util;
22

3+
import org.apache.commons.lang.WordUtils;
4+
35
public class ExceptionWrapper {
46
private final static String NON_THIN_CHARS = "[^iIl1\\.,']";
57
private final static int SHORT_STRING_LENGTH = 140;
@@ -26,6 +28,10 @@ public static String truncateString(String text, int targetLength) {
2628
return text.substring(0, end) + "...";
2729
}
2830

31+
public static String wrapLongLine(String longLine) {
32+
return WordUtils.wrap(longLine, 100);
33+
}
34+
2935
public static String getCause(Exception exception) {
3036
StringBuilder exceptionCauses = new StringBuilder();
3137
Throwable cause = exception.getCause();

0 commit comments

Comments
 (0)