11import com .google .common .collect .Lists ;
22import com .intellij .facet .Facet ;
33import com .intellij .facet .FacetManager ;
4- import com .intellij .ide .util .DirectoryUtil ;
5- import com .intellij .ide .util .PackageUtil ;
64import com .intellij .notification .Notification ;
75import com .intellij .notification .NotificationType ;
86import com .intellij .notification .Notifications ;
1412import com .intellij .openapi .module .Module ;
1513import com .intellij .openapi .module .ModuleManager ;
1614import com .intellij .openapi .project .Project ;
17- import com .intellij .openapi .ui .PackageChooser ;
1815import com .intellij .openapi .vfs .VirtualFile ;
19- import com .intellij .openapi .vfs .VirtualFileManager ;
2016import com .intellij .psi .*;
21- import com .intellij .psi .codeStyle .PackageEntry ;
22- import com .intellij .psi .impl .file .PsiJavaDirectoryImpl ;
23- import com .intellij .psi .search .PackageScope ;
2417import org .jetbrains .annotations .NotNull ;
2518
2619import java .util .ArrayList ;
3023public class AddServiceStackReference extends AnAction {
3124
3225 public void actionPerformed (AnActionEvent e ) {
33-
34- // TODO: insert action logic here
3526 Module module = getModule (e );
3627 AddRef dialog = new AddRef (module );
3728 dialog .pack ();
@@ -42,41 +33,39 @@ public void actionPerformed(AnActionEvent e) {
4233
4334 //Check if a package was selected in the left hand menu, populate package name
4435 PsiElement element = DataKeys .PSI_ELEMENT .getData (e .getDataContext ());
45- if (element != null && element instanceof PsiPackage ){
46- PsiPackage psiPackage = (PsiPackage )element ;
36+ if (element != null && element instanceof PsiPackage ) {
37+ PsiPackage psiPackage = (PsiPackage ) element ;
4738 dialog .setSelectedPackage (psiPackage );
4839 dialog .setVisible (true );
4940 return ;
5041 }
5142
5243 //Check if a directory containing a Java file was selected, populate package name
53- if (element != null && element instanceof PsiDirectory ){
44+ if (element != null && element instanceof PsiDirectory ) {
5445 PsiElement firstChild = element .getFirstChild ();
5546 dialog .setSelectedDirectory (((PsiDirectory ) element ).getVirtualFile ().getPath ());
56- if (firstChild != null && firstChild instanceof PsiJavaFile ) {
57- PsiJavaFile firstJavaFile = (PsiJavaFile )firstChild ;
47+ if (firstChild != null && firstChild instanceof PsiJavaFile ) {
48+ PsiJavaFile firstJavaFile = (PsiJavaFile ) firstChild ;
5849 PsiPackage mainPackage = JavaPsiFacade .getInstance (module .getProject ()).findPackage (firstJavaFile .getPackageName ());
59- if (mainPackage != null ) {
50+ if (mainPackage != null ) {
6051 dialog .setSelectedPackage (mainPackage );
6152 }
62- } else {
53+ } else if ( module . getModuleFile () != null ) {
6354 try {
64- PsiDirectory selectedDir = (PsiDirectory )element ;
55+ PsiDirectory selectedDir = (PsiDirectory ) element ;
6556 String packageName = "" ;
6657 String moduleDirectoryName = module .getModuleFile ().getParent ().getName ();
6758 List <String > packageArray = new ArrayList <>();
68- while (selectedDir != null && !(Objects .equals (selectedDir .getName (), moduleDirectoryName ))) {
59+ while (selectedDir != null && !(Objects .equals (selectedDir .getName (), moduleDirectoryName ))) {
6960 packageArray .add (selectedDir .getName ());
7061 selectedDir = selectedDir .getParent ();
7162 PsiPackage mainPackage = testPackage (module , packageName , packageArray );
72- if (mainPackage != null ) {
63+ if (mainPackage != null ) {
7364 dialog .setSelectedPackage (mainPackage );
7465 break ;
7566 }
7667 }
77-
78-
79- }catch (Exception ex ) {
68+ } catch (Exception ex ) {
8069 //do nothing, can't get package name.
8170 }
8271 }
@@ -86,41 +75,40 @@ public void actionPerformed(AnActionEvent e) {
8675
8776 //Check if a Java file was selected, display without a package name if no file.
8877 VirtualFile selectedFile = DataKeys .VIRTUAL_FILE .getData (e .getDataContext ());
89- if (selectedFile == null ) {
78+ if (selectedFile == null ) {
9079 Notification notification = new Notification ("ServiceStackIDEA" , "Error Add ServiceStack Reference" , "Context menu failed find folder or file." , NotificationType .ERROR );
9180 Notifications .Bus .notify (notification );
9281 return ;
9382 }
94- if (selectedFile .isDirectory ()) {
83+ if (selectedFile .isDirectory ()) {
9584 dialog .setSelectedDirectory (selectedFile .getPath ());
96- } else if (selectedFile .getParent ().isDirectory ()) {
85+ } else if (selectedFile .getParent ().isDirectory ()) {
9786 dialog .setSelectedDirectory (selectedFile .getParent ().getPath ());
9887 } else {
9988 Notification notification = new Notification ("ServiceStackIDEA" , "Error Add ServiceStack Reference" , "Context menu failed find folder or file." , NotificationType .ERROR );
10089 Notifications .Bus .notify (notification );
10190 return ;
10291 }
10392
104-
10593 //Check for document, display without a package name if no document.
10694 Document document = FileDocumentManager .getInstance ().getDocument (selectedFile );
107- if (document == null ) {
95+ if (document == null ) {
10896 dialog .setVisible (true );
10997 return ;
11098 }
11199
112100 //Check if a 'PsiFile', display without a package name if no PsiFile.
113101 PsiFile psiFile = PsiDocumentManager .getInstance (module .getProject ()).getPsiFile (document );
114- if (psiFile == null ) {
102+ if (psiFile == null ) {
115103 dialog .setVisible (true );
116104 return ;
117105 }
118106
119107 //Finally check if a Java file and populate package name with class package name.
120- if (Objects .equals (psiFile .getFileType ().getName (), "JAVA" )) {
121- PsiJavaFile javaFile = (PsiJavaFile )psiFile ;
108+ if (Objects .equals (psiFile .getFileType ().getName (), "JAVA" )) {
109+ PsiJavaFile javaFile = (PsiJavaFile ) psiFile ;
122110 PsiPackage mainPackage = JavaPsiFacade .getInstance (module .getProject ()).findPackage (javaFile .getPackageName ());
123- if (mainPackage != null ) {
111+ if (mainPackage != null ) {
124112 dialog .setSelectedPackage (mainPackage );
125113 }
126114 }
@@ -130,8 +118,8 @@ public void actionPerformed(AnActionEvent e) {
130118
131119 private PsiPackage testPackage (Module module , String packageName , List <String > packageArray ) {
132120 List <String > packageNameOrderedList = Lists .reverse (packageArray );
133- for (int i = 0 ; i < packageNameOrderedList .size (); i ++) {
134- if (i < packageNameOrderedList .size () - 1 ) {
121+ for (int i = 0 ; i < packageNameOrderedList .size (); i ++) {
122+ if (i < packageNameOrderedList .size () - 1 ) {
135123 packageName += packageNameOrderedList .get (i ) + "." ;
136124 } else {
137125 packageName += packageNameOrderedList .get (i );
@@ -163,8 +151,8 @@ static Module getModule(Project project) {
163151
164152 private static boolean isAndroidProject (@ NotNull Module module ) {
165153 Facet [] facetsByType = FacetManager .getInstance (module ).getAllFacets ();
166- for (Facet facet :facetsByType ) {
167- if (Objects .equals (facet .getTypeId ().toString (), "android" )) {
154+ for (Facet facet : facetsByType ) {
155+ if (Objects .equals (facet .getTypeId ().toString (), "android" )) {
168156 return true ;
169157 }
170158 }
0 commit comments