Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 852bfd5

Browse files
committedFeb 1, 2020
code clean up + centralize dep config + add gson dep as well
1 parent 9446eb8 commit 852bfd5

15 files changed

+116
-127
lines changed
 

‎.idea/ServiceStack.Java.iml

Lines changed: 13 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/ServiceStackIDEA/.idea/misc.xml

Lines changed: 1 addition & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/ServiceStackIDEA/.idea/modules.xml

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/ServiceStackIDEA/.idea/workspace.xml

Lines changed: 21 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/ServiceStackIDEA/src/main/java/net/servicestack/idea/AddRef.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ private void processOK() {
224224
JsonElement jElement = new JsonParser().parse(builder.toString());
225225
if (jElement.getAsJsonArray().size() > 0) {
226226
String latestTag = jElement.getAsJsonArray().get(0).getAsJsonObject().get("name").getAsJsonPrimitive().getAsString();
227-
AddServiceStackRefHandler.setDependencyVersion(latestTag.substring(1));
227+
DepConfig.setServiceStackVersion(latestTag.substring(1));
228228
}
229229

230230
} catch (MalformedURLException e) {

‎src/ServiceStackIDEA/src/main/java/net/servicestack/idea/AddServiceStackAction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,18 @@ public void actionPerformed(AnActionEvent e) {
3535

3636
//Check if a package was selected in the left hand menu, populate package name
3737
PsiElement element = LangDataKeys.PSI_ELEMENT.getData(e.getDataContext());
38-
if (element != null && element instanceof PsiPackage) {
38+
if (element instanceof PsiPackage) {
3939
PsiPackage psiPackage = (PsiPackage) element;
4040
dialog.setSelectedPackage(psiPackage);
4141
dialog.setVisible(true);
4242
return;
4343
}
4444

4545
//Check if a directory containing a Java file was selected, populate package name
46-
if (element != null && element instanceof PsiDirectory) {
46+
if (element instanceof PsiDirectory) {
4747
PsiElement firstChild = element.getFirstChild();
4848
dialog.setSelectedDirectory(((PsiDirectory) element).getVirtualFile().getPath());
49-
if (firstChild != null && firstChild instanceof PsiJavaFile) {
49+
if (firstChild instanceof PsiJavaFile) {
5050
PsiJavaFile firstJavaFile = (PsiJavaFile) firstChild;
5151
PsiPackage mainPackage = JavaPsiFacade.getInstance(module.getProject()).findPackage(firstJavaFile.getPackageName());
5252
if (mainPackage != null) {

‎src/ServiceStackIDEA/src/main/java/net/servicestack/idea/AddServiceStackRefHandler.java

Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,8 @@
2323

2424
public class AddServiceStackRefHandler {
2525

26-
private static final String dependencyGroupId = "net.servicestack";
27-
private static final String androidPackageId = "android";
28-
//Fallback version of dependencies if GitHub tags can't be checked.
29-
private static String dependencyVersion = "1.0.38";
30-
private static final String clientPackageId = "client";
31-
3226
private static INativeTypesHandler defaultNativeTypesHandler;
3327

34-
public static void setDependencyVersion(String version) {
35-
dependencyVersion = version;
36-
}
37-
38-
3928
public static void handleOk(String addressUrl, String qualifiedPackageName,
4029
String fileName, String selectedDirectory,
4130
Module module, StringBuilder errorMessage) {
@@ -53,7 +42,7 @@ public static void handleOk(String addressUrl, String qualifiedPackageName,
5342
} catch (FileNotFoundException e) {
5443
e.printStackTrace();
5544
String message = "Failed to update build.gradle with '" +
56-
dependencyGroupId + ":" + clientPackageId + ":" + dependencyVersion +
45+
DepConfig.getClientVersionString() +
5746
"'. " + e.getLocalizedMessage();
5847
Notification notification = new Notification(
5948
"ServiceStackIDEA",
@@ -95,13 +84,9 @@ private static List<String> getDtoLines(String addressUrl, String qualifiedPacka
9584
return null;
9685
}
9786
}
98-
catch (URISyntaxException e) {
99-
e.printStackTrace();
100-
DialogErrorMessages.appendInvalidEnpoint(errorMessage, addressUrl, e);
101-
return null;
102-
} catch (MalformedURLException e) {
87+
catch (URISyntaxException | MalformedURLException e) {
10388
e.printStackTrace();
104-
DialogErrorMessages.appendInvalidEnpoint(errorMessage, addressUrl, e);
89+
DialogErrorMessages.appendInvalidEndpoint(errorMessage, addressUrl, e);
10590
return null;
10691
} catch (IOException e) {
10792
e.printStackTrace();
@@ -122,7 +107,7 @@ private static INativeTypesHandler getNativeTypesHandler(String fileName) {
122107
private static boolean tryAddMavenDependency(Module module) {
123108
boolean showDto;
124109
String message = "Unable to locate module pom.xml file. Can't add required dependency '" +
125-
dependencyGroupId + ":" + clientPackageId + ":" + dependencyVersion +
110+
DepConfig.getClientVersionString() +
126111
"'.";
127112
Notification notification = new Notification(
128113
"ServiceStackIDEA",
@@ -137,7 +122,8 @@ private static boolean tryAddMavenDependency(Module module) {
137122
return false;
138123
}
139124
File pomLibFile = new File(pomFilePath);
140-
showDto = pomFileHelper.addMavenDependency(module,pomLibFile, dependencyGroupId, clientPackageId, dependencyVersion);
125+
showDto = pomFileHelper.addMavenDependency(module,pomLibFile, DepConfig.servicestackGroupId, DepConfig.clientPackageId, DepConfig.servicestackVersion) ||
126+
pomFileHelper.addMavenDependency(module,pomLibFile, DepConfig.gsonGroupId, DepConfig.gsonPackageId, DepConfig.gsonVersion);
141127
IDEAUtils.refreshFile(module,pomFilePath,showDto);
142128
} catch(Exception e) {
143129
showDto = false;
@@ -153,12 +139,12 @@ private static boolean tryAddMavenDependency(Module module) {
153139
}
154140

155141
private static boolean addGradleDependencyIfRequired(Module module) throws FileNotFoundException {
156-
boolean result = false;
157-
if(GradleBuildFileHelper.addDependency(module,dependencyGroupId, androidPackageId, dependencyVersion)) {
158-
result = true;
142+
if (GradleBuildFileHelper.addDependency(module, DepConfig.servicestackGroupId, DepConfig.androidPackageId, DepConfig.servicestackVersion) ||
143+
GradleBuildFileHelper.addDependency(module, DepConfig.gsonGroupId, DepConfig.gsonPackageId, DepConfig.gsonVersion)) {
159144
IDEAUtils.refreshBuildFile(module);
145+
return true;
160146
}
161-
return result;
147+
return false;
162148
}
163149

164150
private static String getDtoPath(Module module, String qualifiedPackageName, String selectedDirectory, String fileName, StringBuilder errorMessage) throws FileNotFoundException {
@@ -199,8 +185,7 @@ private static String getDtoPath(Module module, String qualifiedPackageName, Str
199185
public static String getDtoFileName(String name) {
200186
INativeTypesHandler nativeTypesHandler = getNativeTypesHandler(name);
201187
int p = name.lastIndexOf(".");
202-
String e = name.substring(p);
203-
if (p == -1 || !e.equals(nativeTypesHandler.getFileExtension())) {
188+
if (p == -1 || !name.substring(p).equals(nativeTypesHandler.getFileExtension())) {
204189
/* file has no extension */
205190
return name + nativeTypesHandler.getFileExtension();
206191
} else {
@@ -212,8 +197,7 @@ public static String getDtoFileName(String name) {
212197
public static String getDtoNameWithoutExtension(String name) {
213198
INativeTypesHandler nativeTypesHandler = getNativeTypesHandler(name);
214199
int p = name.lastIndexOf(".");
215-
String e = name.substring(p);
216-
if (p == -1 || !e.equals(nativeTypesHandler.getFileExtension())) {
200+
if (p == -1 || !name.substring(p).equals(nativeTypesHandler.getFileExtension())) {
217201
/* file has no extension */
218202
return name;
219203
} else {

‎src/ServiceStackIDEA/src/main/java/net/servicestack/idea/AddTypeScriptAction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public void actionPerformed(AnActionEvent anActionEvent) {
2727
dialog.setTitle("Add TypeScript ServiceStack Reference");
2828
PsiElement element = LangDataKeys.PSI_ELEMENT.getData(anActionEvent.getDataContext());
2929
INativeTypesHandler defaultTsNativeTypesHandler = new TypeScriptNativeTypesHandler();
30-
if (element != null && element instanceof PsiDirectory) {
30+
if (element instanceof PsiDirectory) {
3131
PsiDirectory selectedDir = (PsiDirectory)element;
3232
dialog.setSelectedDirectory(selectedDir.getVirtualFile().getPath());
3333
String initialName = getInitialFileName(selectedDir.getVirtualFile().getPath(),defaultTsNativeTypesHandler);
@@ -58,11 +58,11 @@ private String getInitialFileName(String path, INativeTypesHandler defaultTsNati
5858
@Override
5959
public void update(AnActionEvent e) {
6060
Module module = getModule(e);
61-
if(module == null) {
61+
if (module == null) {
6262
e.getPresentation().setEnabled(false);
6363
}
6464

65-
if(!(PlatformUtils.isWebStorm() || PlatformUtils.isPhpStorm() ||
65+
if (!(PlatformUtils.isWebStorm() || PlatformUtils.isPhpStorm() ||
6666
PlatformUtils.isRubyMine() || PlatformUtils.isIntelliJ() ||
6767
PlatformUtils.isPyCharm())) {
6868
e.getPresentation().setVisible(false);

‎src/ServiceStackIDEA/src/main/java/net/servicestack/idea/AddTypeScriptRefHandler.java

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,21 +53,11 @@ private static List<String> getDtoLines(String addressUrl, INativeTypesHandler n
5353
errorMessage.append("The address url is not a valid ServiceStack endpoint.");
5454
return null;
5555
}
56-
} catch (URISyntaxException e) {
56+
} catch (URISyntaxException | MalformedURLException | FileNotFoundException e) {
5757
e.printStackTrace();
58-
DialogErrorMessages.appendInvalidEnpoint(errorMessage, addressUrl, e);
58+
DialogErrorMessages.appendInvalidEndpoint(errorMessage, addressUrl, e);
5959
return null;
60-
} catch (MalformedURLException e) {
61-
e.printStackTrace();
62-
DialogErrorMessages.appendInvalidEnpoint(errorMessage, addressUrl, e);
63-
return null;
64-
}
65-
catch (FileNotFoundException e) {
66-
e.printStackTrace();
67-
DialogErrorMessages.appendInvalidEnpoint(errorMessage, addressUrl, e);
68-
return null;
69-
}
70-
catch (IOException e) {
60+
} catch (IOException e) {
7161
e.printStackTrace();
7262
DialogErrorMessages.appendReadResponseError(errorMessage, addressUrl, e);
7363
return null;

‎src/ServiceStackIDEA/src/main/java/net/servicestack/idea/Analytics.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public static void SubmitAnonymousUpdateReferenceUsage(INativeTypesHandler types
2626

2727
public static void SubmitAnonymousUsage(final String url) {
2828
PluginSettingsService settings = PluginSettingsService.getInstance();
29-
if (!settings.optOutOfStats) {
29+
if (!settings.optOutOfStats && !"1".equals(System.getenv("SERVICESTACK_TELEMETRY_OPTOUT"))) {
3030
final URL[] serviceUrl = {null};
3131
final URLConnection[] responseConnection = {null};
3232
final BufferedReader[] responseReader = {null};
@@ -36,10 +36,7 @@ public void run() {
3636
try {
3737
serviceUrl[0] = new URL(url);
3838
responseConnection[0] = serviceUrl[0].openConnection();
39-
responseReader[0] = new BufferedReader(
40-
new InputStreamReader(
41-
responseConnection[0].getInputStream()));
42-
39+
responseReader[0] = new BufferedReader(new InputStreamReader(responseConnection[0].getInputStream()));
4340
responseReader[0].close();
4441
} catch (IOException e) {
4542
// Ignore failure (eg no internet connection).
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package net.servicestack.idea;
2+
3+
public class DepConfig {
4+
public static final String servicestackGroupId = "net.servicestack";
5+
public static final String androidPackageId = "android";
6+
//Fallback version of dependencies if GitHub tags can't be checked.
7+
public static final String clientPackageId = "client";
8+
public static String servicestackVersion = "1.0.38";
9+
10+
public static final String gsonGroupId = "com.google.code.gson";
11+
public static final String gsonPackageId = "gson";
12+
public static String gsonVersion = "2.8.6";
13+
14+
public static void setServiceStackVersion(String version) {
15+
servicestackVersion = version;
16+
}
17+
18+
public static String getClientVersionString() {
19+
return servicestackGroupId + ":" + clientPackageId + ":" + servicestackVersion;
20+
}
21+
22+
}

‎src/ServiceStackIDEA/src/main/java/net/servicestack/idea/DialogErrorMessages.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* Helper messages for common add reference dialog errors.
99
*/
1010
public class DialogErrorMessages {
11-
public static StringBuilder appendInvalidEnpoint(StringBuilder errorMessage,String addressUrl, Exception e) {
11+
public static StringBuilder appendInvalidEndpoint(StringBuilder errorMessage, String addressUrl, Exception e) {
1212
errorMessage.append(e.getClass().getName()).append(" - Invalid ServiceStack endpoint provided - ").append(addressUrl);
1313
return errorMessage;
1414
}

‎src/ServiceStackIDEA/src/main/java/net/servicestack/idea/GradleBuildFileHelper.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public static boolean addDependency(Module module,String groupId, String package
4141
e.printStackTrace();
4242
}
4343

44-
if(dependenciesStartIndex == -1 || dependenciesEndIndex == -1) {
44+
if (dependenciesStartIndex == -1 || dependenciesEndIndex == -1) {
4545
return false;
4646
}
4747

@@ -55,7 +55,7 @@ public static boolean addDependency(Module module,String groupId, String package
5555
}
5656
}
5757

58-
if(!dependencyRequired) {
58+
if (!dependencyRequired) {
5959
return false;
6060
}
6161
list.add(dependenciesEndIndex, " implementation '" + groupId + ":" + packageName + ":" + version + "'");
@@ -76,14 +76,14 @@ public static Boolean isGradleModule(Module module) {
7676
}
7777

7878
public static Boolean isUsingKotlin(Module module){
79-
if(!isGradleModule(module)) {
79+
if (!isGradleModule(module)) {
8080
return false;
8181
}
8282
File buildFile = getGradleBuildFile(module);
83-
if(buildFile == null) {
83+
if (buildFile == null) {
8484
return false;
8585
}
86-
Boolean result = false;
86+
boolean result = false;
8787
try {
8888
BufferedReader br = new BufferedReader(new FileReader(buildFile));
8989
for (String line; (line = br.readLine()) != null; ) {

‎src/ServiceStackIDEA/src/main/java/net/servicestack/idea/IDEAPomFileHelper.java

Lines changed: 19 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -33,22 +33,18 @@
3333
public class IDEAPomFileHelper {
3434

3535
public boolean addMavenDependency(final Module module,File pomFile, String groupId, String packageId, String version) throws Exception {
36-
boolean dependencyAdded = false;
3736

3837
try {
39-
if(!pomHasMavenDependency(pomFile,groupId,packageId)) {
38+
if (!pomHasMavenDependency(pomFile,groupId,packageId)) {
4039
PomAppendDependency(module, pomFile,groupId,packageId,version);
41-
dependencyAdded = true;
40+
return true;
4241
}
43-
} catch (IOException e) {
44-
e.printStackTrace();
45-
throw new Exception("Unable to process pom.xml to add " + groupId + ":" + packageId + ":" + version);
46-
} catch (ParserConfigurationException e) {
42+
} catch (IOException | ParserConfigurationException e) {
4743
e.printStackTrace();
4844
throw new Exception("Unable to process pom.xml to add " + groupId + ":" + packageId + ":" + version);
4945
}
5046

51-
return dependencyAdded;
47+
return false;
5248
}
5349

5450

@@ -123,60 +119,52 @@ private static boolean pomHasDependenciesNode(Document document) {
123119

124120
private static Node getMavenDependenciesNode(Document document) {
125121
Node rootNode = document.getFirstChild();
126-
NodeList firstChildern = rootNode.getChildNodes();
127-
Node result = null;
128-
for(int i = 0; i < firstChildern.getLength(); i++) {
129-
Node child = firstChildern.item(i);
130-
if(child == null) {
122+
NodeList firstChildren = rootNode.getChildNodes();
123+
for (int i = 0; i < firstChildren.getLength(); i++) {
124+
Node child = firstChildren.item(i);
125+
if (child == null) {
131126
continue;
132127
}
133-
if(child.getNodeName().equals("dependencies")) {
134-
result = child;
135-
break;
128+
if (child.getNodeName().equals("dependencies")) {
129+
return child;
136130
}
137131
}
138-
return result;
132+
return null;
139133
}
140134

141135
public static boolean pomHasMavenDependency(File pomFile, String groupId, String packageId) throws ParserConfigurationException, IOException, SAXException {
142-
boolean hasDependency = false;
143136
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
144137
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
145138
Document doc = docBuilder.parse(pomFile);
146139

147-
if(!pomHasDependenciesNode(doc)) {
140+
if (!pomHasDependenciesNode(doc)) {
148141
return false;
149142
}
150143

151144
Node dependencies = getMavenDependenciesNode(doc);
152145
NodeList depElements = dependencies.getChildNodes();
153-
for(int i = 0; i < depElements.getLength(); i++) {
146+
for (int i = 0; i < depElements.getLength(); i++) {
154147
Node dependencyElement = depElements.item(i);
155-
if(pomDependencyElementMatch(dependencyElement, groupId,packageId)) {
156-
hasDependency = true;
157-
break;
148+
if (pomDependencyElementMatch(dependencyElement, groupId, packageId)) {
149+
return true;
158150
}
159151
}
160-
return hasDependency;
152+
return false;
161153
}
162154

163155
public static boolean pomHasKotlinDependency(Module module) {
164156
String pomFilePath = findNearestModulePomFile(module);
165-
if(pomFilePath == null) {
157+
if (pomFilePath == null) {
166158
return false;
167159
}
168160
File pomFile = new File(pomFilePath);
169-
if(!pomFile.exists()) {
161+
if (!pomFile.exists()) {
170162
return false;
171163
}
172164

173165
try {
174166
return pomHasMavenDependency(pomFile,"org.jetbrains.kotlin","kotlin-stdlib");
175-
} catch (ParserConfigurationException e) {
176-
e.printStackTrace();
177-
} catch (IOException e) {
178-
e.printStackTrace();
179-
} catch (SAXException e) {
167+
} catch (ParserConfigurationException | IOException | SAXException e) {
180168
e.printStackTrace();
181169
}
182170
return false;

‎src/ServiceStackIDEA/src/main/java/net/servicestack/idea/IDEAUtils.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,15 @@ public static void closeFile(Module module, String filePath) {
9292
}
9393

9494
public static INativeTypesHandler getDefaultNativeTypesHandler(Module module) {
95-
if(GradleBuildFileHelper.isGradleModule(module) && GradleBuildFileHelper.isUsingKotlin(module)) {
95+
if (GradleBuildFileHelper.isGradleModule(module) && GradleBuildFileHelper.isUsingKotlin(module)) {
9696
return new KotlinNativeTypesHandler();
9797
}
9898

99-
if(IDEAPomFileHelper.isMavenProjectWithKotlin(module)) {
99+
if (IDEAPomFileHelper.isMavenProjectWithKotlin(module)) {
100100
return new KotlinNativeTypesHandler();
101101
}
102102

103-
if(PlatformUtils.isWebStorm()) {
103+
if (PlatformUtils.isWebStorm()) {
104104
return new TypeScriptConcreteNativeTypesHandler();
105105
}
106106

@@ -109,10 +109,10 @@ public static INativeTypesHandler getDefaultNativeTypesHandler(Module module) {
109109

110110
public static INativeTypesHandler getNativeTypesHandler(String fileName) {
111111
INativeTypesHandler result = null;
112-
if(fileName.endsWith(".kt")) result = new KotlinNativeTypesHandler();
113-
if(fileName.endsWith(".java")) result = new JavaNativeTypesHandler();
114-
if(fileName.endsWith(".dtos.ts")) result = new TypeScriptConcreteNativeTypesHandler();
115-
if(fileName.endsWith(".dtos.d.ts")) result = new TypeScriptNativeTypesHandler();
112+
if (fileName.endsWith(".kt")) result = new KotlinNativeTypesHandler();
113+
if (fileName.endsWith(".java")) result = new JavaNativeTypesHandler();
114+
if (fileName.endsWith(".dtos.ts")) result = new TypeScriptConcreteNativeTypesHandler();
115+
if (fileName.endsWith(".dtos.d.ts")) result = new TypeScriptNativeTypesHandler();
116116
return result;
117117
}
118118
}

0 commit comments

Comments
 (0)
Please sign in to comment.