Skip to content

Commit f178304

Browse files
author
Vitaliy Boyko
committed
Fixed template, form and adjusted business logic of the observer dialog
1 parent c17d838 commit f178304

File tree

7 files changed

+7
-89
lines changed

7 files changed

+7
-89
lines changed

resources/fileTemplates/code/Magento Observer Execute Method.php.ft

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
* Observer for ${EVENT_NAME}
33
*
44
* @param Observer $observer
5-
* @throws \Magento\Framework\Validator\Exception
65
* @return void
76
*/
87
public function execute(Observer $observer)

src/com/magento/idea/magento2plugin/actions/generation/CreateAPluginAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import com.magento.idea.magento2plugin.project.Settings;
2424

2525
public class CreateAPluginAction extends DumbAwareAction {
26-
public static String ACTION_NAME = "Create A Plugin...";
26+
public static String ACTION_NAME = "Create a Plugin...";
2727
public static String ACTION_DESCRIPTION = "Create a new Magento 2 plugin for the class";
2828
private final IsPluginAllowedForMethod isPluginAllowed;
2929
private final GetFirstClassOfFile getFirstClassOfFile;

src/com/magento/idea/magento2plugin/actions/generation/CreateAnObserverAction.java

Lines changed: 4 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
public class CreateAnObserverAction extends DumbAwareAction {
2626
public static final String ACTION_NAME = "Create a Magento Observer...";
2727
static final String ACTION_DESCRIPTION = "Create a new Magento 2 Observer for the event";
28-
static final String SIGNATURE = "#M#C\\Magento\\Framework\\Event\\ManagerInterface.dispatch|#M#M#C\\Magento\\Framework\\App\\Action\\Context.getEventManager.dispatch";
28+
static final String SIGNATURE_INTERFACE = "#M#C\\Magento\\Framework\\Event\\ManagerInterface.dispatch";
29+
static final String SIGNATURE_CONTEXT = "#M#M#C\\Magento\\Framework\\App\\Action\\Context.getEventManager.dispatch";
2930
public String targetEvent;
3031

3132
public CreateAnObserverAction() {
@@ -56,13 +57,6 @@ public void update(AnActionEvent event) {
5657
return;
5758
}
5859

59-
if (isDispatchMethodClicked(element)) {
60-
//@TODO implement fetching from the dispatch method
61-
//this.setStatus(event, true);
62-
//targetEvent = fetchTargetEventName(element);
63-
//return;
64-
}
65-
6660
this.setStatus(event, false);
6761
}
6862

@@ -82,12 +76,9 @@ private PsiElement getElement(@NotNull AnActionEvent event) {
8276

8377
private boolean isObserverEventNameClicked(@NotNull PsiElement element) {
8478
if (checkIsElementStringLiteral(element)) {
85-
//@TODO check if quotes are clicked
86-
8779
if (checkIsParametersList(element.getParent().getParent()) &&
8880
checkIsMethodReference(element.getParent().getParent().getParent()) &&
89-
checkIsEventDispatchMethod((MethodReference) element.getParent().getParent().getParent()))
90-
{
81+
checkIsEventDispatchMethod((MethodReference) element.getParent().getParent().getParent())) {
9182
return true;
9283
}
9384
}
@@ -109,7 +100,7 @@ private boolean checkIsMethodReference(@NotNull PsiElement element) {
109100
}
110101

111102
private boolean checkIsEventDispatchMethod(MethodReference element) {
112-
return element.getSignature().equals(SIGNATURE);
103+
return element.getSignature().equals(SIGNATURE_INTERFACE) || element.getSignature().equals(SIGNATURE_CONTEXT);
113104
}
114105

115106
private boolean checkIsElementStringLiteral(@NotNull PsiElement element) {
@@ -126,34 +117,6 @@ private boolean checkIsElementStringLiteral(@NotNull PsiElement element) {
126117
return true;
127118
}
128119

129-
private boolean checkIsElementMethodReference(@NotNull PsiElement element) {
130-
ASTNode astNode = element.getNode();
131-
if (astNode == null) {
132-
return false;
133-
}
134-
IElementType elementType = astNode.getElementType();
135-
if (elementType != PhpTokenTypes.IDENTIFIER) {
136-
return false;
137-
}
138-
139-
return true;
140-
}
141-
142-
private boolean isDispatchMethodClicked(@NotNull PsiElement element) {
143-
if (checkIsElementMethodReference(element) &&
144-
checkIsMethodReference(element.getParent()) &&
145-
checkIsEventDispatchMethod((MethodReference) element.getParent())) {
146-
return true;
147-
}
148-
149-
return false;
150-
}
151-
152-
private String fetchTargetEventName(@NotNull PsiElement element) {
153-
//@TODO implement fetching event name from the dispatch method
154-
return null;
155-
}
156-
157120
private void setStatus(AnActionEvent event, boolean status) {
158121
event.getPresentation().setVisible(status);
159122
event.getPresentation().setEnabled(status);

src/com/magento/idea/magento2plugin/actions/generation/ObserverGenerateExecuteMethodAction.java

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

src/com/magento/idea/magento2plugin/actions/generation/OverrideClassByAPreferenceAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import org.jetbrains.annotations.NotNull;
2020

2121
public class OverrideClassByAPreferenceAction extends DumbAwareAction {
22-
public static String ACTION_NAME = "Override Class By A Preference...";
22+
public static String ACTION_NAME = "Override Class By a Preference...";
2323
public static String ACTION_DESCRIPTION = "Create a new Magento 2 preference for the class";
2424
private final GetFirstClassOfFile getFirstClassOfFile;
2525
private PhpClass targetClass;

src/com/magento/idea/magento2plugin/actions/generation/dialog/CreateAnObserverDialog.form

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</constraints>
88
<properties>
99
<minimumSize width="400" height="350"/>
10-
<preferredSize width="400" height="350"/>
10+
<preferredSize width="450" height="250"/>
1111
<requestFocusEnabled value="true"/>
1212
</properties>
1313
<border type="none"/>

src/com/magento/idea/magento2plugin/actions/generation/generator/ObserverClassGenerator.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
import com.magento.idea.magento2plugin.actions.generation.generator.util.DirectoryGenerator;
1717
import com.magento.idea.magento2plugin.actions.generation.generator.util.FileFromTemplateGenerator;
1818
import com.magento.idea.magento2plugin.actions.generation.util.CodeStyleSettings;
19-
import com.magento.idea.magento2plugin.actions.generation.util.CollectInsertedMethods;
20-
import com.magento.idea.magento2plugin.actions.generation.util.FillTextBufferWithPluginMethods;
2119
import com.magento.idea.magento2plugin.indexes.ModuleIndex;
2220
import com.magento.idea.magento2plugin.magento.files.Observer;
2321
import com.magento.idea.magento2plugin.magento.packages.MagentoPhpClass;
@@ -31,8 +29,6 @@ public class ObserverClassGenerator extends FileGenerator {
3129
private final DirectoryGenerator directoryGenerator;
3230
private final FileFromTemplateGenerator fileFromTemplateGenerator;
3331
private final GetFirstClassOfFile getFirstClassOfFile;
34-
private final FillTextBufferWithPluginMethods fillTextBuffer;
35-
private final CollectInsertedMethods collectInsertedMethods;
3632
private ObserverFileData observerFileData;
3733
private Project project;
3834

@@ -44,14 +40,10 @@ public ObserverClassGenerator(ObserverFileData observerFileData, Project project
4440
this.directoryGenerator = DirectoryGenerator.getInstance();
4541
this.fileFromTemplateGenerator = FileFromTemplateGenerator.getInstance(project);
4642
this.getFirstClassOfFile = GetFirstClassOfFile.getInstance();
47-
this.fillTextBuffer = FillTextBufferWithPluginMethods.getInstance();
48-
this.collectInsertedMethods = CollectInsertedMethods.getInstance();
4943
}
5044

5145
@Override
5246
public PsiFile generate(String actionName) {
53-
54-
5547
WriteCommandAction.runWriteCommandAction(project, () -> {
5648
PhpClass observerClass = GetPhpClassByFQN.getInstance(project).execute(
5749
observerFileData.getObserverClassFqn()

0 commit comments

Comments
 (0)