Skip to content

Commit c16bccc

Browse files
make URLTools a static helper class
1 parent 6966183 commit c16bccc

3 files changed

Lines changed: 33 additions & 29 deletions

File tree

sqldev/src/main/java/org/utplsql/sqldev/menu/UtplsqlController.java

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767
@SuppressWarnings("all")
6868
public class UtplsqlController implements Controller {
6969
private static final Logger logger = Logger.getLogger(UtplsqlController.class.getName());
70-
private final URLTools urlTools = new URLTools();
7170

7271
public static int UTPLSQL_TEST_CMD_ID = (Ide.findCmdID("utplsql.test")).intValue();
7372
public static int UTPLSQL_COVERAGE_CMD_ID = (Ide.findCmdID("utplsql.coverage")).intValue();
@@ -140,7 +139,7 @@ public boolean update(final IdeAction action, final Context context) {
140139
+ context.getSelection()[i].getClass().getName());
141140
if (action.isEnabled()) {
142141
final Object element = context.getSelection()[i];
143-
final String connectionName = urlTools.getConnectionName(getURL(context));
142+
final String connectionName = URLTools.getConnectionName(getURL(context));
144143
if (Connections.getInstance().isConnectionOpen(connectionName)) {
145144
Connection conn = getConnection(connectionName);
146145
final UtplsqlDao dao = new UtplsqlDao(conn);
@@ -152,15 +151,15 @@ public boolean update(final IdeAction action, final Context context) {
152151
final String schema = ((SchemaFolder) element).getSchemaName();
153152
action.setEnabled(dao.containsUtplsqlTest(schema));
154153
} else if ((element instanceof ObjectFolder)) {
155-
final String schema = urlTools.getSchema(((ObjectFolder) element).getURL());
154+
final String schema = URLTools.getSchema(((ObjectFolder) element).getURL());
156155
action.setEnabled(dao.containsUtplsqlTest(schema));
157156
} else if ((element instanceof PlSqlNode)) {
158157
final String schema = ((PlSqlNode) element).getOwner();
159158
final String objectName = ((PlSqlNode) element).getObjectName();
160159
action.setEnabled(dao.containsUtplsqlTest(schema, objectName));
161160
} else if ((element instanceof ChildObjectElement)) {
162-
final String schema = urlTools.getSchema(((ChildObjectElement) element).getURL());
163-
final String objectName = urlTools.getMemberObject(((ChildObjectElement) element).getURL());
161+
final String schema = URLTools.getSchema(((ChildObjectElement) element).getURL());
162+
final String objectName = URLTools.getMemberObject(((ChildObjectElement) element).getURL());
164163
final String subObjectName = ((ChildObjectElement) element).getShortLabel();
165164
action.setEnabled(dao.containsUtplsqlTest(schema, objectName, subObjectName));
166165
}
@@ -212,7 +211,7 @@ private String getPath(final Object element) {
212211
} else if (element instanceof SchemaFolder) {
213212
path = ((SchemaFolder) element).getSchemaName();
214213
} else if (element instanceof ObjectFolder) {
215-
path = urlTools.getSchema(((ObjectFolder) element).getURL());
214+
path = URLTools.getSchema(((ObjectFolder) element).getURL());
216215
} else if (element instanceof PlSqlNode) {
217216
final StringBuilder sb = new StringBuilder();
218217
sb.append(((PlSqlNode) element).getOwner());
@@ -221,9 +220,9 @@ private String getPath(final Object element) {
221220
path = sb.toString();
222221
} else if (element instanceof ChildObjectElement) {
223222
StringBuilder sb = new StringBuilder();
224-
sb.append(urlTools.getSchema(((ChildObjectElement) element).getURL()));
223+
sb.append(URLTools.getSchema(((ChildObjectElement) element).getURL()));
225224
sb.append(".");
226-
sb.append(urlTools.getMemberObject(((ChildObjectElement) element).getURL()));
225+
sb.append(URLTools.getMemberObject(((ChildObjectElement) element).getURL()));
227226
sb.append(".");
228227
sb.append( ((ChildObjectElement) element).getShortLabel());
229228
path = sb.toString();
@@ -304,7 +303,7 @@ private void populateGenContext(final GenContext genContext, final PreferenceMod
304303
}
305304

306305
private GenContext getGenContext(final Context context) {
307-
final String connectionName = urlTools.getConnectionName(getURL(context));
306+
final String connectionName = URLTools.getConnectionName(getURL(context));
308307
final GenContext genContext = new GenContext();
309308
if (Connections.getInstance().isConnectionOpen(connectionName)) {
310309
genContext.setConn(getConnection(connectionName));
@@ -391,7 +390,7 @@ public void runTest(final Context context) {
391390
} else if (view instanceof DBNavigatorWindow) {
392391
final URL url = getURL(context);
393392
if ((url != null)) {
394-
final String connectionName = urlTools.getConnectionName(url);
393+
final String connectionName = URLTools.getConnectionName(url);
395394
logger.fine("connectionName: " + connectionName);
396395
final Connection conn = getConnection(connectionName);
397396
final RealtimeReporterDao rrDao = new RealtimeReporterDao(conn);
@@ -437,8 +436,8 @@ public List<String> dependencies(final Context context, final String connectionN
437436
ret.addAll(dep);
438437
} else {
439438
if (element instanceof ChildObjectElement) {
440-
final String owner = urlTools.getSchema(((ChildObjectElement) element).getURL());
441-
final String objectName = urlTools.getMemberObject(((ChildObjectElement) element).getURL());
439+
final String owner = URLTools.getSchema(((ChildObjectElement) element).getURL());
440+
final String objectName = URLTools.getMemberObject(((ChildObjectElement) element).getURL());
442441
final List<String> dep = dependencies(owner, objectName, connectionName);
443442
ret.addAll(dep);
444443
}
@@ -488,7 +487,7 @@ public void codeCoverage(final Context context) {
488487
logger.finer("Code coverage from DB navigator");
489488
final URL url = getURL(context);
490489
if (url != null) {
491-
final String connectionName = urlTools.getConnectionName(url);
490+
final String connectionName = URLTools.getConnectionName(url);
492491
logger.fine(() -> "connectionName: " + connectionName);
493492
final ArrayList<String> pathList = dedupPathList(getPathList(context));
494493
logger.fine(() -> "pathlist: " + StringTools.getSimpleCSV(pathList));
@@ -547,7 +546,7 @@ public void generateTest(final Context context) {
547546
if (view instanceof DBNavigatorWindow) {
548547
final URL url = getURL(context);
549548
if (url != null) {
550-
final String connectionName = urlTools.getConnectionName(url);
549+
final String connectionName = URLTools.getConnectionName(url);
551550
GenContext genContext = getGenContext(context);
552551
final TestTemplate testTemplate = new TestTemplate(genContext);
553552
final String code = testTemplate.generate().toString();

sqldev/src/main/java/org/utplsql/sqldev/model/URLTools.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,13 @@
2020
import java.util.regex.Pattern;
2121

2222
public class URLTools {
23-
public String replaceHexChars(final String input) {
23+
24+
// do not instantiate this class
25+
private URLTools() {
26+
super();
27+
}
28+
29+
public static String replaceHexChars(final String input) {
2430
String output = input;
2531
final Pattern p = Pattern.compile("%([0-9A-F]{2})");
2632
final Matcher m = p.matcher(input);
@@ -33,7 +39,7 @@ public String replaceHexChars(final String input) {
3339
return output;
3440
}
3541

36-
public String getConnectionName(final URL url) {
42+
public static String getConnectionName(final URL url) {
3743
final Pattern p = Pattern.compile("(sqldev.nav:)([^/]+)(//)?");
3844
final Matcher m = p.matcher(url.toString());
3945
if (m.find()) {
@@ -43,7 +49,7 @@ public String getConnectionName(final URL url) {
4349
}
4450
}
4551

46-
public String getSchema(final URL url) {
52+
public static String getSchema(final URL url) {
4753
final Pattern p = Pattern.compile("(//)([^/]+)");
4854
final Matcher m = p.matcher(url.toString());
4955
if (m.find()) {
@@ -53,7 +59,7 @@ public String getSchema(final URL url) {
5359
}
5460
}
5561

56-
public String getObjectType(final URL url) {
62+
public static String getObjectType(final URL url) {
5763
final Pattern p = Pattern.compile("(//)([^/]+)(/)([^/]+)");
5864
final Matcher m = p.matcher(url.toString());
5965
if (m.find()) {
@@ -63,7 +69,7 @@ public String getObjectType(final URL url) {
6369
}
6470
}
6571

66-
public String getMemberObject(final URL url) {
72+
public static String getMemberObject(final URL url) {
6773
final Pattern p = Pattern.compile("(/)([^/]+)(#MEMBER)");
6874
final Matcher m = p.matcher(url.toString());
6975
if (m.find()) {

sqldev/src/test/java/org/utplsql/sqldev/test/UrlToolsTest.xtend

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,26 @@ import org.junit.Test
2020
import org.utplsql.sqldev.model.URLTools
2121

2222
class UrlToolsTest {
23-
val extension URLTools urlTools = new URLTools
2423

2524
@Test
2625
def void replacePlusSign() {
27-
Assert.assertEquals("+", "%2B".replaceHexChars)
28-
Assert.assertEquals("++", "%2B%2B".replaceHexChars)
29-
Assert.assertEquals("abc+%xyz", "abc%2B%xyz".replaceHexChars)
26+
Assert.assertEquals("+", URLTools.replaceHexChars("%2B"))
27+
Assert.assertEquals("++", URLTools.replaceHexChars("%2B%2B"))
28+
Assert.assertEquals("abc+%xyz", URLTools.replaceHexChars("abc%2B%xyz"))
3029
}
3130

3231
@Test
3332
def void replaceAtSign() {
34-
Assert.assertEquals("@", "%40".replaceHexChars)
35-
Assert.assertEquals("@@", "%40%40".replaceHexChars)
36-
Assert.assertEquals("abc@%xyz", "abc%40%xyz".replaceHexChars)
33+
Assert.assertEquals("@", URLTools.replaceHexChars("%40"))
34+
Assert.assertEquals("@@", URLTools.replaceHexChars("%40%40"))
35+
Assert.assertEquals("abc@%xyz", URLTools.replaceHexChars("abc%40%xyz"))
3736
}
3837

3938
@Test
4039
def void replaceAtAndPlusSign() {
41-
Assert.assertEquals("@+", "%40%2B".replaceHexChars)
42-
Assert.assertEquals("@+@+", "%40%2B%40%2B".replaceHexChars)
43-
Assert.assertEquals("abc@+%xyz", "abc%40%2B%xyz".replaceHexChars)
40+
Assert.assertEquals("@+", URLTools.replaceHexChars("%40%2B"))
41+
Assert.assertEquals("@+@+", URLTools.replaceHexChars("%40%2B%40%2B"))
42+
Assert.assertEquals("abc@+%xyz", URLTools.replaceHexChars("abc%40%2B%xyz"))
4443
}
4544

4645
}

0 commit comments

Comments
 (0)