springmvc-scaffold 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/.travis.yml +7 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +45 -0
- data/README.markdown +31 -0
- data/Rakefile +9 -0
- data/bin/springmvc +7 -0
- data/lib/springmvc-scaffold.rb +14 -0
- data/lib/springmvc-scaffold/configuration.rb +50 -0
- data/lib/springmvc-scaffold/execution.rb +20 -0
- data/lib/springmvc-scaffold/generators/app/app_generator.rb +123 -0
- data/lib/springmvc-scaffold/generators/app/dependencies.rb +26 -0
- data/lib/springmvc-scaffold/generators/app/dependency.rb +15 -0
- data/lib/springmvc-scaffold/generators/app/templates/build.gradle.erb +56 -0
- data/lib/springmvc-scaffold/generators/app/templates/models/Entity.erb +46 -0
- data/lib/springmvc-scaffold/generators/app/templates/orm/Repository-hibernate.java.tt +51 -0
- data/lib/springmvc-scaffold/generators/app/templates/orm/Repository-jpa.java.tt +49 -0
- data/lib/springmvc-scaffold/generators/app/templates/pom.erb +95 -0
- data/lib/springmvc-scaffold/generators/app/templates/resources/hibernate.properties +16 -0
- data/lib/springmvc-scaffold/generators/app/templates/resources/log4j.properties +4 -0
- data/lib/springmvc-scaffold/generators/app/templates/resources/messages.properties +0 -0
- data/lib/springmvc-scaffold/generators/app/templates/springmvc-scaffold.erb +6 -0
- data/lib/springmvc-scaffold/generators/app/templates/webapp/.bowerrc +3 -0
- data/lib/springmvc-scaffold/generators/app/templates/webapp/WEB-INF/jsp/decorators/main.jsp +15 -0
- data/lib/springmvc-scaffold/generators/app/templates/webapp/WEB-INF/jsp/prelude.jspf +4 -0
- data/lib/springmvc-scaffold/generators/app/templates/webapp/WEB-INF/sitemesh3.xml +3 -0
- data/lib/springmvc-scaffold/generators/app/templates/webapp/WEB-INF/spring-servlet.xml.tt +42 -0
- data/lib/springmvc-scaffold/generators/app/templates/webapp/WEB-INF/web.xml.tt +52 -0
- data/lib/springmvc-scaffold/generators/app/templates/webapp/bower.json.tt +7 -0
- data/lib/springmvc-scaffold/generators/app/templates/webapp/stylesheets/application.css +38 -0
- data/lib/springmvc-scaffold/generators/base.rb +17 -0
- data/lib/springmvc-scaffold/generators/scaffold/attribute.rb +68 -0
- data/lib/springmvc-scaffold/generators/scaffold/base_scaffold.rb +54 -0
- data/lib/springmvc-scaffold/generators/scaffold/controller/controller_generator.rb +20 -0
- data/lib/springmvc-scaffold/generators/scaffold/controller/templates/controller.erb +126 -0
- data/lib/springmvc-scaffold/generators/scaffold/controller/templates/controller_test.erb +13 -0
- data/lib/springmvc-scaffold/generators/scaffold/imports.rb +18 -0
- data/lib/springmvc-scaffold/generators/scaffold/jsp/jsp_generator.rb +40 -0
- data/lib/springmvc-scaffold/generators/scaffold/jsp/templates/edit.erb +15 -0
- data/lib/springmvc-scaffold/generators/scaffold/jsp/templates/form.erb +14 -0
- data/lib/springmvc-scaffold/generators/scaffold/jsp/templates/index.erb +38 -0
- data/lib/springmvc-scaffold/generators/scaffold/jsp/templates/new.erb +14 -0
- data/lib/springmvc-scaffold/generators/scaffold/jsp/templates/show.erb +16 -0
- data/lib/springmvc-scaffold/generators/scaffold/model/model_generator.rb +16 -0
- data/lib/springmvc-scaffold/generators/scaffold/model/templates/model.erb +22 -0
- data/lib/springmvc-scaffold/generators/scaffold/model/templates/model_test.erb +13 -0
- data/lib/springmvc-scaffold/generators/scaffold/repository/repository_generator.rb +30 -0
- data/lib/springmvc-scaffold/generators/scaffold/repository/templates/repository.erb +18 -0
- data/lib/springmvc-scaffold/generators/scaffold/repository/templates/repository_test.erb +13 -0
- data/lib/springmvc-scaffold/generators/scaffold/scaffold_generator.rb +31 -0
- data/lib/springmvc-scaffold/runner.rb +7 -0
- data/lib/springmvc-scaffold/runner/commands_help.rb +11 -0
- data/lib/springmvc-scaffold/runner/generator.rb +14 -0
- data/lib/springmvc-scaffold/runner/help.rb +10 -0
- data/lib/springmvc-scaffold/runner/scaffold.rb +15 -0
- data/lib/springmvc-scaffold/version.rb +3 -0
- data/spec/spec_helper.rb +23 -0
- data/spec/springmvc-scaffold/configuration_spec.rb +124 -0
- data/spec/springmvc-scaffold/execution_spec.rb +40 -0
- data/spec/springmvc-scaffold/generators/app/app_generator_spec.rb +226 -0
- data/spec/springmvc-scaffold/generators/app/dependency_spec.rb +14 -0
- data/spec/springmvc-scaffold/generators/app/templates/Entity.java +46 -0
- data/spec/springmvc-scaffold/generators/app/templates/RepositoryJPA.java +49 -0
- data/spec/springmvc-scaffold/generators/app/templates/build.gradle +59 -0
- data/spec/springmvc-scaffold/generators/app/templates/pom.xml +146 -0
- data/spec/springmvc-scaffold/generators/app/templates/springmvc-scaffold.properties +6 -0
- data/spec/springmvc-scaffold/generators/scaffold/attribute_spec.rb +215 -0
- data/spec/springmvc-scaffold/generators/scaffold/base_scaffold_spec.rb +70 -0
- data/spec/springmvc-scaffold/generators/scaffold/controller/controller_generator_spec.rb +53 -0
- data/spec/springmvc-scaffold/generators/scaffold/controller/templates/ProductsController.java +97 -0
- data/spec/springmvc-scaffold/generators/scaffold/imports_spec.rb +9 -0
- data/spec/springmvc-scaffold/generators/scaffold/jsp/jsp_generator_spec.rb +46 -0
- data/spec/springmvc-scaffold/generators/scaffold/jsp/templates/form.jsp +25 -0
- data/spec/springmvc-scaffold/generators/scaffold/model/model_generator_spec.rb +28 -0
- data/spec/springmvc-scaffold/generators/scaffold/model/templates/Product.java +43 -0
- data/spec/springmvc-scaffold/generators/scaffold/repository/repository_generator_spec.rb +49 -0
- data/spec/springmvc-scaffold/generators/scaffold/repository/templates/Clients.java +16 -0
- data/spec/springmvc-scaffold/generators/scaffold/repository/templates/Products.java +10 -0
- data/spec/springmvc-scaffold/generators/scaffold/scaffold_generator_spec.rb +60 -0
- data/spec/springmvc-scaffold/runner/commands_help_spec.rb +13 -0
- data/spec/springmvc-scaffold/runner/generator_spec.rb +21 -0
- data/spec/springmvc-scaffold/runner/help_spec.rb +22 -0
- data/spec/springmvc-scaffold/runner/scaffold_spec.rb +36 -0
- data/spec/springmvc-scaffold_spec.rb +4 -0
- data/springmvc-scaffold.gemspec +27 -0
- metadata +185 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7b49d05d6b591d247eecc7646a1b5edc6dccb0be
|
4
|
+
data.tar.gz: 6239e151ab4cc73d4e18c025a1bede002b2e081c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: dc7eb856ee2842291d2f7d8e096af28924adb1eb370c39c41d42e5eb9d6dc2c54f404b362a83572b4c83d8fd5d4ee5deec5c0c9c3f9ae2c762b443954d71ef46
|
7
|
+
data.tar.gz: 6a58adf5b144eb4a3b91ce8a627d37fd1c52a2d3fe65bc5873b873460320833fa8d0b7da4357161b762cffa8ae250d79710498a8ad8839ce5a122848c5434698
|
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
springmvc-scaffold (1.0.0)
|
5
|
+
activesupport (= 4.1.8)
|
6
|
+
rake (= 10.1.0)
|
7
|
+
thor (= 0.19.1)
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
activesupport (4.1.8)
|
13
|
+
i18n (~> 0.6, >= 0.6.9)
|
14
|
+
json (~> 1.7, >= 1.7.7)
|
15
|
+
minitest (~> 5.1)
|
16
|
+
thread_safe (~> 0.1)
|
17
|
+
tzinfo (~> 1.1)
|
18
|
+
diff-lcs (1.2.5)
|
19
|
+
i18n (0.6.11)
|
20
|
+
json (1.8.1)
|
21
|
+
minitest (5.4.3)
|
22
|
+
rake (10.1.0)
|
23
|
+
rspec (3.1.0)
|
24
|
+
rspec-core (~> 3.1.0)
|
25
|
+
rspec-expectations (~> 3.1.0)
|
26
|
+
rspec-mocks (~> 3.1.0)
|
27
|
+
rspec-core (3.1.7)
|
28
|
+
rspec-support (~> 3.1.0)
|
29
|
+
rspec-expectations (3.1.2)
|
30
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
31
|
+
rspec-support (~> 3.1.0)
|
32
|
+
rspec-mocks (3.1.3)
|
33
|
+
rspec-support (~> 3.1.0)
|
34
|
+
rspec-support (3.1.2)
|
35
|
+
thor (0.19.1)
|
36
|
+
thread_safe (0.3.4)
|
37
|
+
tzinfo (1.2.2)
|
38
|
+
thread_safe (~> 0.1)
|
39
|
+
|
40
|
+
PLATFORMS
|
41
|
+
ruby
|
42
|
+
|
43
|
+
DEPENDENCIES
|
44
|
+
rspec (= 3.1.0)
|
45
|
+
springmvc-scaffold!
|
data/README.markdown
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# Spring MVC Scaffold [![Build Status](https://travis-ci.org/juliano/springmvc-scaffold.svg?branch=master)](https://travis-ci.org/juliano/springmvc-scaffold)
|
2
|
+
|
3
|
+
Tool to make it easier configuring new Spring MVC projects.
|
4
|
+
|
5
|
+
# Installation
|
6
|
+
|
7
|
+
gem install springmvc-scaffold
|
8
|
+
|
9
|
+
# Getting Started
|
10
|
+
|
11
|
+
At the command line client:
|
12
|
+
|
13
|
+
springmvc new myproject
|
14
|
+
cd myproject
|
15
|
+
springmvc scaffold product name:string value:double
|
16
|
+
mvn jetty:run
|
17
|
+
|
18
|
+
open http://localhost:8080/products
|
19
|
+
|
20
|
+
## Note on Patches/Pull Requests
|
21
|
+
|
22
|
+
* Fork the project.
|
23
|
+
* Make your feature addition or bug fix.
|
24
|
+
* Add tests for it. This is important so I don't break it in a
|
25
|
+
future version unintentionally.
|
26
|
+
* Commit, do not mess with rakefile, version, or history.
|
27
|
+
* Send me a pull request. Bonus points for topic branches.
|
28
|
+
|
29
|
+
## Author
|
30
|
+
|
31
|
+
Spring MVC Scaffold was created and is maintained by [Juliano Alves](http://twitter.com/vonjuliano).
|
data/Rakefile
ADDED
data/bin/springmvc
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
module SpringMvcScaffold
|
2
|
+
end
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
|
6
|
+
require "thor/actions"
|
7
|
+
require "thor/group"
|
8
|
+
require 'active_support/inflector'
|
9
|
+
require 'yaml'
|
10
|
+
|
11
|
+
require 'springmvc-scaffold/runner'
|
12
|
+
require 'springmvc-scaffold/execution'
|
13
|
+
require 'springmvc-scaffold/configuration'
|
14
|
+
require 'springmvc-scaffold/generators/base'
|
@@ -0,0 +1,50 @@
|
|
1
|
+
class Configuration
|
2
|
+
MAIN_SRC = "src/main/java"
|
3
|
+
WEB_APP = "src/main/webapp"
|
4
|
+
WEB_INF = "#{WEB_APP}/WEB-INF"
|
5
|
+
MAIN_RESOURCES = "src/main/resources"
|
6
|
+
META_INF = "#{WEB_APP}/META-INF"
|
7
|
+
TEST_SRC = "src/test/java"
|
8
|
+
TEST_RESOURCES = "src/test/resources"
|
9
|
+
FILENAME = "#{META_INF}/springmvc-scaffold.properties"
|
10
|
+
|
11
|
+
def self.config
|
12
|
+
YAML.load_file FILENAME
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.package
|
16
|
+
config["package"] ? config["package"] : 'app'
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.models_package
|
20
|
+
config["models_package"] ? config["models_package"] : 'models'
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.controllers_package
|
24
|
+
config["controllers_package"] ? config["controllers_package"] : 'controllers'
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.repositories_package
|
28
|
+
config["repositories_package"] ? config["repositories_package"] : 'repositories'
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.full_models_package
|
32
|
+
"#{package}.#{models_package}"
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.orm
|
36
|
+
config["orm"] ? config["orm"] : 'jpa'
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.hibernate?
|
40
|
+
orm.eql? "hibernate"
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.main_class_path(*path)
|
44
|
+
File.join(MAIN_SRC, package.gsub(".", File::Separator), path)
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.test_class_path(*path)
|
48
|
+
File.join(TEST_SRC, package.gsub(".", File::Separator), path)
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module SpringMvcScaffold
|
2
|
+
|
3
|
+
class Execution
|
4
|
+
def run(args)
|
5
|
+
action = args.shift
|
6
|
+
runner_for(action).new.run(args)
|
7
|
+
end
|
8
|
+
|
9
|
+
def runner_for(action)
|
10
|
+
SpringMvcScaffold::COMMANDS.fetch(action, Runner::CommandsHelp)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
COMMANDS = {
|
15
|
+
"--help" => Runner::Generator,
|
16
|
+
"-h" => Runner::Generator,
|
17
|
+
"new" => Runner::Generator,
|
18
|
+
"scaffold" => Runner::Scaffold
|
19
|
+
}
|
20
|
+
end
|
@@ -0,0 +1,123 @@
|
|
1
|
+
class AppGenerator < SpringMvcScaffold::Base
|
2
|
+
|
3
|
+
BUILD_TOOLS = %w( mvn gradle )
|
4
|
+
ORMS = %w( jpa hibernate)
|
5
|
+
|
6
|
+
argument :project_path
|
7
|
+
|
8
|
+
class_option :package, default: "app", aliases: "-p", desc: "Define base package"
|
9
|
+
|
10
|
+
class_option :controllers_package, aliases: "-c", default: "controllers", desc: "Define controllers package"
|
11
|
+
|
12
|
+
class_option :models_package, aliases: "-m", default: "models", desc: "Define models package"
|
13
|
+
|
14
|
+
class_option :repositories_package, aliases: "-r", default: "repositories", desc: "Define repositories package"
|
15
|
+
|
16
|
+
class_option :build_tool, aliases: "-b", default: "mvn", desc: "Build tools (options: #{BUILD_TOOLS.join(', ')})"
|
17
|
+
|
18
|
+
class_option :orm, aliases: "-o", default: "jpa", desc: "Object-relational mapping (options: #{ORMS.join(', ')})"
|
19
|
+
|
20
|
+
def self.source_root
|
21
|
+
File.join(File.dirname(__FILE__), "templates")
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.banner
|
25
|
+
"springmvc new #{self.arguments.map(&:usage).join(' ')} [options]"
|
26
|
+
end
|
27
|
+
|
28
|
+
def initialize(args, opts=[])
|
29
|
+
super([args], opts)
|
30
|
+
validate
|
31
|
+
self.destination_root = project_path
|
32
|
+
@project_name = project_path.split("/").last
|
33
|
+
end
|
34
|
+
|
35
|
+
def create_root_folder
|
36
|
+
empty_directory "."
|
37
|
+
end
|
38
|
+
|
39
|
+
def configure_maven
|
40
|
+
template("pom.erb", "pom.xml") if build_tool == "mvn"
|
41
|
+
end
|
42
|
+
|
43
|
+
def configure_gradle
|
44
|
+
template("build.gradle.erb", "build.gradle") if build_tool == "gradle"
|
45
|
+
end
|
46
|
+
|
47
|
+
def create_main_java
|
48
|
+
empty_directory Configuration::MAIN_SRC
|
49
|
+
@src = File.join(Configuration::MAIN_SRC, options[:package].gsub(".", File::Separator))
|
50
|
+
end
|
51
|
+
|
52
|
+
def create_controllers_directory
|
53
|
+
empty_directory File.join(@src, options[:controllers_package])
|
54
|
+
end
|
55
|
+
|
56
|
+
def create_models_directory
|
57
|
+
models = File.join(@src, options[:models_package])
|
58
|
+
empty_directory models
|
59
|
+
template("models/Entity.erb", "#{models}/Entity.java")
|
60
|
+
end
|
61
|
+
|
62
|
+
def create_repositories_directory
|
63
|
+
repositories = File.join(@src, options[:repositories_package])
|
64
|
+
empty_directory repositories
|
65
|
+
template("orm/Repository-#{orm}.java.tt", "#{repositories}/GenericRepository.java")
|
66
|
+
end
|
67
|
+
|
68
|
+
def create_main_resources
|
69
|
+
directory("resources", Configuration::MAIN_RESOURCES)
|
70
|
+
end
|
71
|
+
|
72
|
+
def create_webapp
|
73
|
+
@base_package = options[:package]
|
74
|
+
@models_package = "#{@base_package}.#{options[:models_package]}"
|
75
|
+
directory("webapp", Configuration::WEB_APP)
|
76
|
+
end
|
77
|
+
|
78
|
+
def create_javascripts
|
79
|
+
javascripts = File.join(Configuration::WEB_APP, "javascripts")
|
80
|
+
create_file File.join(javascripts, "application.js")
|
81
|
+
end
|
82
|
+
|
83
|
+
def configure_scaffold_properties
|
84
|
+
template("springmvc-scaffold.erb", Configuration::FILENAME)
|
85
|
+
end
|
86
|
+
|
87
|
+
def create_test
|
88
|
+
empty_directory Configuration::TEST_SRC
|
89
|
+
test_src = File.join(Configuration::TEST_SRC, options[:package].gsub(".", File::Separator))
|
90
|
+
|
91
|
+
empty_directory File.join(test_src, options[:controllers_package])
|
92
|
+
empty_directory File.join(test_src, options[:models_package])
|
93
|
+
empty_directory File.join(test_src, options[:repositories_package])
|
94
|
+
|
95
|
+
empty_directory Configuration::TEST_RESOURCES
|
96
|
+
end
|
97
|
+
|
98
|
+
private
|
99
|
+
def validate
|
100
|
+
unless BUILD_TOOLS.include? build_tool
|
101
|
+
puts "Build tool #{build_tool} is not supported. The supported build tools are: #{BUILD_TOOLS.join(', ')}"
|
102
|
+
Kernel::exit
|
103
|
+
end
|
104
|
+
unless ORMS.include? orm
|
105
|
+
puts "ORM #{orm} is not supported. The supported object-relational mapping are: #{ORMS.join(", ")}"
|
106
|
+
Kernel::exit
|
107
|
+
end
|
108
|
+
|
109
|
+
if File.directory?(project_path)
|
110
|
+
puts "The project #{project_path} already exist"
|
111
|
+
Kernel::exit
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
def orm
|
116
|
+
options[:orm]
|
117
|
+
end
|
118
|
+
|
119
|
+
def build_tool
|
120
|
+
options[:build_tool]
|
121
|
+
end
|
122
|
+
|
123
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class Dependencies
|
2
|
+
|
3
|
+
def self.compile_scope
|
4
|
+
hibernate_version = "4.3.7.Final"
|
5
|
+
[Dependency.new("org.springframework", "spring-webmvc", "4.1.3.RELEASE"),
|
6
|
+
Dependency.new("org.springframework", "spring-orm", "4.1.3.RELEASE"),
|
7
|
+
Dependency.new("javax.servlet", "jstl", "1.2"),
|
8
|
+
Dependency.new("org.hsqldb", "hsqldb", "2.3.2"),
|
9
|
+
Dependency.new("org.hibernate", "hibernate-entitymanager", hibernate_version),
|
10
|
+
Dependency.new("org.hibernate", "hibernate-c3p0", hibernate_version),
|
11
|
+
Dependency.new("org.hibernate", "hibernate-validator", "5.1.3.Final"),
|
12
|
+
Dependency.new("org.slf4j", "slf4j-log4j12", "1.7.7"),
|
13
|
+
Dependency.new("joda-time", "joda-time", "2.5"),
|
14
|
+
Dependency.new("org.sitemesh", "sitemesh", "3.0.0")]
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.test_scope
|
18
|
+
[Dependency.new("junit", "junit", "4.11"),
|
19
|
+
Dependency.new("org.mockito", "mockito-all", "1.10.8")]
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.provided_scope
|
23
|
+
[Dependency.new("javax.servlet", "servlet-api", "2.5"),
|
24
|
+
Dependency.new("javax.servlet.jsp", "jsp-api", "2.2")]
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Dependency
|
2
|
+
|
3
|
+
attr_accessor :group, :name, :version, :exclusions
|
4
|
+
|
5
|
+
def initialize(group, name, version=nil, exclusions=[])
|
6
|
+
@group = group
|
7
|
+
@name = name
|
8
|
+
@version = version
|
9
|
+
@exclusions = exclusions
|
10
|
+
end
|
11
|
+
|
12
|
+
def has_exclusions?
|
13
|
+
!@exclusions.empty?
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
repositories {
|
2
|
+
mavenCentral()
|
3
|
+
}
|
4
|
+
|
5
|
+
apply plugin: 'java'
|
6
|
+
apply plugin: 'war'
|
7
|
+
apply plugin: 'jetty'
|
8
|
+
apply plugin: 'eclipse'
|
9
|
+
|
10
|
+
sourceCompatibility = 1.6
|
11
|
+
targetCompatibility = 1.6
|
12
|
+
version = '1.0'
|
13
|
+
|
14
|
+
sourceSets {
|
15
|
+
main {
|
16
|
+
java {
|
17
|
+
srcDir '<%= Configuration::MAIN_SRC %>'
|
18
|
+
}
|
19
|
+
resources {
|
20
|
+
srcDir '<%= Configuration::MAIN_RESOURCES %>'
|
21
|
+
}
|
22
|
+
}
|
23
|
+
test {
|
24
|
+
java {
|
25
|
+
srcDir '<%= Configuration::TEST_SRC %>'
|
26
|
+
}
|
27
|
+
resources {
|
28
|
+
srcDir '<%= Configuration::TEST_RESOURCES %>'
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
sourceSets.main.output.classesDir = new File('<%= Configuration::WEB_INF %>/classes')
|
34
|
+
|
35
|
+
jettyRun.scanIntervalSeconds=3
|
36
|
+
jettyRun.contextPath = '/'
|
37
|
+
[jettyRunWar,jettyStop]*.stopPort = 8081
|
38
|
+
[jettyRunWar,jettyStop]*.stopKey = 'stopKey'
|
39
|
+
|
40
|
+
dependencies {
|
41
|
+
<% Dependencies.compile_scope.each do |dependency| -%>
|
42
|
+
compile group: '<%= dependency.group %>', name: '<%= dependency.name %>', version: '<%= dependency.version %>'<% if dependency.has_exclusions? %>, {<% dependency.exclusions.each do |exclusion| %>
|
43
|
+
exclude group: '<%= exclusion.group %>', name: '<%= exclusion.name %>'<% end %>
|
44
|
+
}<% end %>
|
45
|
+
<% end -%>
|
46
|
+
|
47
|
+
//Provided dependencies
|
48
|
+
<% Dependencies.provided_scope.each do |dependency| -%>
|
49
|
+
providedCompile group: '<%= dependency.group %>', name: '<%= dependency.name %>', version: '<%= dependency.version %>'
|
50
|
+
<% end -%>
|
51
|
+
|
52
|
+
//Test dependencies
|
53
|
+
<% Dependencies.test_scope.each do |dependency| -%>
|
54
|
+
testCompile group: '<%= dependency.group %>', name: '<%= dependency.name %>', version: '<%= dependency.version %>'
|
55
|
+
<% end -%>
|
56
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
package <%= options[:package] %>.<%= options[:models_package] %>;
|
2
|
+
|
3
|
+
import javax.persistence.GeneratedValue;
|
4
|
+
import javax.persistence.Id;
|
5
|
+
import javax.persistence.MappedSuperclass;
|
6
|
+
|
7
|
+
@MappedSuperclass
|
8
|
+
public class Entity {
|
9
|
+
|
10
|
+
@Id
|
11
|
+
@GeneratedValue
|
12
|
+
private Long id;
|
13
|
+
|
14
|
+
public void setId(Long id) {
|
15
|
+
this.id = id;
|
16
|
+
}
|
17
|
+
|
18
|
+
public Long getId() {
|
19
|
+
return id;
|
20
|
+
}
|
21
|
+
|
22
|
+
@Override
|
23
|
+
public boolean equals(Object obj) {
|
24
|
+
if (obj == null) {
|
25
|
+
return false;
|
26
|
+
}
|
27
|
+
if (this == obj) {
|
28
|
+
return true;
|
29
|
+
}
|
30
|
+
if (getClass() != obj.getClass()) {
|
31
|
+
return false;
|
32
|
+
}
|
33
|
+
final Entity other = (Entity) obj;
|
34
|
+
if (id != other.id && (id == null || !id.equals(other.id))) {
|
35
|
+
return false;
|
36
|
+
}
|
37
|
+
return true;
|
38
|
+
}
|
39
|
+
|
40
|
+
@Override
|
41
|
+
public int hashCode() {
|
42
|
+
int hash = 7;
|
43
|
+
hash = 17 * hash + (this.getId() != null ? this.getId().hashCode() : 0);
|
44
|
+
return hash;
|
45
|
+
}
|
46
|
+
}
|