Skip to content

Commit 030a16d

Browse files
committed
Logic cleanup
1 parent ca6d6e5 commit 030a16d

File tree

3 files changed

+86
-70
lines changed

3 files changed

+86
-70
lines changed

src/ServiceStackIDEA/.idea/workspace.xml

Lines changed: 37 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
531 Bytes
Binary file not shown.

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

Lines changed: 49 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,10 @@
1414
import com.intellij.psi.*;
1515
import com.intellij.psi.search.FilenameIndex;
1616
import com.intellij.psi.search.GlobalSearchScope;
17-
import com.intellij.psi.xml.XmlFile;
1817
import com.intellij.ui.JBColor;
19-
import com.intellij.util.PlatformUtils;
2018
import org.apache.http.client.utils.URIBuilder;
2119
import org.apache.maven.model.Dependency;
2220
import org.apache.maven.model.Model;
23-
import org.apache.maven.model.Profile;
2421
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
2522
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
2623
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@@ -293,50 +290,12 @@ private void onOK() {
293290

294291
boolean isMavenModule = mavenProjectsManager != null && mavenProjectsManager.isMavenizedModule(module);
295292
if(isMavenModule) {
296-
PsiFile[] pomLibFiles = FilenameIndex.getFilesByName(module.getProject(), "pom.xml", GlobalSearchScope.allScope(module.getProject()));
297-
File pomLibFile = new File(pomLibFiles[0].getVirtualFile().getPath());
298-
MavenXpp3Reader reader = new MavenXpp3Reader();
299-
Model pomModel;
300-
try {
301-
pomModel = reader.read(new FileReader(pomLibFile));
302-
final List<Dependency> dependencies= pomModel.getDependencies();
303-
boolean requiresPomDependency = true;
304-
for (Dependency dep : dependencies) {
305-
if(Objects.equals(dep.getGroupId(), dependencyGroupId) && Objects.equals(dep.getArtifactId(), "client")) {
306-
requiresPomDependency = false;
307-
}
308-
}
309-
310-
if(requiresPomDependency) {
311-
Dependency dependency = new Dependency();
312-
dependency.setGroupId(dependencyGroupId);
313-
dependency.setArtifactId("client");
314-
dependency.setVersion(dependencyVersion);
315-
FileWriter writer = new FileWriter(pomLibFile.getAbsolutePath());
316-
pomModel.addDependency(dependency);
317-
new MavenXpp3Writer().write(writer, pomModel);
318-
}
319-
320-
} catch (IOException e) {
321-
e.printStackTrace();
322-
errorMessage = "Unable to process pom.xml to add " + dependencyGroupId + ":" + "client" + ":" + dependencyVersion;
323-
} catch (XmlPullParserException e) {
324-
errorMessage = "Unable to process pom.xml to add " + dependencyGroupId + ":" + "client" + ":" + dependencyVersion;
325-
e.printStackTrace();
326-
}
327-
328-
293+
showDto = addMavenDependencyIfRequired();
329294
} else {
330-
//Android studio
331-
if(gradleBuildFileHelper.addDependency(dependencyGroupId, dependencyPackageId, dependencyVersion)) {
332-
refreshBuildFile();
333-
} else {
334-
showDto = true;
335-
}
295+
//Gradle
296+
showDto = addGradleDependencyIfRequired(gradleBuildFileHelper);
336297
}
337298

338-
339-
340299
String dtoPath;
341300
try {
342301
dtoPath = getDtoPath();
@@ -352,6 +311,52 @@ private void onOK() {
352311
dispose();
353312
}
354313

314+
private boolean addGradleDependencyIfRequired(GradleBuildFileHelper gradleBuildFileHelper) {
315+
boolean result = true;
316+
if(gradleBuildFileHelper.addDependency(dependencyGroupId, dependencyPackageId, dependencyVersion)) {
317+
result = false;
318+
refreshBuildFile();
319+
}
320+
return result;
321+
}
322+
323+
private boolean addMavenDependencyIfRequired() {
324+
boolean noDependencyAdded = true;
325+
PsiFile[] pomLibFiles = FilenameIndex.getFilesByName(module.getProject(), "pom.xml", GlobalSearchScope.allScope(module.getProject()));
326+
File pomLibFile = new File(pomLibFiles[0].getVirtualFile().getPath());
327+
MavenXpp3Reader reader = new MavenXpp3Reader();
328+
Model pomModel;
329+
try {
330+
pomModel = reader.read(new FileReader(pomLibFile));
331+
final List<Dependency> dependencies= pomModel.getDependencies();
332+
boolean requiresPomDependency = true;
333+
for (Dependency dep : dependencies) {
334+
if(Objects.equals(dep.getGroupId(), dependencyGroupId) && Objects.equals(dep.getArtifactId(), "client")) {
335+
requiresPomDependency = false;
336+
}
337+
}
338+
339+
if(requiresPomDependency) {
340+
Dependency dependency = new Dependency();
341+
dependency.setGroupId(dependencyGroupId);
342+
dependency.setArtifactId("client");
343+
dependency.setVersion(dependencyVersion);
344+
FileWriter writer = new FileWriter(pomLibFile.getAbsolutePath());
345+
pomModel.addDependency(dependency);
346+
new MavenXpp3Writer().write(writer, pomModel);
347+
noDependencyAdded = false;
348+
}
349+
350+
} catch (IOException e) {
351+
e.printStackTrace();
352+
errorMessage = "Unable to process pom.xml to add " + dependencyGroupId + ":" + "client" + ":" + dependencyVersion;
353+
} catch (XmlPullParserException e) {
354+
errorMessage = "Unable to process pom.xml to add " + dependencyGroupId + ":" + "client" + ":" + dependencyVersion;
355+
e.printStackTrace();
356+
}
357+
return noDependencyAdded;
358+
}
359+
355360
private boolean writeDtoFile(List<String> javaCode, String path) {
356361
BufferedWriter writer = null;
357362
boolean result = true;

0 commit comments

Comments
 (0)