The angularjs-addon enables developers to automate several tasks in the construction of applications that use AngularJS, in JBoss Forge. This addon provides standalone functionality, and it can be re-used in other addons.
This Addon requires the following installation steps.
To use this addon, you must add it as a dependency in the pom.xml of your forge-addon
classified artifact:
(Make sure the dependency is put all the way to the left, and uses 3 spaces for indentation of GAV)
<dependency>
<groupId>org.jboss.forge.addon</groupId>
<artifactId>angularjs</artifactId>
<classifier>forge-addon</classifier>
<version>${version}</version>
</dependency>
-
Scaffold web-apps from JPA entities. The generated scaffold uses a thick-client based on AngularJS, and a JAX-RS RESTful backend.
Assuming JBoss Tools with Forge, or Forge-CLI is installed:
(JBT)
Ctrl+5. Run the "Install the addon from Git" command, using these coordinates: https://github.com/forge/angularjs-addon.git
(Forge-CLI)
$ addon-install-from-git --url https://github.com/forge/angularjs-addon.git
(JBT)
Ctrl+5. Run the "Project: New" command. Create a new web application, named 'hello-angular'.
(Forge-CLI)
$ project-new --named hello-angular
(JBT)
Ctrl+5. Run the "JPA: Setup" command. Defaults should be sufficient.
(Forge-CLI)
$ jpa-setup
(JBT)
Ctrl+5. Run the "JPA: New Entity" command. Create a new entity (with an auto-generated Id) named 'Customer'.
Select the newly created Customer Java source file in the navigator. Ctrl+5. Run the "JPA: New Field" command. Create a new field of type String in the Customer entity named 'fullName'.
Ctrl+5 again and re-run the same command. Create a new field of type int in the Customer entity named 'age'.
(Forge-CLI)
$ jpa-new-entity --named Customer $ jpa-new-field --named fullName $ jpa-new-field --named age --type int
(JBT)
Ctrl+5. Run the "Constraint: Setup" command. Choose the "Generic Java EE" BV provider to use.
Ctrl+5. Run the "Constraint: Add" command. Create a NotNull constraint on the fullName field.
Ctrl+5. Run the "Constraint: Add" command. Create a Min constraint on the age field, with min value of 0.
(Forge-CLI)
$ constraint-setup --providers Generic\ Java\ EE $ constraint-add --onProperty fullName --constraint NotNull $ constraint-add --onProperty age --constraint Min --value 0
(JBT)
Ctrl+5. Run the "Scaffold: Setup" command. Choose the "AngularJS" type to use.
Ctrl+5. Run the "Scaffold: Generate" command. Choose the "AngularJS" type to use. Select the Customer entity to scaffold. (I’ll rework this bit across scaffold providers when fixing FORGE-1501 and FORGE-1731).
On completion, a JAX-RS resource that can handle requests and responses of media type application/json should be created, in conjunction with the AngularJS views.
(Forge-CLI)
$ scaffold-setup --provider AngularJS $ scaffold-generate --provider AngularJS --targets org.hello.angular.model.Customer
This app can now be deployed to JBoss EAP.
We do not use GitHub issues for issue tracking. Please raise issues in the JBoss JIRA Issue tracker. The project and component is FORGEPLUGINS and AngularJS Scaffold respectively. We also track feature requests in the same space.