springmvc-scaffold 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 [](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
|
+
}
|