Code Monkey home page Code Monkey logo

msopentech-tools-for-intellij's Introduction

MS Open Tech Tools: IntelliJ and Android Studio Plugin for Microsoft Services (DEPRECATED)

⚠️ NOTE This project has been deprecated in favor of the newer plugin versions released by Microsoft, which are equivalent in functionality, but split across 2 separate plugins:

If you are a user of this older combined plugin, it is recommended to uninstall it, then install one or two of the other plugins, depending on your needs.

Issues logged in this project will no longer be addresseed.

The GitHub repo for the Azure Toolkit for IntelliJ is: https://github.com/microsoft/azure-tools-for-java

Original readme:

Plugin for easy and fast development to enable developers of Android Apps to connect to Office 365 services and Azure Mobile Services, and developers of Java middleware to connect to Azure compute services.

For Android app developers, this plugin provides a highly productive integrated development environment within IntelliJ IDEA and Android Studio, which they can use to integrate Android apps with Office 365 and Azure Mobile Services. For middleware Java developers, the plugin provides an integrated environment to access Microsoft Azure compute services. (Access to Office 365 data and services is coming soon.)

At minimum you’ll need to install the following:

Prerequisites

  • Install the IntelliJ IDEA or Android Studio.
  • Android SDK - http://developer.android.com/sdk/index.html minimum version is Android 2.3 / API 9.
  • Install the Java JDK (For changing the plugin you need JDK 1.6. For creating android apps using the latest from http://www.oracle.com/technetwork/java/javase/downloads/index.html is sufficient
  • For windows OS you may need to manually install the appropriate Open SSL version to your local machine (for example C:\OpenSSL-Win64) and add that location in the system environment variable PATH(add “C:\OpenSSL-Win64\bin”).

Azure Notes

Other Dependencies:

  1. ProjectManagerLibrary.jar from Utils/ProjectManagerLibrary/jar
  2. AzureCommons.jar from Utils/AzureCommons/jar - might need to build
  3. .cspack.jar from StarterKit/CSPackAntTask/jar
  4. azure-core-0.7.0.jar from PluginsAndFeatures\AddLibrary\AzureLibraries\com.microsoftopentechnologies.windowsazure.tools.sdk and all jars from 'dependencies' folder

Also, need to add antIntegration.jar from <IDEA_INSTALLATION>/plugins/ant/lib to SDK classpath.

msopentech-tools-for-intellij's People

Contributors

akrakovsky avatar avranju avatar beatriceoltean avatar donglover avatar krako-lagash avatar lenala avatar leotilli avatar mauro2 avatar pablozaiden avatar pednekarprajakta avatar

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

Watchers

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

msopentech-tools-for-intellij's Issues

Sign in error using A/D Authentication

Able to do the activities (restart, shut down, start) when add the subscription using the publish setting file, but not able to do the activities while sign in the subscription.Sign in using A/D Authentication is not working fine.
PFB the screen shot.
signinerrorissue3

Azure service management calls fail if underlying AD access token has expired

When we use AD sign-in for managing Azure subscriptions the plugin uses cached copies of AD access tokens to authenticate calls to the Azure service management API. Sometimes, like when you haven't run the IDE for a day or two, the cached AD access token expires. In this case, during the next launch, the service explorer tool window pops up an error such as this:

image

The Azure API returns HTTP status code 400 (bad request) instead of 401 (unauthorized). We should perhaps handle status code 400 as though it were a 401 and attempt acquiring fresh tokens via the refresh token. Or at the very least, handle this error and pop up a more user friendly error message that suggests the user to try clearing out the subscription in the manage subscriptions window and try signing in again.

Enhancements to Mobile Services Wizard

  • If you are to create a new mobile service through the “Add Microsoft Service Wizard”, it is defaulted to a javascript backend and the button looks like it gets stuck – there is no progress bar or a “your service is being created” note till the creation window magically disappears, in which case the service is assumed to be successfully created. Users should be informed of the progress.
  • Even if users enable push in the wizard, users have to manually enable enhanced push in the portal as of now. This process should be automated.
  • Users need to manually enter the linked mobile service’s connection string and notification hub name. This process should be automated following the above item.
  • (nice-to-have) Signing in to Azure account upon adding a Microsoft Mobile Services Activity prompts another sign in page with Visual Studio (I don’t know if it is possible for us to combine the log in?)

Mobile Services Wizard does not catch faulty passwords

I created a new mobile service with the creation wizard with an existing database but entered the wrong password. The wizard does not prompt the error, proceeds on with the service creation, and simply doesn’t configure a database which leaves the service “unhealthy” in the portal. It took a while for me to figure out what was wrong since there weren't any proper error messages.
screen shot 2015-01-05 at 11 19 14 am

Manage Subscriptions window Issue

In story board we have the button Name as "Manage Subscriptions" where as in the plugin the button name is "manage Subscription".
In story board we have "Filter By Subscription" where as in plugin it is "Subscriptions".
PFB the screen shot.

pluginui
storyboardui

O365 activity -> remove validation for reply url while adding app

User can add either web application or native application as per the screenshot1 and currently create app restricts native client application and the url field will not be https:// as per the below screenshot2 So removing validation would enable both web & native client application

_Screenshot1_

image

_Screenshot2_

image

Validation to be added for comparing the Password and Confirmation Password Fields

Repro:

  1. Set the Valid Password value as Abcd@123 on Create Mobile Service Screen
  2. Set the Confirmation Password as Abc
  3. Click on Create Button

Actual:
It prompts the error message as below
image

Expected:
Validation to be added for comparing the Password and Confirmation Password Fields if it is not match, then it should prompts the message as shown below
image

Error when starting the IDE or opening projects

The plugin just installed (version 0.1.19).
version of the IDE: Idea 14.0.1 (build #IU-139.225)

Image
java.lang.Exception
at com.microsoftopentechnologies.intellij.helpers.AndroidStudioHelper.newActivityTemplateManager(AndroidStudioHelper.java:97)
at com.microsoftopentechnologies.intellij.components.AzureServiceComponent.initComponent(AzureServiceComponent.java:83)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter$1.getComponentInstance(ComponentManagerImpl.java:563)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:605)
at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:236)
at com.intellij.util.pico.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:223)
at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:210)
at org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer.getComponentInstance(AbstractDelegatingMutablePicoContainer.java:75)
at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponent(ComponentManagerImpl.java:124)
at com.intellij.openapi.components.impl.ComponentManagerImpl.a(ComponentManagerImpl.java:115)
at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:86)
at com.intellij.openapi.project.impl.ProjectImpl.init(ProjectImpl.java:297)
at com.intellij.openapi.project.impl.ProjectManagerImpl.a(ProjectManagerImpl.java:300)
at com.intellij.openapi.project.impl.ProjectManagerImpl.access$700(ProjectManagerImpl.java:86)
at com.intellij.openapi.project.impl.ProjectManagerImpl$6.run(ProjectManagerImpl.java:379)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.a(ProgressManagerImpl.java:281)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:233)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeNonCancelableSection(ProgressManagerImpl.java:147)
at com.intellij.openapi.project.impl.ProjectManagerImpl.getDefaultProject(ProjectManagerImpl.java:374)
at com.intellij.openapi.project.DefaultProjectFactoryImpl.getDefaultProject(DefaultProjectFactoryImpl.java:24)
at org.jetbrains.java.decompiler.IdeaDecompiler.(IdeaDecompiler.java:83)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:193)
at org.picocontainer.defaults.ConstructorInjectionComponentAdapter$1.run(ConstructorInjectionComponentAdapter.java:220)
at org.picocontainer.defaults.ThreadLocalCyclicDependencyGuard.observe(ThreadLocalCyclicDependencyGuard.java:53)
at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getComponentInstance(ConstructorInjectionComponentAdapter.java:248)
at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:60)
at org.picocontainer.defaults.CachingComponentAdapter.getComponentInstance(CachingComponentAdapter.java:58)
at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getComponentInstance(ExtensionComponentAdapter.java:75)
at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getExtension(ExtensionComponentAdapter.java:122)
at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapters(ExtensionPointImpl.java:246)
at com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensions(ExtensionPointImpl.java:195)
at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:110)
at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:96)
at com.intellij.openapi.extensions.ExtensionPointName.getExtensions(ExtensionPointName.java:49)
at com.intellij.psi.impl.compiled.ClassFileStubBuilder.getStubVersion(ClassFileStubBuilder.java:105)
at com.intellij.psi.stubs.CumulativeStubVersion.getCumulativeVersion(CumulativeStubVersion.java:46)
at com.intellij.psi.stubs.StubUpdatingIndex.getVersion(StubUpdatingIndex.java:201)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:373)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:283)
at com.intellij.util.indexing.FileBasedIndexImpl.initComponent(FileBasedIndexImpl.java:352)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter$1.getComponentInstance(ComponentManagerImpl.java:563)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:605)
at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:236)
at com.intellij.util.pico.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:223)
at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:210)
at org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer.getComponentInstance(AbstractDelegatingMutablePicoContainer.java:75)
at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponent(ComponentManagerImpl.java:124)
at com.intellij.openapi.application.impl.ApplicationImpl.createComponent(ApplicationImpl.java:357)
at com.intellij.openapi.components.impl.ComponentManagerImpl.a(ComponentManagerImpl.java:115)
at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:86)
at com.intellij.openapi.components.impl.stores.ApplicationStoreImpl.load(ApplicationStoreImpl.java:110)
at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:510)
at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:492)
at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:158)
at com.intellij.idea.MainImpl$1$1$1.run(MainImpl.java:66)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:364)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Office 365 related errors are too generic

If the OrgID does not have access to an Office365 service selected in the O365 activity template
The user gets the following error:
officeerrornopriviledges

We should detect the Azure Office365 ones and return a more usable error message. In this case ""Insufficient privileges to complete the operation"

Plugin error when Android studio version gets updated to newer version

When user updates AS from 0.8.14 -> 0.9.3 (canary channel) it complained about the “unexpected” plugin and forces user to delete it – screenshot below.

This was a change in 0.8.14, when they forced user to move the SDK out of the AS folder. The patch process now validates that the contents of the AS folder haven’t changed since the last update. See these release notes, particularly this:

image

Same scenario applies for 0.8.9 to 0.8.10

@selvamohandoss,@bharathrajvm, have you guys noticed this ??

Need Validation for the Hub Name Field on whether it is available on Subscription in the Add Microsoft Service Wizard

Environment : Intellij 14
Repro

  1. Set Valid Values on SenderID,ConnectionString
  2. Set Hub name Values as testhubns123 (It is valid value but it is not available on subscription).
  3. Click on Next and it is shows the Summary message as below
    image

Actual: Currently it does not handle validation for the availability of the hub on subscription.

Expected : Even though if the user enter values on Add Microsoft Service Wizard,On Click on Next,it should handle the validation for hub name value whether it is available on subscription.

Gradle build errors post plugin upgrade - issues with activity templates

Problem Description:

When user updates the plugin version the activity templates is not getting cleaned up and updated to the latest version which causes gradle build errors when user adds an activity to the app. Underlying the proposed change from @avranju here.

Proposed Change:

Currently, when the plugin is upgraded and the upgrade involves a change to the activity templates, those changes are not reflected post upgrade which causes various unpredictable issues. Here’s one possible way we can handle this:

  • Add a version string to a file inside the root templates activity folder (let’s say version.info). As a side note please rename the root folder from “MobileServiceTemplate” to “ActivityTemplates”. Also, we have a “fileList.txt” file containing a list of files in the activity template. Can we not programmatically build this list at runtime?
  • In MSOpenTechTools.java, load the current activity templates version.
  • Check if PropertiesComponent has an entry for a key called "com.microsoftopentechnologies. intellij.ActivityTemplatesVersion”.
  • If a value does not exist or if the value is not equal to the current activity templates version then delete the templates folders. Subsequently, after the template files are copied over successfully, save the current activity templates version in PropertiesComponent.
  • As part of the daily build process, we’ll compute an SHA hash of the contents of the activity templates folder and record it into version.info.This way we don’t need to remember to manually update the version file every time we modify the templates.

Import Publish Settings Options throws Exception

Environment : Intellij14,Android 0.8.14

Steps:

  1. In Manage Subscriptions Window click on 'Add Subscription' .
  2. Select 'import' Option
  3. Browse the Subscription file (select the valid public settings file).
  4. Click 'ok'.
  5. Click 'import'.

Actual
It prompts the error message 'Cannot run program "C:\Program" (in directory "C:\Users\Android\AppData\Local\Temp\2\tempAzureCert"): CreateProcess error=2, The system cannot find the file specified'.

PFB the screen shot.
publicsetting

The above file is present in specified location.
PFB the screen shot.

path

Mobile service libraries and helper classes are adding to the previously created project instead of adding to the newly created project

Environment : Intellij 14,Android 0.8.14
Repro Steps:

  1. Create new Project (File ->New Project ->Gradle Android App->Set the application name-MyApplication1 )

  2. Add Azure Mobile Service and Notification Hub to the Project -MyApplication7

  3. It shows the summary screen as below
    image

  4. Keep this project as open in intellij /android studio

  5. Create new Project (File ->New Project ->Gradle Android App->Set the application name-MyApplication8 )

  6. Add Azure Mobile Service and Notification Hub to the Project -MyApplication8

  7. It shows the summary screen as below and helper classes and services libraries are not added to the project MyApplication8
    image

Expected Result :Helper Classes and Mobile Service libraries should added to the created project

Gradle Build error due to duplicate mobile services jar file

Environment: Mac/IntelliJ14

Frequency of Repro : Intermittent

  • Create new project
  • Enable MobileServices and notification hubs
  • Sign
  • Choose mobile service
  • Set the notification details
  • Click finish
  • Gradle build error on duplicate mobile services jar.

screen shot 2014-11-14 at 4 19 06 pm

Mobile Services Creation Wizard Progress of Creation

If you are to create a new mobile service through the “Add Microsoft Service Wizard”, it is defaulted to a javascript backend and the button looks like it gets stuck – there is no progress bar or a “your service is being created” note till the creation window magically disappears, in which case the service is assumed to be successfully created.

Services Explorer root node should be set to azure

We need following changes to the current services explorer menu. Layering @avranju's proposed design here.

Services Explorer

Azure

+-+ Mobile Services
|
+-+ Virtual Machines
|
+-+ Cloud Services

Office 365

+-+ Exchange
|
+-+ Files

Bing Services

+-+ Maps
|
+-+ Search

Use Gradle dependencies for Azure Services

Whenever Mobile Services and Notification Hubs SDKs get published as Gradle dependencies, we could start adding them through the built in template functionality, and remove the forced Gradle Sync from the end of the wizard, as in PR #10

Plugin upgrade scenario - error while adding activity templates

Environment: Mac/Andriod0.8.14

  • Upgrade plugin to latest version
  • Create new project and try to add either azure mobile services/O365 activity to the app.
  • gradle build fails with the following error.
  • If I clean and rebuild then gradle build would succeed. However if i add another mobile service or O365 activity i will get the same error.

P.S : Please note that this error is only happening in andriod studio and not in in intellij. In intellij i got dex exception for which the workaround that i mentioned in the previous issue ( clean and rebuild the project) would work.

image

and the error log for the above exception is as follows.


Wrong line separators: '...1307770d46\r\npackage ...' at offset 38: Wrong line separators: '...1307770d46\r\npackage ...' at offset 38
java.lang.AssertionError: Wrong line separators: '...1307770d46\r\npackage ...' at offset 38
    at com.intellij.openapi.diagnostic.DefaultLogger.error(DefaultLogger.java:66)
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:113)
    at com.intellij.openapi.util.text.StringUtil.assertValidSeparators(StringUtil.java:2209)
    at com.intellij.openapi.editor.impl.DocumentImpl.assertValidSeparators(DocumentImpl.java:624)
    at com.intellij.openapi.editor.impl.DocumentImpl.<init>(DocumentImpl.java:124)
    at com.intellij.openapi.editor.impl.DocumentImpl.<init>(DocumentImpl.java:119)
    at com.intellij.openapi.editor.impl.DocumentImpl.<init>(DocumentImpl.java:111)
    at com.intellij.psi.formatter.FormattingDocumentModelImpl.createOn(FormattingDocumentModelImpl.java:73)
    at com.intellij.lang.java.JavaFormattingModelBuilder.createModel(JavaFormattingModelBuilder.java:58)
    at com.intellij.formatting.CoreFormatterUtil.buildModel(CoreFormatterUtil.java:48)
    at com.intellij.psi.impl.source.codeStyle.CodeFormatterFacade.doProcessRange(CodeFormatterFacade.java:128)
    at com.intellij.psi.impl.source.codeStyle.CodeFormatterFacade.processRange(CodeFormatterFacade.java:95)
    at com.intellij.psi.impl.source.codeStyle.CodeFormatterFacade.processElement(CodeFormatterFacade.java:91)
    at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.reformat(CodeStyleManagerImpl.java:104)
    at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.reformat(CodeStyleManagerImpl.java:91)
    at com.android.tools.idea.templates.Template.format(Template.java:951)
    at com.android.tools.idea.templates.Template.instantiate(Template.java:843)
    at com.android.tools.idea.templates.Template.access$400(Template.java:81)
    at com.android.tools.idea.templates.Template$2.startElement(Template.java:470)
    at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
    at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
    at com.android.tools.idea.templates.Template.executeRecipeFile(Template.java:457)
    at com.android.tools.idea.templates.Template.access$200(Template.java:81)
    at com.android.tools.idea.templates.Template$1.startElement(Template.java:433)
    at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
    at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
    at com.android.tools.idea.templates.Template.processFile(Template.java:403)
    at com.android.tools.idea.templates.Template.render(Template.java:258)
    at com.android.tools.idea.wizard.AddAndroidActivityPath.performFinishingActions(AddAndroidActivityPath.java:390)
    at com.android.tools.idea.wizard.DynamicWizard$WizardCompletionAction.run(DynamicWizard.java:581)
    at com.intellij.openapi.application.RunResult.run(RunResult.java:38)
    at com.intellij.openapi.command.WriteCommandAction$2$1.run(WriteCommandAction.java:118)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:984)
    at com.intellij.openapi.command.WriteCommandAction$2.run(WriteCommandAction.java:115)
    at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:124)
    at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:99)
    at com.intellij.openapi.command.WriteCommandAction.performWriteCommandAction(WriteCommandAction.java:112)
    at com.intellij.openapi.command.WriteCommandAction.access$000(WriteCommandAction.java:33)
    at com.intellij.openapi.command.WriteCommandAction$1.run(WriteCommandAction.java:80)
    at com.intellij.openapi.command.WriteCommandAction.execute(WriteCommandAction.java:85)
    at com.android.tools.idea.wizard.DynamicWizard.doFinishAction(DynamicWizard.java:395)
    at com.android.tools.idea.wizard.DialogWrapperHost$FinishAction.doAction(DialogWrapperHost.java:305)
    at com.intellij.openapi.ui.DialogWrapper$DialogWrapperAction.actionPerformed(DialogWrapper.java:1719)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
    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:6414)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
    at java.awt.Component.processEvent(Component.java:6179)
    at java.awt.Container.processEvent(Container.java:2084)
    at java.awt.Component.dispatchEventImpl(Component.java:4776)
    at java.awt.Container.dispatchEventImpl(Container.java:2142)
    at java.awt.Component.dispatchEvent(Component.java:4604)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4279)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4209)
    at java.awt.Container.dispatchEventImpl(Container.java:2128)
    at java.awt.Window.dispatchEventImpl(Window.java:2492)
    at java.awt.Component.dispatchEvent(Component.java:4604)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:717)
    at java.awt.EventQueue.access$400(EventQueue.java:82)
    at java.awt.EventQueue$2.run(EventQueue.java:676)
    at java.awt.EventQueue$2.run(EventQueue.java:674)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:690)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:687)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:697)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:520)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:335)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:205)
    at java.awt.Dialog$1.run(Dialog.java:1049)
    at java.awt.Dialog$3.run(Dialog.java:1101)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Dialog.show(Dialog.java:1099)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:787)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:463)
    at com.intellij.openapi.ui.DialogWrapper.showAndGetOk(DialogWrapper.java:1557)
    at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1524)
    at com.android.tools.idea.wizard.DynamicWizard.show(DynamicWizard.java:423)
    at com.android.tools.idea.actions.NewAndroidComponentAction.actionPerformed(NewAndroidComponentAction.java:108)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:164)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:266)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:926)
    at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:124)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:236)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:105)
    at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(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:6414)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
    at java.awt.Component.processEvent(Component.java:6179)
    at java.awt.Container.processEvent(Container.java:2084)
    at java.awt.Component.dispatchEventImpl(Component.java:4776)
    at java.awt.Container.dispatchEventImpl(Container.java:2142)
    at java.awt.Component.dispatchEvent(Component.java:4604)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4279)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4209)
    at java.awt.Container.dispatchEventImpl(Container.java:2128)
    at java.awt.Window.dispatchEventImpl(Window.java:2492)
    at java.awt.Component.dispatchEvent(Component.java:4604)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:717)
    at java.awt.EventQueue.access$400(EventQueue.java:82)
    at java.awt.EventQueue$2.run(EventQueue.java:676)
    at java.awt.EventQueue$2.run(EventQueue.java:674)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:690)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:687)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:697)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:520)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:335)
    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)
Caused by: java.lang.Throwable
    ... 150 more


Manage VM activities different in story board and different in plug in

In Android Storyboard we had the following VM Management Options.
Refresh
Delete
Connect Remote Desktop
Shutdown
Restart
Configure
Enable Debugging

But in the Build Plugin we are getting the following VM Management Options.
    Delete
    Download RDP file
    Shutdown
    Start
    Restart
    Refresh

Gradle build failure- dex exception occurs during create new project for the first time

Environment: Mac/IntelliJ14

Occurence: When user creates new project for the first time.

Workaround for this issue: Do a clean build and rebuild. Compilation would complete successfully.

  • User creates new project
  • Chooses Azure services activity
  • Checks Azure Services & NotificationHub
  • Sign in
  • Chooses Mobile service and add notification details
  • Click finish
  • Gradle build failure with dex exception with the following error log

Error:Gradle: Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    /Users/babu/Downloads/android-sdk-macosx/build-tools/21.0.2/dx --dex --output /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/dex/debug /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/classes/debug /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/dependency-cache/debug /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/pre-dexed/debug/gson-2.2.2-5dc0900c661a3afeb26973db85db53c4967226c2.jar /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/pre-dexed/debug/mobileservices-1.1.5-4b45447ca16e3137c80c4c014e3957838d920370.jar /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/pre-dexed/debug/mobileservices-1.1.5-javadoc-fcd5df42ad5d21f1548a356613dab9b8324e0388.jar /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/pre-dexed/debug/mobileservices-1.1.5-sources-0de83007c6c7876edf5c5bc807a22f122329ceca.jar /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/pre-dexed/debug/notification-hubs-0.3-javadoc-fe850bcc494ad5d2f82478fbf9c1be34606627c8.jar /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/pre-dexed/debug/notification-hubs-0.4-bdf437288819c7e6db5f266f274ace15e34286c1.jar /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/pre-dexed/debug/notification-hubs-0.4-sources-bb497eb68fcca520cae851e436642ff6e8aa98ef.jar /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/pre-dexed/debug/notifications-1.0.1-cb93cb467835c1ccd3a743873216db163ee3f3c1.jar /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/pre-dexed/debug/notifications-1.0.1-javadoc-a59621b5da0d0f23bbe831ad4ee70ea6626448b9.jar /Users/babu/IdeaProjects/AppTest5/app/build/intermediates/pre-dexed/debug/notifications-1.0.1-sources-fc1fdbf305953c3454250f6c79c5f58cbd2567b6.jar
  Error Code:
    2
  Output:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexException: Multiple dex files define Lcom/microsoft/windowsazure/messaging/NotificationHub$1;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:302)
        at com.android.dx.command.dexer.Main.run(Main.java:245)
        at com.android.dx.command.dexer.Main.main(Main.java:214)
        at com.android.dx.command.Main.main(Main.java:106)

Plugin Clears off all the service if the 'manage subscriptions' window is Canceled or Closed

IDE: Android Studio(0.8.9)
Steps:

Plugin clears all the service if the Manage Subscription window is canceled or Closed.
Steps:

  1. Use sign in or import option to add the Azure Subscription to import all the service.

image

  1. Once all the service have been listed click on the manage subscription option and close the Manage subscription by clicking on the Cancel button.

image

  1. The mobile service listed by the previous importing will clear off.

Helper class methods are added into Azure Service activity class if the user cancels the Add Options

Environment : Intellij14
Repo

  1. Create Azure Service Activity by selecting the option Azure Mobile service and Notification Hub.
  2. Click on Finish
  3. It loads Add Mobile Service Wizard
  4. Select any of the available Mobile Service
  5. Click on Next and Set the Valid Values on SenderID,Connection String,Hub name.
  6. Click on Cancel

Actual
Windows Azure Mobile Service Client libraries are not added into the project .But it adds the Client instantiate code on Azure Service Activity Class
MobileServiceClient mobileServiceClient = MobileService.getInstance(this);

Expected If the User clicks on Cancel Button on Add Microsoft Service Wizard,it should not add helper class code on AzureService Activity Class

Gradle build fails due to null pointer exception

Environment: Mac/ Intellij14

  • Create New Project and choose Azure services activity as mentioned in below screenshot

screen shot 2014-11-14 at 3 56 30 pm

  • Enable Mobile Services and notification hub
  • Do a sign
  • Do an OK.
  • Azure service list dialog pops up.
  • Received an error while loading the list of mobile services due to null pointer exception as mentioned in below screenshot.

screen shot 2014-11-14 at 4 00 52 pm

Error log:

Error:Gradle: Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.
/Users/babu/IdeaProjects/AppTest1/app/src/main/java/com/mstest/apptest1/app/AzureServicesActivity.java
Error:(8, 23) Gradle: error: package com.google.gson does not exist
Error:(9, 46) Gradle: error: package com.microsoftopentechnologies.intellij does not exist
Error:(10, 49) Gradle: error: package com.microsoft.windowsazure.mobileservices does not exist
Error:(11, 49) Gradle: error: package com.microsoft.windowsazure.mobileservices does not exist
Error:(12, 49) Gradle: error: package com.microsoft.windowsazure.mobileservices does not exist
Error:(13, 49) Gradle: error: package com.microsoft.windowsazure.mobileservices does not exist
Error:(14, 49) Gradle: error: package com.microsoft.windowsazure.mobileservices does not exist
Error:(15, 49) Gradle: error: package com.microsoft.windowsazure.mobileservices does not exist
Error:(17, 46) Gradle: error: package com.microsoftopentechnologies.intellij does not exist
Error:(18, 44) Gradle: error: package com.microsoft.windowsazure.messaging does not exist
Error:(34, 13) Gradle: error: cannot find symbol class MobileServiceClient
Error:(34, 55) Gradle: error: cannot find symbol variable MobileService
Error:(37, 13) Gradle: error: cannot find symbol class MobileServiceJsonTable
Error:(38, 36) Gradle: error: cannot find symbol class MobileServiceQuery
Error:(38, 70) Gradle: error: cannot find symbol class TableJsonQueryCallback
Error:(46, 59) Gradle: error: cannot find symbol class ApiJsonOperationCallback
Error:(57, 13) Gradle: error: cannot find symbol class NotificationHub
Error:(57, 47) Gradle: error: cannot find symbol variable NotificationHubsHelper

Spelling mistake on missing OpenSSL dialog

After installing the MSOpenTech plugin in Android Studio and restarting the IDE, if you do not have an OpenSSL exe in your path, you will be prompted to select the location of the OpenSSL exe. This dialog has a spelling mistake of the word "installation".

"OpenSSL was not found. An OpenSSL instalation is required to use the Mobile Service Plugin."

instalation should be installation

Need scroll bar in services explorer

It is good to have a scroll bar in services explorer. when there are many mobile services created for a subscription, scroll bar would help easily reach the mobile services. Will update this issue with other possible areas where we would be benefitted with a scroll bar.

Error message is not proper while creating mobile service without sign in

When we clear the subscription in Manage subscription window and try to create mobile service, it is not showing proper error message and showing Exception.
Expected : It should show the error message pop up as ‘You should sign in for creating any mobile service’.
PFB the screen shot.
clearsubissue1

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.