Coder Social home page Coder Social logo

magicento's Introduction

Magicento

PHPStorm plugin for Magento developers

visit www.magicento.com for more info

magicento's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

magicento's Issues

Not working with PHPStorm 5

Hi, this looks extremely helpful, but I can't get it to go on PHPStorm 5 (seems to be the only version available from them). Errors below when I launch PHPStorm. OSX 10.7.4, PHPStorm v5.0.1, JDK 1.6.0_35

Thanks, really looking forward to trying this out!
-Chad

Error while registering component: com.intellij.openapi.components.OldComponentConfig@548c491e: com.magicento.MagicentoProjectComponent PluginClassLoader[Magicento, 0.6] [Plugin: Magicento]
com.intellij.diagnostic.PluginException: com.magicento.MagicentoProjectComponent PluginClassLoader[Magicento, 0.6] [Plugin: Magicento]
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.a(ComponentManagerImpl.java:463)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.a(ComponentManagerImpl.java:436)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.access$000(ComponentManagerImpl.java:422)
at com.intellij.openapi.components.impl.ComponentManagerImpl.a(ComponentManagerImpl.java:102)
at com.intellij.openapi.components.impl.ComponentManagerImpl.initComponents(ComponentManagerImpl.java:347)
at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:86)
at com.intellij.openapi.project.impl.ProjectImpl.init(ProjectImpl.java:307)
at com.intellij.openapi.project.impl.ProjectManagerImpl.a(ProjectManagerImpl.java:278)
at com.intellij.openapi.project.impl.ProjectManagerImpl.a(ProjectManagerImpl.java:331)
at com.intellij.openapi.project.impl.ProjectManagerImpl.access$400(ProjectManagerImpl.java:81)
at com.intellij.openapi.project.impl.ProjectManagerImpl$9.compute(ProjectManagerImpl.java:546)
at com.intellij.openapi.project.impl.ProjectManagerImpl$9.compute(ProjectManagerImpl.java:542)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$4.run(ProgressManagerImpl.java:259)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:472)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:291)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
at com.intellij.openapi.application.impl.ApplicationImpl$8$1.run(ApplicationImpl.java:684)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)
Caused by: java.lang.ClassNotFoundException: com.magicento.MagicentoProjectComponent PluginClassLoader[Magicento, 0.6]
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:77)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.a(ComponentManagerImpl.java:446)
... 26 more

and then:

class with name "com.magicento.MagicentoAction" not found [Plugin: Magicento]: class with name "com.magicento.MagicentoAction" not found [Plugin: Magicento]
com.intellij.diagnostic.PluginException: class with name "com.magicento.MagicentoAction" not found [Plugin: Magicento]
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:255)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:226)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getAction(ActionManagerImpl.java:219)
at com.intellij.openapi.actionSystem.DefaultActionGroup.unstub(DefaultActionGroup.java:261)
at com.intellij.openapi.actionSystem.DefaultActionGroup.getChildren(DefaultActionGroup.java:240)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$5.compute(ActionManagerImpl.java:1154)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$5.compute(ActionManagerImpl.java:1148)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:947)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:1148)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:1162)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.preloadActionGroup(ActionManagerImpl.java:1142)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.d(ActionManagerImpl.java:1134)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.access$200(ActionManagerImpl.java:72)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$4.run(ActionManagerImpl.java:1117)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)
Caused by: java.lang.ClassNotFoundException: com.magicento.MagicentoAction PluginClassLoader[Magicento, 0.6]
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:77)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:248)
... 21 more

[Enhancement] Add module name to class name suggestions for rewrites

When using the (very neat) class rewrite tool in Magicento, the suggested class name simply copies the class inside the object type directory to the new module. For example
Mage_Catalog_Model_Product is rewritten to Foo_Bar_Model_Product.

This is problematic if classes with the same class name inside the module are rewritten inside a single module, for example Mage_Sales_Helper_Data and Mage_Customer_Helper_Data. Even more so if the target module needs to have it's own data helper, too.

Following best practice all rewrites should be in a folder structure as follows (with a matching class name of course):

[namespace] / [modulename] / [objecttype] / [orig-modulename] / [class]

For example:

Mage_Catalog_Model_Productrewrite to Foo_Bar_Model_Catalog_Product
Mage_Catalog_Helper_Data rewrite to Foo_Bar_Helper_Catalog_Data
Mage_Sales_Model_Resource_Quote rewrite to Foo_Bar_Model_Sales_Resource_Quote

Of course this doesn't handle all cases, it would be quite a lot cleaner. The few cases where the namespace name is needed in order to achieve a unique name are extremely rare (like when rewriting Foo_Catalog_Helper_Data and Mage_Catalog_Helper_Data).
Always including the namespace in the target class name would be even cleaner, but arguably the resulting class names might be a little unpractical.

Error during dispatching of java.awt.event.InvocationEvent

I have this error when i use the button : "remove this installer from core resource table"

phpstorm V5
settings : Use http
Windows 7 ( apache on vmware server linux )

Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.openapi.util.EdtRunnable$1@8e0ef5,notifier=null,catchExceptions=false,when=1350417014164] on sun.awt.windows.WToolkit@64883c
java.lang.NullPointerException
at com.magicento.actions.RemoveFromCoreResourceAction.executeAction(RemoveFromCoreResourceAction.java:41)
at com.magicento.actions.MagicentoPhpActionAbstract.actionPerformed(MagicentoPhpActionAbstract.java:40)
at com.intellij.ui.popup.PopupFactoryImpl$ActionPopupStep$1.run(PopupFactoryImpl.java:638)
at com.intellij.ui.popup.AbstractPopup$18.run(AbstractPopup.java:1219)
at com.intellij.openapi.wm.impl.FocusManagerImpl.a(FocusManagerImpl.java:616)
at com.intellij.openapi.wm.impl.FocusManagerImpl.g(FocusManagerImpl.java:597)
at com.intellij.openapi.wm.impl.FocusManagerImpl.e(FocusManagerImpl.java:567)
at com.intellij.openapi.wm.impl.FocusManagerImpl.access$200(FocusManagerImpl.java:55)
at com.intellij.openapi.wm.impl.FocusManagerImpl$IdleRunnable.runEdt(FocusManagerImpl.java:102)
at com.intellij.openapi.util.EdtRunnable$1.run(EdtRunnable.java:28)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:607)
at java.awt.EventQueue$1.run(EventQueue.java:605)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:616)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:718)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:543)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:421)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:379)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Crashes in phpStorm 5 in layout xml files when "enable php execution" option is enabled

PHP Storm Crashes when I try to edit layout xml files and Magicento tries to suggest me page xml tag. If I disable "php execution" option in Magicento settings and try to write layout xml file, Magicento instanty shows me error that "This feachure is available only with Php Enabled at this moment" and when I pres "OK" and type next character Magicento shows me this message again.
I use windows 7 with deployment of project to Ubuntu server, think this might be important because one time I captured PDO error with Magicento in layout xml file and "php execution" enabled.

Hotkey Bindings

Is there any possibility to allow rebinding of the hotkeys, because middleclick is bad for *nix users and ctrl+b is also used, at least for me (IdeaVim and behavior from vim in general) .
Would be lovely to change the bindings.

Problem/crash while editing layout xmls

magicento enabled, php execution disabled

When I edit a layout XML file, I get this alert window:

Magicento Layout Error
This feature is supported only with PHP Enabled at the moment.
Please enable PHP going to File > Settings > Magicento

after a click on "OK" there are two scenarios:

  1. phpstorm freezes
  2. there is a second alert window:

Error

And a entry in the log:
11:44:39 IllegalStateException: @NotNull method com/magicento/models/xml/MagentoXmlTag.getAllNodesFromMergedXml must not return null: @NotNull method com/magicento/models/xml/MagentoXmlTag.getAllNodesFromMergedXml must not return null

NoClassDefFound when editing xml file

phpstorm 5.01

org/apache/commons/collections/comparators/ComparableComparator: org/apache/commons/collections/comparators/ComparableComparator
java.lang.NoClassDefFoundError: org/apache/commons/collections/comparators/ComparableComparator
at com.magicento.models.xml.MagentoXmlTag.getAllNodeNamesFromMergedXml(MagentoXmlTag.java:287)
at com.magicento.models.xml.config.IdXmlTag.addAllNamesFrom(IdXmlTag.java:80)
at com.magicento.models.xml.config.IdXmlTag.addAllEquivalentNames(IdXmlTag.java:69)
at com.magicento.models.xml.config.system.TabsIdXmlTag.getPossibleNames(TabsIdXmlTag.java:15)
at com.magicento.models.xml.MagentoXmlTag.getPossibleDefinitions(MagentoXmlTag.java:131)
at com.magicento.models.xml.config.IdXmlTag.getPossibleDefinitions(IdXmlTag.java:40)
at com.magicento.extensions.MagicentoXmlCompletionContributor$2.addCompletions(MagicentoXmlCompletionContributor.java:170)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
at com.magicento.extensions.MagicentoXmlCompletionContributor.fillCompletionVariants(MagicentoXmlCompletionContributor.java:235)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:110)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:103)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:90)
at com.intellij.codeInsight.completion.XmlNoVariantsDelegator.fillCompletionVariants(XmlNoVariantsDelegator.java:26)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:114)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1$1.run(CodeCompletionHandlerBase.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:918)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1.run(CodeCompletionHandlerBase.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2.run(CodeCompletionHandlerBase.java:344)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)

Remove whitespace in generated config.xml for rewrite

When generating a rewrite, Magicento generates

<rewrite>
    <some_class>
        Namespace_Extension_Model_Some_Class
    </some_class>
</rewrite>

When it should generate:

<rewrite>
    <some_class>Namespace_Extension_Model_Some_Class</some_class>
</rewrite>

The extra whitespace around the class name causes the factoryMethod (e.g. Mage::getSingleton to thrown an exception.

Element: class com.intellij.psi.impl.source.xml.XmlTagImpl: Element: class com.intellij.psi.impl.source.xml.XmlTagImpl

Element: class com.intellij.psi.impl.source.xml.XmlTagImpl: Element: class com.intellij.psi.impl.source.xml.XmlTagImpl
com.intellij.psi.PsiInvalidElementAccessException: Element: class com.intellij.psi.impl.source.xml.XmlTagImpl
at com.intellij.psi.impl.source.tree.CompositePsiElement.getProject(CompositePsiElement.java:295)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getSubTags(XmlTagImpl.java:638)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findSubTags(XmlTagImpl.java:660)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findSubTags(XmlTagImpl.java:655)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findFirstSubTag(XmlTagImpl.java:674)
at com.magicento.models.xml.MagentoXmlTag.filterDuplicatedNames(MagentoXmlTag.java:157)
at com.magicento.models.xml.MagentoXmlTag.getPossibleDefinitions(MagentoXmlTag.java:129)
at com.magicento.extensions.MagicentoXmlCompletionContributor$2.addCompletions(MagicentoXmlCompletionContributor.java:170)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
at com.magicento.extensions.MagicentoXmlCompletionContributor.fillCompletionVariants(MagicentoXmlCompletionContributor.java:235)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:110)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:103)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:90)
at com.intellij.codeInsight.completion.XmlNoVariantsDelegator.fillCompletionVariants(XmlNoVariantsDelegator.java:26)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:114)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1$1.run(CodeCompletionHandlerBase.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:918)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1.run(CodeCompletionHandlerBase.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2.run(CodeCompletionHandlerBase.java:344)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)

com.intellij.psi.PsiInvalidElementAccessException: Element: class com.intellij.psi.impl.source.xml.XmlTagImpl
at com.intellij.psi.impl.source.tree.CompositePsiElement.getProject(CompositePsiElement.java:295)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getSubTags(XmlTagImpl.java:638)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findSubTags(XmlTagImpl.java:660)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findSubTags(XmlTagImpl.java:655)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findFirstSubTag(XmlTagImpl.java:674)
at com.magicento.models.xml.MagentoXmlTag.filterDuplicatedNames(MagentoXmlTag.java:157)
at com.magicento.models.xml.MagentoXmlTag.getPossibleDefinitions(MagentoXmlTag.java:129)
at com.magicento.extensions.MagicentoXmlCompletionContributor$2.addCompletions(MagicentoXmlCompletionContributor.java:170)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
at com.magicento.extensions.MagicentoXmlCompletionContributor.fillCompletionVariants(MagicentoXmlCompletionContributor.java:235)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:110)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:103)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:90)
at com.intellij.codeInsight.completion.XmlNoVariantsDelegator.fillCompletionVariants(XmlNoVariantsDelegator.java:26)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:114)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1$1.run(CodeCompletionHandlerBase.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:918)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1.run(CodeCompletionHandlerBase.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2.run(CodeCompletionHandlerBase.java:344)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)

com.intellij.psi.PsiInvalidElementAccessException: Element: class com.intellij.psi.impl.source.xml.XmlTagImpl
at com.intellij.psi.impl.source.tree.CompositePsiElement.getProject(CompositePsiElement.java:295)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getSubTags(XmlTagImpl.java:638)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findSubTags(XmlTagImpl.java:660)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findSubTags(XmlTagImpl.java:655)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findFirstSubTag(XmlTagImpl.java:674)
at com.magicento.models.xml.MagentoXmlTag.filterDuplicatedNames(MagentoXmlTag.java:157)
at com.magicento.models.xml.MagentoXmlTag.getPossibleDefinitions(MagentoXmlTag.java:129)
at com.magicento.extensions.MagicentoXmlCompletionContributor$2.addCompletions(MagicentoXmlCompletionContributor.java:170)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
at com.magicento.extensions.MagicentoXmlCompletionContributor.fillCompletionVariants(MagicentoXmlCompletionContributor.java:235)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:110)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:103)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:90)
at com.intellij.codeInsight.completion.XmlNoVariantsDelegator.fillCompletionVariants(XmlNoVariantsDelegator.java:26)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:114)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1$1.run(CodeCompletionHandlerBase.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:918)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1.run(CodeCompletionHandlerBase.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2.run(CodeCompletionHandlerBase.java:344)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)

com.intellij.psi.PsiInvalidElementAccessException: Element: class com.intellij.psi.impl.source.xml.XmlTagImpl
at com.intellij.psi.impl.source.tree.CompositePsiElement.getProject(CompositePsiElement.java:295)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getSubTags(XmlTagImpl.java:638)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findSubTags(XmlTagImpl.java:660)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findSubTags(XmlTagImpl.java:655)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findFirstSubTag(XmlTagImpl.java:674)
at com.magicento.models.xml.MagentoXmlTag.filterDuplicatedNames(MagentoXmlTag.java:157)
at com.magicento.models.xml.MagentoXmlTag.getPossibleDefinitions(MagentoXmlTag.java:129)
at com.magicento.extensions.MagicentoXmlCompletionContributor$2.addCompletions(MagicentoXmlCompletionContributor.java:170)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
at com.magicento.extensions.MagicentoXmlCompletionContributor.fillCompletionVariants(MagicentoXmlCompletionContributor.java:235)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:110)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:103)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:90)
at com.intellij.codeInsight.completion.XmlNoVariantsDelegator.fillCompletionVariants(XmlNoVariantsDelegator.java:26)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:114)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1$1.run(CodeCompletionHandlerBase.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:918)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1.run(CodeCompletionHandlerBase.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2.run(CodeCompletionHandlerBase.java:344)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)

com.intellij.psi.PsiInvalidElementAccessException: Element: class com.intellij.psi.impl.source.xml.XmlTagImpl
at com.intellij.psi.impl.source.tree.CompositePsiElement.getProject(CompositePsiElement.java:295)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getSubTags(XmlTagImpl.java:638)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findSubTags(XmlTagImpl.java:660)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findSubTags(XmlTagImpl.java:655)
at com.intellij.psi.impl.source.xml.XmlTagImpl.findFirstSubTag(XmlTagImpl.java:674)
at com.magicento.models.xml.MagentoXmlTag.filterDuplicatedNames(MagentoXmlTag.java:157)
at com.magicento.models.xml.MagentoXmlTag.getPossibleDefinitions(MagentoXmlTag.java:129)
at com.magicento.extensions.MagicentoXmlCompletionContributor$2.addCompletions(MagicentoXmlCompletionContributor.java:170)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
at com.magicento.extensions.MagicentoXmlCompletionContributor.fillCompletionVariants(MagicentoXmlCompletionContributor.java:235)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:110)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:103)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:90)
at com.intellij.codeInsight.completion.XmlNoVariantsDelegator.fillCompletionVariants(XmlNoVariantsDelegator.java:26)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:114)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1$1.run(CodeCompletionHandlerBase.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:918)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1.run(CodeCompletionHandlerBase.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2.run(CodeCompletionHandlerBase.java:344)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)

java.lang.NullPointerException

Not sure what happened. I got this error. Didn't mention it untill JetBrains Phpstorm informed me about it.

null
java.lang.NullPointerException
at com.magicento.models.xml.MagentoXmlFactory.getInstance(MagentoXmlFactory.java:73)
at com.magicento.helpers.MagentoParser.isHandleNode(MagentoParser.java:603)
at com.magicento.extensions.MagicentoGotoDeclarationHandler.getGotoDeclarationTargets(MagicentoGotoDeclarationHandler.java:240)
at com.magicento.extensions.MagicentoGotoDeclarationHandler.getGotoDeclarationTargets(MagicentoGotoDeclarationHandler.java:48)
at com.intellij.codeInsight.navigation.actions.GotoDeclarationAction.findTargetElementsNoVS(GotoDeclarationAction.java:207)
at com.intellij.codeInsight.navigation.CtrlMouseHandler.a(CtrlMouseHandler.java:528)
at com.intellij.codeInsight.navigation.CtrlMouseHandler.access$1900(CtrlMouseHandler.java:95)
at com.intellij.codeInsight.navigation.CtrlMouseHandler$TooltipProvider.a(CtrlMouseHandler.java:759)
at com.intellij.codeInsight.navigation.CtrlMouseHandler$TooltipProvider.access$1800(CtrlMouseHandler.java:708)
at com.intellij.codeInsight.navigation.CtrlMouseHandler$TooltipProvider$1$1.run(CtrlMouseHandler.java:749)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:918)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils$3.run(ProgressIndicatorUtils.java:60)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:55)
at com.intellij.codeInsight.navigation.CtrlMouseHandler$TooltipProvider$1.run(CtrlMouseHandler.java:747)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)

Can't rewrite class

PhpStorm 6.0.1 (129.291).
Trying to rewrite class - module dropdown is empty. If I press ok button I get exception

Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.openapi.util.EdtRunnable$1@7896f5ac,notifier=null,catchExceptions=false,when=1366374118294] on apple.awt.CToolkit@52e42811
java.lang.NullPointerException
at com.magicento.ui.dialog.ChooseModuleDialog.getSelectedModulePath(ChooseModuleDialog.java:152)
at com.magicento.actions.RewriteClassAction.executeAction(RewriteClassAction.java:48)
at com.magicento.actions.MagicentoActionAbstract.actionPerformed(MagicentoActionAbstract.java:359)
at com.intellij.ui.popup.PopupFactoryImpl$ActionPopupStep$1.run(PopupFactoryImpl.java:726)
at com.intellij.ui.popup.AbstractPopup$18.run(AbstractPopup.java:1253)
at com.intellij.openapi.wm.impl.FocusManagerImpl.a(FocusManagerImpl.java:616)
at com.intellij.openapi.wm.impl.FocusManagerImpl.g(FocusManagerImpl.java:597)
at com.intellij.openapi.wm.impl.FocusManagerImpl.e(FocusManagerImpl.java:567)
at com.intellij.openapi.wm.impl.FocusManagerImpl.access$200(FocusManagerImpl.java:55)
at com.intellij.openapi.wm.impl.FocusManagerImpl$IdleRunnable.runEdt(FocusManagerImpl.java:102)
at com.intellij.openapi.util.EdtRunnable$1.run(EdtRunnable.java:28)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:708)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:669)
at java.awt.EventQueue$2.run(EventQueue.java:667)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:678)
at com.intellij.ide.IdeEventQueue.d(IdeEventQueue.java:686)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:511)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:334)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

extend recommendations at the end of the list

When I write a new Helper

class Helper extends <Cmd + Space>

I found at the end of the list, after Mage_Adminhtml_..., Zend_Db_..., Zend_Log_... the magicento recommendation Mage_Core_Helper_Abstract

This should be at the beginning :) sometimes it is. I think with controllers. Often it is not.

Broken since update 1.4

I just updated to Magicento 1.4 and now it's totally broken for me. Can't use it anymore. :-/

21:39:17 PluginException: com/magicento/MagicentoProjectComponent : Unsupported major.minor version 51.0 [Plugin: Magicento]: com/magicento/MagicentoProjectComponent : Unsupported major.minor version 51.0 [Plugin: Magicento]

21:39:28 PluginException: update failed for AnAction with ID=GotoDeclaration: com/magicento/extensions/MagicentoGotoDeclarationHandler : Unsupported major.minor version 51.0 [Plugin: Magicento]

Using JetBrains 6.0 Build PS-127.100

System: MacOS 10.8.3

NoSuchMethod when editing xml files

phpstorm 5.01

com.intellij.xml.util.XmlUtil.findSubTag(Lcom/intellij/psi/xml/XmlTag;Ljava/lang/String;)Lcom/intellij/psi/xml/XmlTag;: com.intellij.xml.util.XmlUtil.findSubTag(Lcom/intellij/psi/xml/XmlTag;Ljava/lang/String;)Lcom/intellij/psi/xml/XmlTag;
java.lang.NoSuchMethodError: com.intellij.xml.util.XmlUtil.findSubTag(Lcom/intellij/psi/xml/XmlTag;Ljava/lang/String;)Lcom/intellij/psi/xml/XmlTag;
at com.magicento.models.xml.MagentoXmlTag.getTagFromCurrentFile(MagentoXmlTag.java:232)
at com.magicento.models.xml.config.IdXmlTag.addNamesFromCurrentFile(IdXmlTag.java:94)
at com.magicento.models.xml.config.GlobalResourcesIdXmlTag.getPossibleNames(GlobalResourcesIdXmlTag.java:20)
at com.magicento.models.xml.MagentoXmlTag.getPossibleDefinitions(MagentoXmlTag.java:131)
at com.magicento.models.xml.config.IdXmlTag.getPossibleDefinitions(IdXmlTag.java:40)
at com.magicento.extensions.MagicentoXmlCompletionContributor$2.addCompletions(MagicentoXmlCompletionContributor.java:170)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
at com.magicento.extensions.MagicentoXmlCompletionContributor.fillCompletionVariants(MagicentoXmlCompletionContributor.java:235)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:110)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:103)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:90)
at com.intellij.codeInsight.completion.XmlNoVariantsDelegator.fillCompletionVariants(XmlNoVariantsDelegator.java:26)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:114)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1$1.run(CodeCompletionHandlerBase.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:918)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1.run(CodeCompletionHandlerBase.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2.run(CodeCompletionHandlerBase.java:344)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)

java.lang.NoSuchMethodError: com.intellij.xml.util.XmlUtil.findSubTag(Lcom/intellij/psi/xml/XmlTag;Ljava/lang/String;)Lcom/intellij/psi/xml/XmlTag;
at com.magicento.models.xml.MagentoXmlTag.getTagFromCurrentFile(MagentoXmlTag.java:232)
at com.magicento.models.xml.config.IdXmlTag.addNamesFromCurrentFile(IdXmlTag.java:94)
at com.magicento.models.xml.config.GlobalResourcesIdXmlTag.getPossibleNames(GlobalResourcesIdXmlTag.java:20)
at com.magicento.models.xml.MagentoXmlTag.getPossibleDefinitions(MagentoXmlTag.java:131)
at com.magicento.models.xml.config.IdXmlTag.getPossibleDefinitions(IdXmlTag.java:40)
at com.magicento.extensions.MagicentoXmlCompletionContributor$2.addCompletions(MagicentoXmlCompletionContributor.java:170)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
at com.magicento.extensions.MagicentoXmlCompletionContributor.fillCompletionVariants(MagicentoXmlCompletionContributor.java:235)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:110)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:103)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:90)
at com.intellij.codeInsight.completion.XmlNoVariantsDelegator.fillCompletionVariants(XmlNoVariantsDelegator.java:26)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:114)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1$1.run(CodeCompletionHandlerBase.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:918)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1.run(CodeCompletionHandlerBase.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2.run(CodeCompletionHandlerBase.java:344)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)

java.lang.NoSuchMethodError: com.intellij.xml.util.XmlUtil.findSubTag(Lcom/intellij/psi/xml/XmlTag;Ljava/lang/String;)Lcom/intellij/psi/xml/XmlTag;
at com.magicento.models.xml.MagentoXmlTag.getTagFromCurrentFile(MagentoXmlTag.java:232)
at com.magicento.models.xml.config.IdXmlTag.addNamesFromCurrentFile(IdXmlTag.java:94)
at com.magicento.models.xml.config.GlobalResourcesIdXmlTag.getPossibleNames(GlobalResourcesIdXmlTag.java:20)
at com.magicento.models.xml.MagentoXmlTag.getPossibleDefinitions(MagentoXmlTag.java:131)
at com.magicento.models.xml.config.IdXmlTag.getPossibleDefinitions(IdXmlTag.java:40)
at com.magicento.extensions.MagicentoXmlCompletionContributor$2.addCompletions(MagicentoXmlCompletionContributor.java:170)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
at com.magicento.extensions.MagicentoXmlCompletionContributor.fillCompletionVariants(MagicentoXmlCompletionContributor.java:235)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:110)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:103)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:90)
at com.intellij.codeInsight.completion.XmlNoVariantsDelegator.fillCompletionVariants(XmlNoVariantsDelegator.java:26)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:114)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1$1.run(CodeCompletionHandlerBase.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:918)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1.run(CodeCompletionHandlerBase.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2.run(CodeCompletionHandlerBase.java:344)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)

Add support for the 1.8/1.13 $_factory Mage factory method wrapper for

In 1.8 and 1.13 many classes may receive a factory constructor argument as follows:

public function __construct(array $args = array())
{
    $this->_factory = !empty($args['factory']) ? $args['factory'] : Mage::getSingleton('catalog/factory');
}

There are slight variations like

$this->_factory = !empty($args['core_factory']) ? $args['core_factory'] : Mage::getSingleton('core/factory');

According to the core team, the purpose of these factory instance arguments is to make it easier to mock instances during testing. Since Magento 2 implements a form of DI this will not be ported to there.

All of these factory classes implement the following wrappers for the factory methods in Mage:

    /**
     * Retrieve model object
     *
     * @param string $modelClass
     * @param array|object $arguments
     * @return bool|Mage_Core_Model_Abstract
     */
    public function getModel($modelClass = '', $arguments = array())
    {
        return Mage::getModel($modelClass, $arguments);
    }

    /**
     * Retrieve model object singleton
     *
     * @param string $modelClass
     * @param array $arguments
     * @return Mage_Core_Model_Abstract
     */
    public function getSingleton($modelClass = '', array $arguments = array())
    {
        return Mage::getSingleton($modelClass, $arguments);
    }

    /**
     * Retrieve object of resource model
     *
     * @param string $modelClass
     * @param array $arguments
     * @return Object
     */
    public function getResourceModel($modelClass, $arguments = array())
    {
        return Mage::getResourceModel($modelClass, $arguments);
    }

    /**
     * Retrieve helper instance
     *
     * @param string $helperClass
     * @return Mage_Core_Helper_Abstract
     */
    public function getHelper($helperClass)
    {
        return Mage::helper($helperClass);
    }

It would be great if you could add support for calls to $this->_factory->getModel() to be the same as to Mage::getModel() and the other factory methods respectively.

On a more personal note, it's really a shame this type of fix is added to enable easier tests, when @IvanChepurnyi already implemented injecting mocks for calls to factory methods in EcomDev_PHPUnit.
This is true also since it adds another breaking point for the new PHPStorm meta factory class map which only supports static methods.

Jump to update handle inside of layout.xml

If you are in a layout.xml and have an <update handle="something"/> I would like to be able to jump directly to "something"

And thanks for the great tool you made here for us :)

Error when opening project with uninstalled modules

This happens when I open a project with modules in a modman directory that aren't linked into Magento.

Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.openapi.util.EdtRunnable$1@11b2864,notifier=n    ull,catchExceptions=false,when=1346750614096] on apple.awt.CToolkit@2fb4b69d
java.lang.NullPointerException
at java.io.File.<init>(File.java:222)
at com.magicento.actions.SetMagePathAction.actionPerformed(SetMagePathAction.java:37)
at com.intellij.ui.popup.PopupFactoryImpl$ActionPopupStep$1.run(PopupFactoryImpl.java:619)
at com.intellij.ui.popup.AbstractPopup$17.run(AbstractPopup.java:1162)
at com.intellij.openapi.wm.impl.FocusManagerImpl.a(FocusManagerImpl.java:615)
at com.intellij.openapi.wm.impl.FocusManagerImpl.g(FocusManagerImpl.java:596)
at com.intellij.openapi.wm.impl.FocusManagerImpl.e(FocusManagerImpl.java:566)
at com.intellij.openapi.wm.impl.FocusManagerImpl.access$200(FocusManagerImpl.java:55)
at com.intellij.openapi.wm.impl.FocusManagerImpl$IdleRunnable.runEdt(FocusManagerImpl.java:102)
at com.intellij.openapi.util.EdtRunnable$1.run(EdtRunnable.java:28)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:682)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:643)
at java.awt.EventQueue$1.run(EventQueue.java:641)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:652)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:699)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:538)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:420)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:378)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Error on invocation of 'create PHPSTORMMETA namespace'

I have a new installation, as of two days ago, of PHP Storm 6.0 - build 127.1
Installed Magicento.

On invocation of 'create PHPSTORMMETA namespace', I get this in the console:

1:51:37 PM IllegalArgumentException: Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.openapi.util.EdtRunnable$1@765746ca,notifier=null,catchExceptions=false,when=1366195897678] on apple.awt.CToolkit@1babe751: Argument 1 for @NotNull parameter of com/intellij/psi/impl/PsiFileFactoryImpl.createFileFromText must not be null

XML editing crashes

I'm getting alot of crashes regardless of what I do when editing XML with Magicento enabled.

Here's a stack trace:

_Edit:_ unusable trace removed

Jump between block files and template files

When in a block class, search the layout XML files for occurrences where that class is used an offer a function to jump to the templates that use that block

The same when I am in a block -> jump to the classes

I know that can not be complete as templates can also be set programmatically but I would sure help.

Argument 1 for @NotNull parameter of ... LookupElementBuilder.create must not be null

Argument 1 for @NotNull parameter of com/intellij/codeInsight/lookup/LookupElementBuilder.create must not be null: Argument 1 for @NotNull parameter of com/intellij/codeInsight/lookup/LookupElementBuilder.create must not be null
java.lang.IllegalArgumentException: Argument 1 for @NotNull parameter of com/intellij/codeInsight/lookup/LookupElementBuilder.create must not be null
at com.intellij.codeInsight.lookup.LookupElementBuilder.create(LookupElementBuilder.java)
at com.magicento.extensions.MagicentoPhpCompletionContributor.getAutocompleteForFactory(MagicentoPhpCompletionContributor.java:329)
at com.magicento.extensions.MagicentoPhpCompletionContributor$1.addCompletions(MagicentoPhpCompletionContributor.java:79)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:154)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:84)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:115)
at com.intellij.codeInsight.completion.CompletionProgressIndicator.a(CompletionProgressIndicator.java:748)
at com.intellij.codeInsight.completion.CompletionProgressIndicator.access$900(CompletionProgressIndicator.java:85)
at com.intellij.codeInsight.completion.CompletionProgressIndicator$1CalculateItems.run(CompletionProgressIndicator.java:730)
at com.intellij.codeInsight.completion.AsyncCompletion$1$1$1.run(CompletionThreading.java:93)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:935)
at com.intellij.codeInsight.completion.AsyncCompletion$1$1.run(CompletionThreading.java:88)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:191)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:232)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:181)
at com.intellij.codeInsight.completion.AsyncCompletion$1.run(CompletionThreading.java:84)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:465)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:153)

Copy / Create / Switch template to theme folder

If the current file is something from the base like

app/design/frontend/base/default/template/persistent/checkout/onepage/billing.phtml

then there should be an option "Go to template".

When there are multiple themes or no themes: Let user choose. Let there be a input box where you can define a new theme (name). Those two things can be combined in one textarea.

When there is one theme and the file is given: Jump to it.

Currently I do CTRL+ALT+SHIFT+C to have the reference. Goto root dir of the project and make ALT+INSERT -> File, Paste the filename and turn "base/default" to "default/foo".
Back to the base file, copy content, to the new, paste, done.

Having this in ALT+M and as Option "Go to template" would be so great. Could be interesting for Block, Controller and Model too later on.

Path to Mage.php is not valid: null

Hi, after the update to 0.9 version every time I save a file appear a notify message saying "Path to Mage.php is not valid: null".

My setup: OSX 10.7.4, PhpStorm 5.0.2.

Meta defination from Mage_Core_Block_Abstract::helper

Class Mage_Core_Block_Abstract has method helper, that returns object of Mage::helper.

Example in block:

if($this->helper('wishlist')->isAllow()) {
    ...
}

When I click to "isAllow" PhpStorm takes me message:
Cannot find declaration to go to
Could you make support of this method?

New Module

When generate new module, Magicento create new project on new directory Mag, not in actual project.

NullpointerException: MagicentoPhpCompletionContributor.getAutocompleteForClassExtends

I get a NullPointerException with a brand new controller file calles AskLanguageController.php. I can't send you the first name of the controller, but after writing:

class BlubController extends <Ctrl> + <Space> it is still reporducable

Thanks for fixing.

null
java.lang.NullPointerException
    at com.magicento.helpers.MagentoParser.getClassType(MagentoParser.java:426)
    at com.magicento.helpers.MagentoParser.isBlock(MagentoParser.java:460)
    at com.magicento.extensions.MagicentoPhpCompletionContributor.getAutocompleteForClassExtends(MagicentoPhpCompletionContributor.java:542)
    at com.magicento.extensions.MagicentoPhpCompletionContributor$1.addCompletions(MagicentoPhpCompletionContributor.java:96)
    at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
    at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:156)
    at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:83)
    at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:114)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1$1.run(CodeCompletionHandlerBase.java:357)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:918)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2$1.run(CodeCompletionHandlerBase.java:348)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:181)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:221)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:172)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase$2.run(CodeCompletionHandlerBase.java:344)
    at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:457)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:148)

Error after updating to 1.4.1

I updated again when I saw there was an update for the previous issues after you updated for the new Meta stuff.

Error during dispatching of

java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.openapi.util.EdtRunnable$1@47c49dc1,notifier=null,catchExceptions=false,when=1365542136104] on sun.awt.X11.XToolkit@1e88364: Argument 1 for @NotNull parameter of com/intellij/psi/impl/PsiFileFactoryImpl.createFileFromText must not be null
java.lang.IllegalArgumentException: Argument 1 for @NotNull parameter of com/intellij/psi/impl/PsiFileFactoryImpl.createFileFromText must not be null
at com.intellij.psi.impl.PsiFileFactoryImpl.createFileFromText(PsiFileFactoryImpl.java)
at com.magicento.helpers.FileHelper$3.run(FileHelper.java:226)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1013)
at com.magicento.helpers.FileHelper.createPsiFile(FileHelper.java:199)
at com.magicento.models.PhpStormMetaNamespace.savePhpStormMetaFile(PhpStormMetaNamespace.java:60)
at com.magicento.models.PhpStormMetaNamespace.savePhpStormMetaFile(PhpStormMetaNamespace.java:80)
at com.magicento.actions.CreatePhpStormMetaNamespaceAction.executeAction(CreatePhpStormMetaNamespaceAction.java:33)
at com.magicento.actions.MagicentoActionAbstract.actionPerformed(MagicentoActionAbstract.java:359)
at com.intellij.ui.popup.PopupFactoryImpl$ActionPopupStep$1.run(PopupFactoryImpl.java:726)
at com.intellij.ui.popup.AbstractPopup$18.run(AbstractPopup.java:1253)
at com.intellij.openapi.wm.impl.FocusManagerImpl.a(FocusManagerImpl.java:616)
at com.intellij.openapi.wm.impl.FocusManagerImpl.g(FocusManagerImpl.java:597)
at com.intellij.openapi.wm.impl.FocusManagerImpl.e(FocusManagerImpl.java:567)
at com.intellij.openapi.wm.impl.FocusManagerImpl.access$200(FocusManagerImpl.java:55)
at com.intellij.openapi.wm.impl.FocusManagerImpl$IdleRunnable.runEdt(FocusManagerImpl.java:102)
at com.intellij.openapi.util.EdtRunnable$1.run(EdtRunnable.java:28)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
at com.intellij.ide.IdeEventQueue.d(IdeEventQueue.java:686)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:511)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:334)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Error: Project is null

Today I got 4 times this error
Project is null (if you think this is a bug please send the trace to [email protected])
when Im opening a none magento project. I cant say actually when/where I get this - but it accured 4 times today when I was opening a none Magento (actually they are TYPO3 projects if that can give you any clues)

The error details comes here

Project is null (if you think this is a bug please send the trace to [email protected])
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:54)
at com.magicento.helpers.IdeHelper.logError(IdeHelper.java:49)
at com.magicento.ui.forms.MagicentoSettingsForm.apply(MagicentoSettingsForm.java:159)
at com.intellij.openapi.options.newEditor.OptionsEditor.apply(OptionsEditor.java:752)
at com.intellij.openapi.options.newEditor.OptionsEditorDialog$ApplyAction.actionPerformed(OptionsEditorDialog.java:275)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:718)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:539)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:421)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:379)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.Dialog$3.run(Dialog.java:1098)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1096)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.a(DialogWrapperPeerImpl.java:744)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:740)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:426)
at com.intellij.openapi.ui.DialogWrapper.showAndGetOk(DialogWrapper.java:1423)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1408)
at com.intellij.ide.actions.ShowSettingsUtilImpl.a(ShowSettingsUtilImpl.java:58)
at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:48)
at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:63)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:260)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:892)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:114)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:226)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:100)
at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:512)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:44)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:532)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:718)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:539)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:421)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:379)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Auto completion for events should be namespace_module/observer

To allow rewrites of observers, the classname should not be absolute Namespace_Module_Model_Observer, instead is should be resolvable: namespace_module/observer

It would be awesome if magicento makes a lookup into the config/global/models node for the child. But I think for 90% of the cases it is enough to use the auto completion inside this node.

Autocomplete observer method names in config.xml in camelCase to follow coding standard

Hey,

I'm really in love with the plugin. One thing I would love to see changed though (or configurable) is the method names that are suggested for observer methods.
Currently the event codes are suggested, e.g.

        <events>
            <checkout_cart_product_add_after>
                <observers>
                    <training_quoteitemmsg>
                        <class>training_quoteitemmsg/observer</class>
                        <method>checkout_cart_product_add_after</method>
                    </training_quoteitemmsg>
                </observers>
            </checkout_cart_product_add_after>
        </events>

To be standard conform camelCase should be used, for example:

        <events>
            <checkout_cart_product_add_after>
                <observers>
                    <training_quoteitemmsg>
                        <class>training_quoteitemmsg/observer</class>
                        <method>checkoutCartProductAddAfter</method>
                    </training_quoteitemmsg>
                </observers>
            </checkout_cart_product_add_after>
        </events>

I'm aware this is also a matter of taste, but I hope you agree in this case. Thanks!

Add translate issue

If translated text contains ' symbol and quoted in the same symbol like in this string
$this->__('Click <a href="%s" onclick="this.target='_blank'">here to print</a> a copy of your order confirmation.', ...)
Translate line will be converted to:
"Click <a href=""%s"" onclick=""this.target='_blank'"">here to print</a> a copy of your order confirmation."
Instead of:
"Click <a href=""%s"" onclick=""this.target='_blank'"">here to print</a> a copy of your order confirmation."

NullPointerException when trying to use Template Path Hints

Hello, I'm using PHP Storm 6 and just installed the Magicento plugin. I have toggled and enabled the PHP Exception box in settings. Each time I try to turn on the Template Path Hints through Magicento, my event log returns the following error.

NullPointerException: Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.openapi.util.EdtRunnable$1@150c5ee,notifier=null,catchExceptions=false,when=1363969312217] on sun.awt.windows.WToolkit@d2d8c7

No path hints appear. Should I be trying to activate this only in certain file types or something? Any help would be appreciated.

Some factory methods not working

Some factory methods are not working - no type hints, no jump after ctrl+click:
e.g.
Mage::getResourceModel('catalog/product_attribute_collection');
Mage::getResourceSingleton('catalogsearch/fulltext_engine');

Mage::helper('catalogsearch')
Mage::helper('enterprise_giftcardaccount')

Unsupported major.minor version 51.0

com/magicento/MagicentoProjectComponent : Unsupported major.minor version 51.0 [Plugin: Magicento]: com/magicento/MagicentoProjectComponent : Unsupported major.minor version 51.0 [Plugin: Magicento]
com.intellij.diagnostic.PluginException: com/magicento/MagicentoProjectComponent : Unsupported major.minor version 51.0 [Plugin: Magicento]
at com.intellij.ide.plugins.cl.PluginClassLoader.b(PluginClassLoader.java:108)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:63)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:249)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.a(ComponentManagerImpl.java:445)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.a(ComponentManagerImpl.java:435)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.access$000(ComponentManagerImpl.java:421)
at com.intellij.openapi.components.impl.ComponentManagerImpl.a(ComponentManagerImpl.java:102)
at com.intellij.openapi.components.impl.ComponentManagerImpl.initComponents(ComponentManagerImpl.java:346)
at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:86)
at com.intellij.openapi.project.impl.ProjectImpl.init(ProjectImpl.java:307)
at com.intellij.openapi.project.impl.ProjectManagerImpl.a(ProjectManagerImpl.java:282)
at com.intellij.openapi.project.impl.ProjectManagerImpl.access$400(ProjectManagerImpl.java:82)
at com.intellij.openapi.project.impl.ProjectManagerImpl$10.compute(ProjectManagerImpl.java:562)
at com.intellij.openapi.project.impl.ProjectManagerImpl$10.compute(ProjectManagerImpl.java:558)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$4.run(ProgressManagerImpl.java:269)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:495)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:304)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:185)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:226)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:175)
at com.intellij.openapi.application.impl.ApplicationImpl$9$1.run(ApplicationImpl.java:676)
at com.intellij.openapi.application.impl.ApplicationImpl$7.run(ApplicationImpl.java:449)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:152)
Caused by: java.lang.UnsupportedClassVersionError: com/magicento/MagicentoProjectComponent : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at com.intellij.util.lang.UrlClassLoader._defineClass(UrlClassLoader.java:150)
at com.intellij.util.lang.UrlClassLoader.defineClass(UrlClassLoader.java:146)
at com.intellij.util.lang.UrlClassLoader._findClass(UrlClassLoader.java:122)
at com.intellij.ide.plugins.cl.PluginClassLoader.b(PluginClassLoader.java:102)
... 30 more

Rewrite Method

I love the rewrite class feature (even when trying to always use events, it is just not always possible).

What about a "Rewrite Method" action, which does first a rewrite class, and then adds a stub, for example like this:

class Foo_Module_Block_Adminhtml_Widget_Form extends Mage_Adminhtml_Block_Widget_Form {


    protected function _setFieldset($attributes, $fieldset, $exclude=array())
    {
        $parentResult = parent::_setFieldset($attributes, $fieldset, $exculde);

        return $parentResult;
    }

}

Yes, I am lazy. Sorry. :-)

Remove installer not working for data updates?

I have a Magento shop with data upgrade scripts and use the function "Remove this installer from core resource table".

I get the error
"Error: Installer was not reseted to previous version"

Mage.php seams to be functional as I can use "evaluate code in Magento" properly.

Compare Tool

Hi!

even this is not a Magento-only function it somehow might make sense to cover this with Magicento to reflect Magento fallbacks / overwriting.

In Magento we can overwrite

  • phtml files in own themes
  • class files in the app/code/local

I would be nice if there is a menu entry that allows to compare a custom file with the original version.
Also it would be interesting to do this across branches ( compare my company/theme/view.phtml with the base/default/view.phtml in another branch). This is very usefull when updating and cleaning up shops.

Alexander

Error when trying to rewrite class Mage_Eav_Model_Entity_Setup

Working with other classes but when I try to rewrite class Mage_Eav_Model_Entity_Setup I get the following Java exception :

Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.openapi.util.EdtRunnable$1@1caa9b8,notifier=null,catchExceptions=false,when=1358846342025] on sun.awt.windows.WToolkit@1b8d6f7: String index out of range: -1

Below the full error log. Thank you for your Amazing work :)

Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.openapi.util.EdtRunnable$1@1caa9b8,notifier=null,catchExceptions=false,when=1358846342025] on sun.awt.windows.WToolkit@1b8d6f7: String index out of range: -1
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1937)
at java.lang.String.substring(String.java:1904)
at com.magicento.actions.RewriteClassAction.executeAction(RewriteClassAction.java:90)
at com.magicento.actions.MagicentoActionAbstract.actionPerformed(MagicentoActionAbstract.java:359)
at com.intellij.ui.popup.PopupFactoryImpl$ActionPopupStep$1.run(PopupFactoryImpl.java:638)
at com.intellij.ui.popup.AbstractPopup$18.run(AbstractPopup.java:1219)
at com.intellij.openapi.wm.impl.FocusManagerImpl.a(FocusManagerImpl.java:616)
at com.intellij.openapi.wm.impl.FocusManagerImpl.g(FocusManagerImpl.java:597)
at com.intellij.openapi.wm.impl.FocusManagerImpl.e(FocusManagerImpl.java:567)
at com.intellij.openapi.wm.impl.FocusManagerImpl.access$200(FocusManagerImpl.java:55)
at com.intellij.openapi.wm.impl.FocusManagerImpl$IdleRunnable.runEdt(FocusManagerImpl.java:102)
at com.intellij.openapi.util.EdtRunnable$1.run(EdtRunnable.java:28)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:607)
at java.awt.EventQueue$1.run(EventQueue.java:605)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:616)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:718)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:543)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:421)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:379)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

meta definitions without meta file

Currently the factory resolution is done using the meta file - are there plans to do this via the extension points and to also detect, when classes are changed and update information automatically?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.