Download
Logo
Overview
News
Download
Motivation
Examples
Troubleshoot

Latest Version

You can use the update site

https://www.anqu-method.de/updatesite

or you can download the update site as zip file as well.

Installating from update site is done from a running Eclipse, choose Help menu > Install New Software... and Add the URL (as above) or the downloaded zip archive as update site. Browse the site and select the latest version of anqu method to be installed.

For installation from Eclipse Marketplace please drag the following image into the toolbar of your running Eclipse. If you use Eclipse Neon, please make sure you have the latest version. If drag'n'drop does not work, please use the URL of the update site directly.

Drag to your running Eclipse (e.g. toolbar) to install anqu method
Here is a video on how to install by drag'n'drop:


preview auto complete
Play or download

Please note that anqu method will not be found in the Marketplace Client started from Eclipse. However the Marketplace Client only lists open source products (anqu method is free to use only) and products of partners.

The installation process requires you to accept the licence and may also restart Eclipse.

Requirements

  • This plug-in works with Eclipse Kepler, Juno, Luna, Mars, and Neon
  • The plug-in only works in Eclipse started with Java 7 or higher. There is no restriction concerning the compiler settings in the projects!
  • The plug-in only works with projects with Java nature (org.eclipse.jdt.core.javanature)
  • The generated test code is based on JUnit 4 (junit.org) and Mockito (mockito.org). These dependencies have to be in the project's classpath.

Change Log

  • 2020-10-04 16:53:
    • Experimental MockUtility with capture support
  • 2019-02-24 12:00:
    • Fix: Static members remove from code completion proposals
    • Fix: Compile errors in source file do not stop code completion anymore
  • 2018-01-05 21:59:
    • Feature: Removing the generated code - keeping the query
  • 2017-12-09 09:33:
    • Feature: Auto complete proposals for fields
    • Feature: count/min/max create single result methods automatically
    • Feature: getCount query name always as proposal
    • Feature: Proposals for templates (select, update, delete)
  • 2017-10-29 09:10:
    • Feature: JPA 2.2 getResultStream() method generation
    • Fix: Help layout
  • 2017-10-22 14:25:
    • Repeatable annotations for JPA 2.2
  • 2017-08-20 18:24:
    • Fix: Deriving statements with field names containing underscore
    • Feature: Added removeBy+field name proposals
  • 2017-08-06 10:18:
    • Feature: Test generation added to auto completion proposal
    • Fix (kind of): Additional new line removed after @NamedQuery auto completion
  • 2017-07-24 18:51:
    • Fix: Proposal to add a @NamedQuery came way to often
  • 2017-07-23 11:22:
    • Feature: Added Auto completion for most important functionalities
    • Raised to version: 1.6
  • 2017-01-29 17:46:
    • Feature: Removing code for a @NamedNativeQuery
  • 2017-01-29 11:05:
    • Feature: Support for @NamedNativeQuery
    • Feature: Default value for fully qualified names is now off
    • Fix: AnquGenericMockUtility caused NullPointer mocking TypedQuery
    • Fix: Illegal import statement generated on arrays as result
    • Fix: Superflouos empty line in generated test code after comment
  • 2017-01-13 21:03:
    • Feature: New query now always in new line
  • 2016-08-28 15:39:
    • Fix: Removed empty line when there are no suppressions
  • 2016-08-03 19:32:
    • Fix: Deriving queries with multiple sort criteria and last order descending corrected
  • 2016-06-17 21:09:
    • Feature: DeltaSpike support
  • 2016-05-27 20:32:
    • Feature: Removing queries and corresponding code
  • 2016-03-28 19:51:
    • Feature: Mock Utility generation
  • 2016-03-19 13:22:
    • Raised version to 1.4
    • Feature: Deriving statements from query names
    • Feature: Single result sets fetch size to 1 becoming 'first result' semantics. Thanks to @laugentier for the suggestion.
  • 2016-03-05 17:02:
    • Feature: Java-Query crosscheck in tests
    • Feature: Spring Data JPA generation support
    • Fix: Type resolution with inheritance
    • Web: Makeover
  • 2015-12-24 09:46:
    • Raised version to 1.3
    • Feature: Injection by reflection can replace auxiliary method in tests
    • Feature: Suppression of warnings configurable
    • Feature: Help buttons on preference page
    • Fix: Pattern of test class name was wrong
    • Clean up: Preference page, context menu
  • 2015-10-12 18:34:
    • Feature: Insertion position configuration
    • Feature: Cursor position for New Named Query
    • Fix: NullPointer trying New Named Query in enum class
  • 2015-07-25 14:44:
    • Feature: Alphabetical or by appearance parameter order
    • Fix: Removed warnings when analyzing classes in known packages
    • Fix: Typos program and web, screenshots web
  • 2015-05-20 21:20:
    • Fix: Redundant error dialog in some cases if no query is selected
  • 2015-05-05 20:50:
    • Fix: Unability to analyse collection-like classes stopped method generation
  • 2015-04-26 22:18:
    • Feature: Adding @NamedQuery skeleton via context menu
  • 2015-04-26 14:09:
    • Fix: Recognition of fully qualified @javax.persistence.NamedQuery
  • 2015-04-23 18:55:
    • Fix: Parameter type resolution is now case-insensitive
  • 2015-04-22 19:21:
    • Fix: UPDATE without declared variable supported now
  • 2015-04-20 19:32:
    • Fix: Test class generation for Maven style projects (nested source folders)
    • Fix: No import generation for classes from default package
  • 2015-04-03 13:55:
    • Fix: Test generation for simplified Hibernate queries starting with from (inofficially supported)
  • 2015-03-29 22:23:
    • Web: Added first examples
  • 2015-03-29 11:03:
    • Fix: Preference page, EntityManager parameter name always enabled now
    • Fix: Double occurrence of word Extended in the menu
  • 2015-03-21 10:46:
    • Fix: Mocking final and enum classes in generated tests now without test runtime errors
  • 2015-03-20 21:20:
    • Fix: Enum mocking works if there is at least one enum value
  • 2015-03-01 19:45:
    • Fix: Test file generation in default package
    • Updated help
    • Version is now 1.1.0, marking plug-in stable!
  • 2015-02-22 18:46:
    • Fix: Removed generated imports of primitive types
    • Feature: Generating test file instead of clipboard
  • 2015-02-21 19:55:
    • Feature: Optionally generate firstResult and maxResults as method parameters
  • 2015-02-21 12:18:
    • Fix: Wrong generation of wrapper type values
    • Feature: Parameter and result type recognition in JOIN
  • 2015-02-20 22:33:
    • Fix: Mocking arrays corrected
    • Fix: Mocking short and char in test methods
  • 2015-02-13 13:15:
    • Feature: Added type recognition for MEMBER OF, arrays and parameterized types (limited)
  • 2015-02-11 19:49:
    • Fix: Type recognition in UPDATE
  • 2015-02-11 18:58:
    • Feature: Added type recognition for LIKE, CONCAT, SUBSTRING, TRIM, LENGTH, ABS, SQRT, MOD
  • 2015-02-10 14:22:
    • Fix: AS keyword in SELECT works now
    • Feature: Added type recognition for BETWEEN
  • 2015-02-09 11:36:
    • Fix: Removed unnecessary suppress warning on potential null in test code
    • Feature: Added parameter type recognition for IN expression (WHERE x IN ...)
  • 2015-02-08 18:10:
    • Fix: Fully qualified name recognition in deep class hierarchies
    • Feature: Constant-style query names are converted to normal method names
    • Feature: Added icon in menu
  • 2015-02-06 16:55:
    • Fix: Missing first letter problem in package names
  • 2015-02-05 20:36:
    • Fix: Handling cyclic class dependencies while searching for types
  • 2015-02-05 18:38:
    • Fix: Multiple parameters are recognized again
    • Fix: Commands for test generation to clipboard
  • 2015-02-01 20:55:
    • Fix: Simple names and mocking temporal parameters
    • Feature: Added parameter type recognition in subqueries
  • 2015-02-01 20:04:
    • Feature: Option for simple class names instead of fully qualified names

Slides of the JavaLand 2016 talk

The slides as PDF are here.

Tutorial Videos

A growing number of tutorial videos can be found in the examples section.

Articles

The JAXenter website published a German article about anqu method as well as its English version.

Inofficial Intended Licence

The legal stuff is verbose. To speed up your decision taking here is a short inofficial and non-binding description of the main points. If you do not want to comply to those rules, you may not use anqu method. If you still want to use it, you have to read the official licence text of course!
  • Use and share anqu method for free at own risk
  • Do not decompile, change or sell it

Official Licence

Definitions

In the following Mario Vöhl is referred to as author/the author and the plug-in "anqu method" with all its content is referred to as product/the product.

Granted Rights

  • You are granted the non-exclusive, limited license to use the product at own risk given that you agree to this licence completely.
  • You may share this product in binary form with anyone who himself/herself agrees to this licence completely.
By using this product you agree to these terms.

Restrictions and Limitations

  • You are not allowed to sell this product or use it as a part of another product you sell.
  • You are not allowed to modify, decompile, or reverse engineer the product.
  • You may not bring the product to any jurisdiction where the author may not enforce his rights under this agreements in.
  • To the extent permitted under law, the product is provided under an AS-IS basis. The author shall never, and without any limit, be liable for any damage, cost, expense or any other payment incurred by you as a result of the products actions, failure, bugs and/or any other interaction between the product and your end-equipment, computers, other software or any 3rd party, end-equipment, computer or services. Moreover, the author shall never be liable for any defect in source code written by you when relying on the product.
  • The product is provided without any warranty; The author hereby disclaims any warranty that the product shall be error free, without defects or code which may cause damage to your computers or to you, and that the product shall be functional. You shall be solely liable to any damage, defect or loss incurred as a result of operating software and undertake the risks contained in running the product on your server[s] and website[s].
  • You hereby agree not to initiate class-action lawsuits against the author in relation to this license and to compensate the author for any legal fees, cost or attorney fees should any claim brought by you against the author be denied, in part or in full.

Disclaimer

Concerning the re-distributed parts covered by the Eclipse Public Licence (Version 1.0), though this plug-in is not a contribution to any of them:
  • I disclaim on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose.
  • I exclude on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits.

Termination

The Term of this license shall be until terminated.You can terminate the agreement any time by destroying all copies you made of the product. This agreement will terminate immediately if you fail to comply with any provision of this agreement. Upon termination, you must destroy all copies of the product.

Third Party Licences

This product contains EclipseLink. See eclipse.org for further information. To comply their terms, here is their license text, which only holds for the parts from the EclipseLink distribution as part of this plug-in (not for the plug-in code itself):

Eclipse Distribution License - v 1.0

Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the Eclipse Foundation, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.



top