Target build
76
target/.wro4j/buildContext.properties
Normal file
|
@ -0,0 +1,76 @@
|
|||
#Generated
|
||||
#Wed Sep 11 06:42:13 CEST 2019
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/badges.less=c2ecf1fc5ba7d5882c0aced38c5a0b9b98fbba22
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/dropdowns.less=96ed7dd52411468ad417dd3ed25db2a178dd7c35
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/jumbotron.less=2a17c9947e149c62c66bcb596ae50dc5e1ed3b07
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/reset-filter.less=6b5a0d3cc4c261e8d4b99eaa534fc61570cacf1e
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/panels.less=7510d7544b4df1841208385d4546edc586f95c5b
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/navs.less=92b843fd16ac7093623211d5bdefaf7e90d6f8d0
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/pagination.less=8ade65b30ebee5a656cc7182dc1e3fc500dfbf4d
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/wells.less=bc0163f62855234b3f4b14c43fd699b2add0bba4
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/border-radius.less=5f5ea29a19bda7b337077ac8fffd714f6f1dfa73
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/list-group.less=3077383e785167591e027d80f5ec84529b5a57cd
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/grid-framework.less=f1a27cc4b85f49ed51a27b54fa696af61c8713bb
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/center-block.less=363e836fcda8b776364ec8049da1d3ff7120bb3b
|
||||
/responsive.less=ea2cfb90041efa20301f50c2fd3daaba748c9bb5
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/panels.less=cf146220c27aab6ff498d234df8672b4cb6328ba
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/carousel.less=5c2697e242a0dd1fdaef0d6dc20c2e18164886ef
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/responsive-visibility.less=f2d7a9aaeaf7e7595622f74894021cf2e48bf6e4
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/hide-text.less=9c3adc24863922ee505dc7dd02ff852190fb4a07
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/breadcrumbs.less=d0df3abea81c7bf4917b0de2c8efe8c4d45e5831
|
||||
/header.less=2ad8cd576f7b08bb10fe01fb981411686c57007b
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/pager.less=3f8b16c0f2222cd4ed5b250001129f2f74b40087
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/grid.less=32cbcb24294f6f598785bf5be1220b5678008c61
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins.less=7da7da9dab92684407a242235bae6907125d3789
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/alerts.less=67ae9360f19aacc486b78d610e7e147c5ccf1ee9
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/pagination.less=1e560f7a3b05001c6d7c07b25cab0fefd4f88741
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/navbar.less=47f3c73b8389d13c05f63295b33c94153530d037
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/nav-divider.less=1ccd93c3ff076c1e688765dfaa87aeac62390bd1
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/input-groups.less=46b7c1fd7614562cb13542817ff8f83e7ac83cc5
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/code.less=73eb3b1aceb4ee28829acf7467dd4dd5ba516216
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/image.less=302533996b8a1293fc35eb2241f1da78cc3011d6
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/forms.less=3f4f860c9a166f1b7deefa3fcf1ff8628b50c621
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/buttons.less=782f6337e83f0f7a9c27d56a3a4dfe0565d6dd4d
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/thumbnails.less=a4a3537e6cafc8af8ecef83b3420c2d70d55385c
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/tab-focus.less=b2cce3349f44307965f27a6acd890fac5e61678f
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/background-variant.less=34443ed822680e91a0d2fbd7849b5ad70132601a
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/alerts.less=f43c9ea829ba306aa1f7fdbff2bbaeceb96943fe
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/buttons.less=df05ef2e545328ec45c8fe412615c0d33f942311
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/bootstrap.less=a1811af45d28321d848c1c91ad839e9546bf9e92
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/progress-bar.less=634a3c87979c4fe56550e4cb9111d722c1e773af
|
||||
/typography.less=6df9d7b808e4e454cb62f9ed0379a5f62219091
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/gradients.less=8040ecb7c9f3705a7eed9a093c0f5f0154144cc2
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/tables.less=fea1507ac5ea051998b2441ea1871b77ac4185fe
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/table-row.less=c95a6b50bf82e762c25badbf9738b8058995131e
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/progress-bars.less=5ddd1d278d6d789dd4807cd049500197de6639ec
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/component-animations.less=6afd942d40111e4d3be9bd33d32382ea64851e54
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/resize.less=70dbe3557a5a717a825b2a9186ec62dab5957686
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/variables.less=9c296c8ea686a9e8a5ae1052db654cd818c22830
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/text-overflow.less=54d68679f6b9e2c34df9ff38fbbd52742394bb9b
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/vendor-prefixes.less=97aac1d3b5efd4d0b1bdb2767f7d4dbc8e7a25c1
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/glyphicons.less=ba0bcc0ea666020b1a1702e402ae12592d4fd574
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/normalize.less=5b5eaafae41972c24c109078414441e532ebe823
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/grid.less=341e869eb78033bf840cc399f9d42aa292c0a6
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/reset-text.less=381253db1860d4bf4a0707f3e24b40ed2d31ff4d
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/text-emphasis.less=2e975786f9bc4d5a7554e3264dfddf1e952bb3ff
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/responsive-embed.less=42d6514ffca4c9e63f19555cb063c410390752d2
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/list-group.less=8f8feeee4ad94365f315472dec4968c93a1f5799
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/opacity.less=a85a83b702c721c21be0ee8e3740b1e0e2fc745f
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/modals.less=ebbdc3abf30d87c9c2528f21abe7dc62d2c7610a
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/scaffolding.less=5b24e1a8b461f1357de2bfb1e5b8c569458f7ce3
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/close.less=4206d151fc3efe9891b19066eca15212c45284fa
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/responsive-utilities.less=c54f1cee7779910f01de45c08385ebcae6e0a4d3
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/size.less=be8be9a5ea4045c0c6fae1c4a9a933b14fa9d77c
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/button-groups.less=4e801fc2a0299c43795d835d32c98c3808bd99ef
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/media.less=affb79141d686dc2bd9fe974f097ce0836f7a809
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/clearfix.less=ef40094d9c0cea82b6c4915121b3e8f93cd6867b
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/utilities.less=be421c1cf7643181148271fc119a75a105792d9b
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/forms.less=6adc4591e33f9dca0cfb6b4ca24e4047a47c2c59
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/popovers.less=15de92cc266b3dc98cdcfce3b6859ee2645a7d1
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/tooltip.less=6e7c41861c4cab06534c1aa2a8fede882ce277ca
|
||||
/petclinic.less=98058740aa7c5af889865273fb4ae7b80efc15ca
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/labels.less=c759d45f9d58fab2dde5738302d29142c6aea228
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/print.less=9d51cfc97e61955d152b3febf6bc873bab3930da
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/type.less=9c1b1c2d342ff1d5f0c071311e6673b6a20b5200
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/nav-vertical-align.less=c07f50d6d875842330045ac3c2ac8e9ed3c31f93
|
||||
classpath\:META-INF/resources/webjars/bootstrap/3.3.6/less/mixins/labels.less=437d55a64a782308ad457c7024886e38f5a1e0fa
|
11
target/classes/META-INF/build-info.properties
Normal file
|
@ -0,0 +1,11 @@
|
|||
#Properties
|
||||
#Wed Sep 11 06:41:54 CEST 2019
|
||||
build.artifact=spring-petclinic
|
||||
build.name=petclinic
|
||||
build.encoding.reporting=UTF-8
|
||||
build.encoding.source=UTF-8
|
||||
build.version=2.1.0.BUILD-SNAPSHOT
|
||||
build.java.target=1.8
|
||||
build.time=2019-09-11T04\:41\:54.846Z
|
||||
build.group=org.springframework.samples
|
||||
build.java.source=1.8
|
7
target/classes/application-mysql.properties
Normal file
|
@ -0,0 +1,7 @@
|
|||
# database init, supports mysql too
|
||||
database=mysql
|
||||
spring.datasource.url=jdbc:mysql://localhost/petclinic
|
||||
spring.datasource.username=root
|
||||
spring.datasource.password=petclinic
|
||||
# Uncomment this the first time the app runs
|
||||
# spring.datasource.initialization-mode=always
|
25
target/classes/application.properties
Normal file
|
@ -0,0 +1,25 @@
|
|||
# database init, supports mysql too
|
||||
database=hsqldb
|
||||
spring.datasource.schema=classpath*:db/${database}/schema.sql
|
||||
spring.datasource.data=classpath*:db/${database}/data.sql
|
||||
|
||||
# Web
|
||||
spring.thymeleaf.mode=HTML
|
||||
|
||||
# JPA
|
||||
spring.jpa.hibernate.ddl-auto=none
|
||||
|
||||
# Internationalization
|
||||
spring.messages.basename=messages/messages
|
||||
|
||||
# Actuator / Management
|
||||
management.endpoints.web.base-path=/manage
|
||||
management.endpoints.web.exposure.include=*
|
||||
|
||||
# Logging
|
||||
logging.level.org.springframework=INFO
|
||||
# logging.level.org.springframework.web=DEBUG
|
||||
# logging.level.org.springframework.context.annotation=TRACE
|
||||
|
||||
# Maximum time static resources should be cached
|
||||
spring.resources.cache.cachecontrol.max-age=12h
|
15
target/classes/banner.txt
Normal file
|
@ -0,0 +1,15 @@
|
|||
|
||||
|
||||
|\ _,,,--,,_
|
||||
/,`.-'`' ._ \-;;,_
|
||||
_______ __|,4- ) )_ .;.(__`'-'__ ___ __ _ ___ _______
|
||||
| | '---''(_/._)-'(_\_) | | | | | | | | |
|
||||
| _ | ___|_ _| | | | | |_| | | | __ _ _
|
||||
| |_| | |___ | | | | | | | | | | \ \ \ \
|
||||
| ___| ___| | | | _| |___| | _ | | _| \ \ \ \
|
||||
| | | |___ | | | |_| | | | | | | |_ ) ) ) )
|
||||
|___| |_______| |___| |_______|_______|___|_| |__|___|_______| / / / /
|
||||
==================================================================/_/_/_/
|
||||
|
||||
:: Built with Spring Boot :: ${spring-boot.version}
|
||||
|
53
target/classes/db/hsqldb/data.sql
Normal file
|
@ -0,0 +1,53 @@
|
|||
INSERT INTO vets VALUES (1, 'James', 'Carter');
|
||||
INSERT INTO vets VALUES (2, 'Helen', 'Leary');
|
||||
INSERT INTO vets VALUES (3, 'Linda', 'Douglas');
|
||||
INSERT INTO vets VALUES (4, 'Rafael', 'Ortega');
|
||||
INSERT INTO vets VALUES (5, 'Henry', 'Stevens');
|
||||
INSERT INTO vets VALUES (6, 'Sharon', 'Jenkins');
|
||||
|
||||
INSERT INTO specialties VALUES (1, 'radiology');
|
||||
INSERT INTO specialties VALUES (2, 'surgery');
|
||||
INSERT INTO specialties VALUES (3, 'dentistry');
|
||||
|
||||
INSERT INTO vet_specialties VALUES (2, 1);
|
||||
INSERT INTO vet_specialties VALUES (3, 2);
|
||||
INSERT INTO vet_specialties VALUES (3, 3);
|
||||
INSERT INTO vet_specialties VALUES (4, 2);
|
||||
INSERT INTO vet_specialties VALUES (5, 1);
|
||||
|
||||
INSERT INTO types VALUES (1, 'cat');
|
||||
INSERT INTO types VALUES (2, 'dog');
|
||||
INSERT INTO types VALUES (3, 'lizard');
|
||||
INSERT INTO types VALUES (4, 'snake');
|
||||
INSERT INTO types VALUES (5, 'bird');
|
||||
INSERT INTO types VALUES (6, 'hamster');
|
||||
|
||||
INSERT INTO owners VALUES (1, 'George', 'Franklin', '110 W. Liberty St.', 'Madison', '6085551023');
|
||||
INSERT INTO owners VALUES (2, 'Betty', 'Davis', '638 Cardinal Ave.', 'Sun Prairie', '6085551749');
|
||||
INSERT INTO owners VALUES (3, 'Eduardo', 'Rodriquez', '2693 Commerce St.', 'McFarland', '6085558763');
|
||||
INSERT INTO owners VALUES (4, 'Harold', 'Davis', '563 Friendly St.', 'Windsor', '6085553198');
|
||||
INSERT INTO owners VALUES (5, 'Peter', 'McTavish', '2387 S. Fair Way', 'Madison', '6085552765');
|
||||
INSERT INTO owners VALUES (6, 'Jean', 'Coleman', '105 N. Lake St.', 'Monona', '6085552654');
|
||||
INSERT INTO owners VALUES (7, 'Jeff', 'Black', '1450 Oak Blvd.', 'Monona', '6085555387');
|
||||
INSERT INTO owners VALUES (8, 'Maria', 'Escobito', '345 Maple St.', 'Madison', '6085557683');
|
||||
INSERT INTO owners VALUES (9, 'David', 'Schroeder', '2749 Blackhawk Trail', 'Madison', '6085559435');
|
||||
INSERT INTO owners VALUES (10, 'Carlos', 'Estaban', '2335 Independence La.', 'Waunakee', '6085555487');
|
||||
|
||||
INSERT INTO pets VALUES (1, 'Leo', '2010-09-07', 1, 1);
|
||||
INSERT INTO pets VALUES (2, 'Basil', '2012-08-06', 6, 2);
|
||||
INSERT INTO pets VALUES (3, 'Rosy', '2011-04-17', 2, 3);
|
||||
INSERT INTO pets VALUES (4, 'Jewel', '2010-03-07', 2, 3);
|
||||
INSERT INTO pets VALUES (5, 'Iggy', '2010-11-30', 3, 4);
|
||||
INSERT INTO pets VALUES (6, 'George', '2010-01-20', 4, 5);
|
||||
INSERT INTO pets VALUES (7, 'Samantha', '2012-09-04', 1, 6);
|
||||
INSERT INTO pets VALUES (8, 'Max', '2012-09-04', 1, 6);
|
||||
INSERT INTO pets VALUES (9, 'Lucky', '2011-08-06', 5, 7);
|
||||
INSERT INTO pets VALUES (10, 'Mulligan', '2007-02-24', 2, 8);
|
||||
INSERT INTO pets VALUES (11, 'Freddy', '2010-03-09', 5, 9);
|
||||
INSERT INTO pets VALUES (12, 'Lucky', '2010-06-24', 2, 10);
|
||||
INSERT INTO pets VALUES (13, 'Sly', '2012-06-08', 1, 10);
|
||||
|
||||
INSERT INTO visits VALUES (1, 7, '2013-01-01', 'rabies shot');
|
||||
INSERT INTO visits VALUES (2, 8, '2013-01-02', 'rabies shot');
|
||||
INSERT INTO visits VALUES (3, 8, '2013-01-03', 'neutered');
|
||||
INSERT INTO visits VALUES (4, 7, '2013-01-04', 'spayed');
|
64
target/classes/db/hsqldb/schema.sql
Normal file
|
@ -0,0 +1,64 @@
|
|||
DROP TABLE vet_specialties IF EXISTS;
|
||||
DROP TABLE vets IF EXISTS;
|
||||
DROP TABLE specialties IF EXISTS;
|
||||
DROP TABLE visits IF EXISTS;
|
||||
DROP TABLE pets IF EXISTS;
|
||||
DROP TABLE types IF EXISTS;
|
||||
DROP TABLE owners IF EXISTS;
|
||||
|
||||
|
||||
CREATE TABLE vets (
|
||||
id INTEGER IDENTITY PRIMARY KEY,
|
||||
first_name VARCHAR(30),
|
||||
last_name VARCHAR(30)
|
||||
);
|
||||
CREATE INDEX vets_last_name ON vets (last_name);
|
||||
|
||||
CREATE TABLE specialties (
|
||||
id INTEGER IDENTITY PRIMARY KEY,
|
||||
name VARCHAR(80)
|
||||
);
|
||||
CREATE INDEX specialties_name ON specialties (name);
|
||||
|
||||
CREATE TABLE vet_specialties (
|
||||
vet_id INTEGER NOT NULL,
|
||||
specialty_id INTEGER NOT NULL
|
||||
);
|
||||
ALTER TABLE vet_specialties ADD CONSTRAINT fk_vet_specialties_vets FOREIGN KEY (vet_id) REFERENCES vets (id);
|
||||
ALTER TABLE vet_specialties ADD CONSTRAINT fk_vet_specialties_specialties FOREIGN KEY (specialty_id) REFERENCES specialties (id);
|
||||
|
||||
CREATE TABLE types (
|
||||
id INTEGER IDENTITY PRIMARY KEY,
|
||||
name VARCHAR(80)
|
||||
);
|
||||
CREATE INDEX types_name ON types (name);
|
||||
|
||||
CREATE TABLE owners (
|
||||
id INTEGER IDENTITY PRIMARY KEY,
|
||||
first_name VARCHAR(30),
|
||||
last_name VARCHAR_IGNORECASE(30),
|
||||
address VARCHAR(255),
|
||||
city VARCHAR(80),
|
||||
telephone VARCHAR(20)
|
||||
);
|
||||
CREATE INDEX owners_last_name ON owners (last_name);
|
||||
|
||||
CREATE TABLE pets (
|
||||
id INTEGER IDENTITY PRIMARY KEY,
|
||||
name VARCHAR(30),
|
||||
birth_date DATE,
|
||||
type_id INTEGER NOT NULL,
|
||||
owner_id INTEGER NOT NULL
|
||||
);
|
||||
ALTER TABLE pets ADD CONSTRAINT fk_pets_owners FOREIGN KEY (owner_id) REFERENCES owners (id);
|
||||
ALTER TABLE pets ADD CONSTRAINT fk_pets_types FOREIGN KEY (type_id) REFERENCES types (id);
|
||||
CREATE INDEX pets_name ON pets (name);
|
||||
|
||||
CREATE TABLE visits (
|
||||
id INTEGER IDENTITY PRIMARY KEY,
|
||||
pet_id INTEGER NOT NULL,
|
||||
visit_date DATE,
|
||||
description VARCHAR(255)
|
||||
);
|
||||
ALTER TABLE visits ADD CONSTRAINT fk_visits_pets FOREIGN KEY (pet_id) REFERENCES pets (id);
|
||||
CREATE INDEX visits_pet_id ON visits (pet_id);
|
53
target/classes/db/mysql/data.sql
Normal file
|
@ -0,0 +1,53 @@
|
|||
INSERT IGNORE INTO vets VALUES (1, 'James', 'Carter');
|
||||
INSERT IGNORE INTO vets VALUES (2, 'Helen', 'Leary');
|
||||
INSERT IGNORE INTO vets VALUES (3, 'Linda', 'Douglas');
|
||||
INSERT IGNORE INTO vets VALUES (4, 'Rafael', 'Ortega');
|
||||
INSERT IGNORE INTO vets VALUES (5, 'Henry', 'Stevens');
|
||||
INSERT IGNORE INTO vets VALUES (6, 'Sharon', 'Jenkins');
|
||||
|
||||
INSERT IGNORE INTO specialties VALUES (1, 'radiology');
|
||||
INSERT IGNORE INTO specialties VALUES (2, 'surgery');
|
||||
INSERT IGNORE INTO specialties VALUES (3, 'dentistry');
|
||||
|
||||
INSERT IGNORE INTO vet_specialties VALUES (2, 1);
|
||||
INSERT IGNORE INTO vet_specialties VALUES (3, 2);
|
||||
INSERT IGNORE INTO vet_specialties VALUES (3, 3);
|
||||
INSERT IGNORE INTO vet_specialties VALUES (4, 2);
|
||||
INSERT IGNORE INTO vet_specialties VALUES (5, 1);
|
||||
|
||||
INSERT IGNORE INTO types VALUES (1, 'cat');
|
||||
INSERT IGNORE INTO types VALUES (2, 'dog');
|
||||
INSERT IGNORE INTO types VALUES (3, 'lizard');
|
||||
INSERT IGNORE INTO types VALUES (4, 'snake');
|
||||
INSERT IGNORE INTO types VALUES (5, 'bird');
|
||||
INSERT IGNORE INTO types VALUES (6, 'hamster');
|
||||
|
||||
INSERT IGNORE INTO owners VALUES (1, 'George', 'Franklin', '110 W. Liberty St.', 'Madison', '6085551023');
|
||||
INSERT IGNORE INTO owners VALUES (2, 'Betty', 'Davis', '638 Cardinal Ave.', 'Sun Prairie', '6085551749');
|
||||
INSERT IGNORE INTO owners VALUES (3, 'Eduardo', 'Rodriquez', '2693 Commerce St.', 'McFarland', '6085558763');
|
||||
INSERT IGNORE INTO owners VALUES (4, 'Harold', 'Davis', '563 Friendly St.', 'Windsor', '6085553198');
|
||||
INSERT IGNORE INTO owners VALUES (5, 'Peter', 'McTavish', '2387 S. Fair Way', 'Madison', '6085552765');
|
||||
INSERT IGNORE INTO owners VALUES (6, 'Jean', 'Coleman', '105 N. Lake St.', 'Monona', '6085552654');
|
||||
INSERT IGNORE INTO owners VALUES (7, 'Jeff', 'Black', '1450 Oak Blvd.', 'Monona', '6085555387');
|
||||
INSERT IGNORE INTO owners VALUES (8, 'Maria', 'Escobito', '345 Maple St.', 'Madison', '6085557683');
|
||||
INSERT IGNORE INTO owners VALUES (9, 'David', 'Schroeder', '2749 Blackhawk Trail', 'Madison', '6085559435');
|
||||
INSERT IGNORE INTO owners VALUES (10, 'Carlos', 'Estaban', '2335 Independence La.', 'Waunakee', '6085555487');
|
||||
|
||||
INSERT IGNORE INTO pets VALUES (1, 'Leo', '2000-09-07', 1, 1);
|
||||
INSERT IGNORE INTO pets VALUES (2, 'Basil', '2002-08-06', 6, 2);
|
||||
INSERT IGNORE INTO pets VALUES (3, 'Rosy', '2001-04-17', 2, 3);
|
||||
INSERT IGNORE INTO pets VALUES (4, 'Jewel', '2000-03-07', 2, 3);
|
||||
INSERT IGNORE INTO pets VALUES (5, 'Iggy', '2000-11-30', 3, 4);
|
||||
INSERT IGNORE INTO pets VALUES (6, 'George', '2000-01-20', 4, 5);
|
||||
INSERT IGNORE INTO pets VALUES (7, 'Samantha', '1995-09-04', 1, 6);
|
||||
INSERT IGNORE INTO pets VALUES (8, 'Max', '1995-09-04', 1, 6);
|
||||
INSERT IGNORE INTO pets VALUES (9, 'Lucky', '1999-08-06', 5, 7);
|
||||
INSERT IGNORE INTO pets VALUES (10, 'Mulligan', '1997-02-24', 2, 8);
|
||||
INSERT IGNORE INTO pets VALUES (11, 'Freddy', '2000-03-09', 5, 9);
|
||||
INSERT IGNORE INTO pets VALUES (12, 'Lucky', '2000-06-24', 2, 10);
|
||||
INSERT IGNORE INTO pets VALUES (13, 'Sly', '2002-06-08', 1, 10);
|
||||
|
||||
INSERT IGNORE INTO visits VALUES (1, 7, '2010-03-04', 'rabies shot');
|
||||
INSERT IGNORE INTO visits VALUES (2, 8, '2011-03-04', 'rabies shot');
|
||||
INSERT IGNORE INTO visits VALUES (3, 8, '2009-06-04', 'neutered');
|
||||
INSERT IGNORE INTO visits VALUES (4, 7, '2008-09-04', 'spayed');
|
29
target/classes/db/mysql/petclinic_db_setup_mysql.txt
Normal file
|
@ -0,0 +1,29 @@
|
|||
================================================================================
|
||||
=== Spring PetClinic sample application - MySQL Configuration ===
|
||||
================================================================================
|
||||
|
||||
@author Sam Brannen
|
||||
@author Costin Leau
|
||||
@author Dave Syer
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
1) Download and install the MySQL database (e.g., MySQL Community Server 5.1.x),
|
||||
which can be found here: https://dev.mysql.com/downloads/. Or run the
|
||||
"docker-compose.yml" from the root of the project (if you have docker installed
|
||||
locally):
|
||||
|
||||
$ docker-compose up
|
||||
...
|
||||
mysql_1_eedb4818d817 | MySQL init process done. Ready for start up.
|
||||
...
|
||||
|
||||
2) Create the PetClinic database and user by executing the "db/mysql/{schema,data}.sql"
|
||||
scripts (or set "spring.datasource.initialize=always" the first time you run the app).
|
||||
|
||||
3) Run the app with `spring.profiles.active=mysql` (e.g. as a System property via the command
|
||||
line, but any way that sets that property in a Spring Boot app should work).
|
||||
|
||||
N.B. the "petclinic" database has to exist for the app to work with the JDBC URL value
|
||||
as it is configured by default. This condition is taken care of by the docker-compose
|
||||
configuration provided, or by the `schema.sql` if you can run that as root.
|
65
target/classes/db/mysql/schema.sql
Normal file
|
@ -0,0 +1,65 @@
|
|||
CREATE DATABASE IF NOT EXISTS petclinic;
|
||||
|
||||
ALTER DATABASE petclinic
|
||||
DEFAULT CHARACTER SET utf8
|
||||
DEFAULT COLLATE utf8_general_ci;
|
||||
|
||||
GRANT ALL PRIVILEGES ON petclinic.* TO pc@localhost IDENTIFIED BY 'pc';
|
||||
|
||||
USE petclinic;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS vets (
|
||||
id INT(4) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
first_name VARCHAR(30),
|
||||
last_name VARCHAR(30),
|
||||
INDEX(last_name)
|
||||
) engine=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS specialties (
|
||||
id INT(4) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(80),
|
||||
INDEX(name)
|
||||
) engine=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS vet_specialties (
|
||||
vet_id INT(4) UNSIGNED NOT NULL,
|
||||
specialty_id INT(4) UNSIGNED NOT NULL,
|
||||
FOREIGN KEY (vet_id) REFERENCES vets(id),
|
||||
FOREIGN KEY (specialty_id) REFERENCES specialties(id),
|
||||
UNIQUE (vet_id,specialty_id)
|
||||
) engine=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS types (
|
||||
id INT(4) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(80),
|
||||
INDEX(name)
|
||||
) engine=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS owners (
|
||||
id INT(4) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
first_name VARCHAR(30),
|
||||
last_name VARCHAR(30),
|
||||
address VARCHAR(255),
|
||||
city VARCHAR(80),
|
||||
telephone VARCHAR(20),
|
||||
INDEX(last_name)
|
||||
) engine=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS pets (
|
||||
id INT(4) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(30),
|
||||
birth_date DATE,
|
||||
type_id INT(4) UNSIGNED NOT NULL,
|
||||
owner_id INT(4) UNSIGNED NOT NULL,
|
||||
INDEX(name),
|
||||
FOREIGN KEY (owner_id) REFERENCES owners(id),
|
||||
FOREIGN KEY (type_id) REFERENCES types(id)
|
||||
) engine=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS visits (
|
||||
id INT(4) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
pet_id INT(4) UNSIGNED NOT NULL,
|
||||
visit_date DATE,
|
||||
description VARCHAR(255),
|
||||
FOREIGN KEY (pet_id) REFERENCES pets(id)
|
||||
) engine=InnoDB;
|
23
target/classes/git.properties
Normal file
|
@ -0,0 +1,23 @@
|
|||
#Generated by Git-Commit-Id-Plugin
|
||||
#Wed Sep 11 06:41:53 CEST 2019
|
||||
git.branch=master
|
||||
git.build.host=cs-6000-devshell-vm-27e2d0ba-114c-4f04-93b8-ef7e28aaee9f
|
||||
git.build.time=2019-09-11T06\:41\:53+0200
|
||||
git.build.user.email=mnieuwstraten@qualogy.com
|
||||
git.build.user.name=mnieuwstraten
|
||||
git.build.version=2.1.0.BUILD-SNAPSHOT
|
||||
git.closest.tag.commit.count=
|
||||
git.closest.tag.name=
|
||||
git.commit.id=d6bdc13bdbb08fd1f6c769dfdef11786a0971f90
|
||||
git.commit.id.abbrev=d6bdc13
|
||||
git.commit.id.describe=d6bdc13
|
||||
git.commit.id.describe-short=d6bdc13
|
||||
git.commit.message.full=Move Push-to-PWSX button on the next line
|
||||
git.commit.message.short=Move Push-to-PWSX button on the next line
|
||||
git.commit.time=2019-08-27T15\:28\:19+0200
|
||||
git.commit.user.email=aboyko@pivotal.io
|
||||
git.commit.user.name=Alex Boyko
|
||||
git.dirty=false
|
||||
git.remote.origin.url=https\://github.com/mnieuwstraten/spring-petclinic.git
|
||||
git.tags=
|
||||
git.total.commit.count=660
|
8
target/classes/messages/messages.properties
Normal file
|
@ -0,0 +1,8 @@
|
|||
welcome=Welcome
|
||||
required=is required
|
||||
notFound=has not been found
|
||||
duplicate=is already in use
|
||||
nonNumeric=must be all numeric
|
||||
duplicateFormSubmission=Duplicate form submission is not allowed
|
||||
typeMismatch.date=invalid date
|
||||
typeMismatch.birthDate=invalid date
|
8
target/classes/messages/messages_de.properties
Normal file
|
@ -0,0 +1,8 @@
|
|||
welcome=Willkommen
|
||||
required=muss angegeben werden
|
||||
notFound=wurde nicht gefunden
|
||||
duplicate=ist bereits vergeben
|
||||
nonNumeric=darf nur numerisch sein
|
||||
duplicateFormSubmission=Wiederholtes Absenden des Formulars ist nicht erlaubt
|
||||
typeMismatch.date=ungültiges Datum
|
||||
typeMismatch.birthDate=ungültiges Datum
|
1
target/classes/messages/messages_en.properties
Normal file
|
@ -0,0 +1 @@
|
|||
# This file is intentionally empty. Message look-ups will fall back to the default "messages.properties" file.
|
7059
target/classes/static/resources/css/petclinic.css
Normal file
BIN
target/classes/static/resources/fonts/montserrat-webfont.eot
Normal file
1283
target/classes/static/resources/fonts/montserrat-webfont.svg
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
target/classes/static/resources/fonts/montserrat-webfont.ttf
Normal file
BIN
target/classes/static/resources/fonts/montserrat-webfont.woff
Normal file
BIN
target/classes/static/resources/fonts/varela_round-webfont.eot
Normal file
7875
target/classes/static/resources/fonts/varela_round-webfont.svg
Normal file
After Width: | Height: | Size: 362 KiB |
BIN
target/classes/static/resources/fonts/varela_round-webfont.ttf
Normal file
BIN
target/classes/static/resources/fonts/varela_round-webfont.woff
Normal file
BIN
target/classes/static/resources/images/favicon.png
Normal file
After Width: | Height: | Size: 528 B |
BIN
target/classes/static/resources/images/pets.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
target/classes/static/resources/images/platform-bg.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 3.6 KiB |
BIN
target/classes/static/resources/images/spring-logo-dataflow.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
target/classes/static/resources/images/spring-pivotal-logo.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
11
target/classes/templates/error.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns:th="https://www.thymeleaf.org" th:replace="~{fragments/layout :: layout (~{::body},'error')}">
|
||||
|
||||
<body>
|
||||
<img src="../static/resources/images/pets.png" th:src="@{/resources/images/pets.png}"/>
|
||||
<h2>Something happened...</h2>
|
||||
<p th:text="${message}">Exception message</p>
|
||||
</body>
|
||||
|
||||
</html>
|
30
target/classes/templates/fragments/inputField.html
Normal file
|
@ -0,0 +1,30 @@
|
|||
<html>
|
||||
<body>
|
||||
<form>
|
||||
<th:block th:fragment="input (label, name, type)">
|
||||
<div th:with="valid=${!#fields.hasErrors(name)}"
|
||||
th:class="${'form-group' + (valid ? '' : ' has-error')}"
|
||||
class="form-group">
|
||||
<label class="col-sm-2 control-label" th:text="${label}">Label</label>
|
||||
<div class="col-sm-10">
|
||||
<div th:switch="${type}">
|
||||
<input th:case="'text'" class="form-control" type="text" th:field="*{__${name}__}" />
|
||||
<input th:case="'date'" class="form-control" type="text" th:field="*{__${name}__}"
|
||||
placeholder="YYYY-MM-DD" title="Enter a date in this format: YYYY-MM-DD"
|
||||
pattern="(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))"/>
|
||||
</div>
|
||||
<span th:if="${valid}"
|
||||
class="glyphicon glyphicon-ok form-control-feedback"
|
||||
aria-hidden="true"></span>
|
||||
<th:block th:if="${!valid}">
|
||||
<span
|
||||
class="glyphicon glyphicon-remove form-control-feedback"
|
||||
aria-hidden="true"></span>
|
||||
<span class="help-inline" th:errors="*{__${name}__}">Error</span>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
94
target/classes/templates/fragments/layout.html
Normal file
|
@ -0,0 +1,94 @@
|
|||
<!doctype html>
|
||||
<html th:fragment="layout (template, menu)">
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" th:href="@{/resources/images/favicon.png}">
|
||||
|
||||
<title>PetClinic :: a Spring Framework demonstration</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<link rel="stylesheet" th:href="@{/resources/css/petclinic.css}"/>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<nav class="navbar navbar-default" role="navigation">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<a class="navbar-brand" th:href="@{/}"><span></span></a>
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#main-navbar">
|
||||
<span class="sr-only"><os-p>Toggle navigation</os-p></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse" id="main-navbar">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
|
||||
<li th:fragment="menuItem (path,active,title,glyph,text)" class="active" th:class="${active==menu ? 'active' : ''}">
|
||||
<a th:href="@{__${path}__}" th:title="${title}">
|
||||
<span th:class="'glyphicon glyphicon-'+${glyph}" class="glyphicon glyphicon-home" aria-hidden="true"></span>
|
||||
<span th:text="${text}">Template</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li th:replace="::menuItem ('/','home','home page','home','Home')">
|
||||
<span class="glyphicon glyphicon-home" aria-hidden="true"></span>
|
||||
<span>Home</span>
|
||||
</li>
|
||||
|
||||
<li th:replace="::menuItem ('/owners/find','owners','find owners','search','Find owners')">
|
||||
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
|
||||
<span>Find owners</span>
|
||||
</li>
|
||||
|
||||
<li th:replace="::menuItem ('/vets.html','vets','veterinarians','th-list','Veterinarians')">
|
||||
<span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>
|
||||
<span>Veterinarians</span>
|
||||
</li>
|
||||
|
||||
<li th:replace="::menuItem ('/oups','error','trigger a RuntimeException to see how it is handled','warning-sign','Error')">
|
||||
<span class="glyphicon glyphicon-warning-sign" aria-hidden="true"></span>
|
||||
<span>Error</span>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="container-fluid">
|
||||
<div class="container xd-container">
|
||||
|
||||
<th:block th:include="${template}"/>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 text-center">
|
||||
<img src="../static/resources/images/spring-pivotal-logo.png" th:src="@{/resources/images/spring-pivotal-logo.png}"
|
||||
alt="Sponsored by Pivotal"/></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script th:src="@{/webjars/jquery/jquery.min.js}"></script>
|
||||
<script th:src="@{/webjars/jquery-ui/jquery-ui.min.js}"></script>
|
||||
<script th:src="@{/webjars/bootstrap/js/bootstrap.min.js}"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
29
target/classes/templates/fragments/selectField.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
<html>
|
||||
<body>
|
||||
<form>
|
||||
<th:block th:fragment="select (label, name, items)">
|
||||
<div th:with="valid=${!#fields.hasErrors(name)}"
|
||||
th:class="${'form-group' + (valid ? '' : ' has-error')}"
|
||||
class="form-group">
|
||||
<label class="col-sm-2 control-label" th:text="${label}">Label</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<select th:field="*{__${name}__}">
|
||||
<option th:each="item : ${items}" th:value="${item}"
|
||||
th:text="${item}">dog</option>
|
||||
</select>
|
||||
<span th:if="${valid}"
|
||||
class="glyphicon glyphicon-ok form-control-feedback"
|
||||
aria-hidden="true"></span>
|
||||
<th:block th:if="${!valid}">
|
||||
<span
|
||||
class="glyphicon glyphicon-remove form-control-feedback"
|
||||
aria-hidden="true"></span>
|
||||
<span class="help-inline" th:errors="*{__${name}__}">Error</span>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
30
target/classes/templates/owners/createOrUpdateOwnerForm.html
Normal file
|
@ -0,0 +1,30 @@
|
|||
<html xmlns:th="https://www.thymeleaf.org"
|
||||
th:replace="~{fragments/layout :: layout (~{::body},'owners')}">
|
||||
|
||||
<body>
|
||||
|
||||
<h2>Owner</h2>
|
||||
<form th:object="${owner}" class="form-horizontal" id="add-owner-form" method="post">
|
||||
<div class="form-group has-feedback">
|
||||
<input
|
||||
th:replace="~{fragments/inputField :: input ('First Name', 'firstName', 'text')}" />
|
||||
<input
|
||||
th:replace="~{fragments/inputField :: input ('Last Name', 'lastName', 'text')}" />
|
||||
<input
|
||||
th:replace="~{fragments/inputField :: input ('Address', 'address', 'text')}" />
|
||||
<input
|
||||
th:replace="~{fragments/inputField :: input ('City', 'city', 'text')}" />
|
||||
<input
|
||||
th:replace="~{fragments/inputField :: input ('Telephone', 'telephone', 'text')}" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
<button
|
||||
th:with="text=${owner['new']} ? 'Add Owner' : 'Update Owner'"
|
||||
class="btn btn-default" type="submit" th:text="${text}">Add
|
||||
Owner</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
35
target/classes/templates/owners/findOwners.html
Normal file
|
@ -0,0 +1,35 @@
|
|||
<html xmlns:th="https://www.thymeleaf.org"
|
||||
th:replace="~{fragments/layout :: layout (~{::body},'owners')}">
|
||||
|
||||
<body>
|
||||
|
||||
<h2>Find Owners</h2>
|
||||
|
||||
<form th:object="${owner}" th:action="@{/owners}" method="get"
|
||||
class="form-horizontal" id="search-owner-form">
|
||||
<div class="form-group">
|
||||
<div class="control-group" id="lastNameGroup">
|
||||
<label class="col-sm-2 control-label">Last name </label>
|
||||
<div class="col-sm-10">
|
||||
<input class="form-control" th:field="*{lastName}" size="30"
|
||||
maxlength="80" /> <span class="help-inline"><div
|
||||
th:if="${#fields.hasAnyErrors()}">
|
||||
<p th:each="err : ${#fields.allErrors()}" th:text="${err}">Error</p>
|
||||
</div></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
<button type="submit" class="btn btn-default">Find
|
||||
Owner</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<br />
|
||||
<a class="btn btn-default" th:href="@{/owners/new}">Add Owner</a>
|
||||
|
||||
</body>
|
||||
</html>
|
83
target/classes/templates/owners/ownerDetails.html
Normal file
|
@ -0,0 +1,83 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns:th="https://www.thymeleaf.org"
|
||||
th:replace="~{fragments/layout :: layout (~{::body},'owners')}">
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
<h2>Owner Information</h2>
|
||||
|
||||
|
||||
<table class="table table-striped" th:object="${owner}">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<td><b th:text="*{firstName + ' ' + lastName}"></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Address</th>
|
||||
<td th:text="*{address}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>City</th>
|
||||
<td th:text="*{city}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Telephone</th>
|
||||
<td th:text="*{telephone}" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a th:href="@{{id}/edit(id=${owner.id})}" class="btn btn-default">Edit
|
||||
Owner</a>
|
||||
<a th:href="@{{id}/pets/new(id=${owner.id})}" class="btn btn-default">Add
|
||||
New Pet</a>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<h2>Pets and Visits</h2>
|
||||
|
||||
<table class="table table-striped">
|
||||
|
||||
<tr th:each="pet : ${owner.pets}">
|
||||
<td valign="top">
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Name</dt>
|
||||
<dd th:text="${pet.name}" /></dd>
|
||||
<dt>Birth Date</dt>
|
||||
<dd
|
||||
th:text="${#temporals.format(pet.birthDate, 'yyyy-MM-dd')}" /></dd>
|
||||
<dt>Type</dt>
|
||||
<dd th:text="${pet.type}" /></dd>
|
||||
</dl>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<table class="table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Visit Date</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr th:each="visit : ${pet.visits}">
|
||||
<td th:text="${#temporals.format(visit.date, 'yyyy-MM-dd')}"></td>
|
||||
<td th:text="${visit?.description}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a
|
||||
th:href="@{{ownerId}/pets/{petId}/edit(ownerId=${owner.id},petId=${pet.id})}">Edit
|
||||
Pet</a></td>
|
||||
<td><a
|
||||
th:href="@{{ownerId}/pets/{petId}/visits/new(ownerId=${owner.id},petId=${pet.id})}">Add
|
||||
Visit</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
33
target/classes/templates/owners/ownersList.html
Normal file
|
@ -0,0 +1,33 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns:th="https://www.thymeleaf.org" th:replace="~{fragments/layout :: layout (~{::body},'owners')}">
|
||||
|
||||
<body>
|
||||
|
||||
<h2>Owners</h2>
|
||||
|
||||
<table id="owners" class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 150px;">Name</th>
|
||||
<th style="width: 200px;">Address</th>
|
||||
<th>City</th>
|
||||
<th style="width: 120px">Telephone</th>
|
||||
<th>Pets</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr th:each="owner : ${selections}">
|
||||
<td>
|
||||
<a th:href="@{/owners/__${owner.id}__}" th:text="${owner.firstName + ' ' + owner.lastName}"/></a>
|
||||
</td>
|
||||
<td th:text="${owner.address}"/>
|
||||
<td th:text="${owner.city}"/>
|
||||
<td th:text="${owner.telephone}"/>
|
||||
<td><span th:each="pet : ${owner.pets}" th:text="${pet.name} "/></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
38
target/classes/templates/pets/createOrUpdatePetForm.html
Normal file
|
@ -0,0 +1,38 @@
|
|||
<html xmlns:th="https://www.thymeleaf.org"
|
||||
th:replace="~{fragments/layout :: layout (~{::body},'owners')}">
|
||||
|
||||
<body>
|
||||
|
||||
<h2>
|
||||
<th:block th:if="${pet['new']}">New </th:block>
|
||||
Pet
|
||||
</h2>
|
||||
<form th:object="${pet}" class="form-horizontal" method="post">
|
||||
<input type="hidden" name="id" th:value="*{id}" />
|
||||
<div class="form-group has-feedback">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">Owner</label>
|
||||
<div class="col-sm-10">
|
||||
<span th:text="${pet.owner?.firstName + ' ' + pet.owner?.lastName}" />
|
||||
</div>
|
||||
</div>
|
||||
<input
|
||||
th:replace="~{fragments/inputField :: input ('Name', 'name', 'text')}" />
|
||||
<input
|
||||
th:replace="~{fragments/inputField :: input ('Birth Date', 'birthDate', 'date')}" />
|
||||
<input
|
||||
th:replace="~{fragments/selectField :: select ('Type', 'type', ${types})}" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
<button
|
||||
th:with="text=${pet['new']} ? 'Add Pet' : 'Update Pet'"
|
||||
class="btn btn-default" type="submit" th:text="${text}">Add
|
||||
Pet</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
61
target/classes/templates/pets/createOrUpdateVisitForm.html
Normal file
|
@ -0,0 +1,61 @@
|
|||
<html xmlns:th="https://www.thymeleaf.org"
|
||||
th:replace="~{fragments/layout :: layout (~{::body},'owners')}">
|
||||
|
||||
<body>
|
||||
|
||||
<h2>
|
||||
<th:block th:if="${visit['new']}">New </th:block>
|
||||
Visit
|
||||
</h2>
|
||||
|
||||
<b>Pet</b>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Birth Date</th>
|
||||
<th>Type</th>
|
||||
<th>Owner</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td th:text="${pet.name}" /></td>
|
||||
<td
|
||||
th:text="${#temporals.format(pet.birthDate, 'yyyy-MM-dd')}" /></td>
|
||||
<td th:text="${pet.type}" /></td>
|
||||
<td
|
||||
th:text="${pet.owner?.firstName + ' ' + pet.owner?.lastName}" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<form th:object="${visit}" class="form-horizontal" method="post">
|
||||
<div class="form-group has-feedback">
|
||||
<input
|
||||
th:replace="~{fragments/inputField :: input ('Date', 'date', 'date')}" />
|
||||
<input
|
||||
th:replace="~{fragments/inputField :: input ('Description', 'description', 'text')}" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
<input type="hidden" name="petId" th:value="${pet.id}" />
|
||||
<button class="btn btn-default" type="submit">Add Visit</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<br />
|
||||
<b>Previous Visits</b>
|
||||
<table class="table table-striped">
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr th:if="${!visit['new']}" th:each="visit : ${pet.visits}">
|
||||
<td th:text="${#temporals.format(visit.date, 'yyyy-MM-dd')}" /></td>
|
||||
<td th:text=" ${visit.description}" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
27
target/classes/templates/vets/vetList.html
Normal file
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns:th="https://www.thymeleaf.org"
|
||||
th:replace="~{fragments/layout :: layout (~{::body},'vets')}">
|
||||
|
||||
<body>
|
||||
|
||||
<h2>Veterinarians</h2>
|
||||
|
||||
<table id="vets" class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Specialties</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr th:each="vet : ${vets.vetList}">
|
||||
<td th:text="${vet.firstName + ' ' + vet.lastName}"></td>
|
||||
<td><span th:each="specialty : ${vet.specialties}"
|
||||
th:text="${specialty.name + ' '}" /> <span
|
||||
th:if="${vet.nrOfSpecialties == 0}">none</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
16
target/classes/templates/welcome.html
Normal file
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns:th="https://www.thymeleaf.org" th:replace="~{fragments/layout :: layout (~{::body},'home')}">
|
||||
|
||||
<body>
|
||||
|
||||
<h2 th:text="#{welcome}">Welcome</h2>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<img class="img-responsive" src="../static/resources/images/pets.png" th:src="@{/resources/images/pets.png}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
BIN
target/jacoco.exec
Normal file
3
target/maven-archiver/pom.properties
Normal file
|
@ -0,0 +1,3 @@
|
|||
version=2.1.0.BUILD-SNAPSHOT
|
||||
groupId=org.springframework.samples
|
||||
artifactId=spring-petclinic
|
|
@ -0,0 +1,24 @@
|
|||
org/springframework/samples/petclinic/visit/VisitRepository.class
|
||||
org/springframework/samples/petclinic/system/CrashController.class
|
||||
org/springframework/samples/petclinic/model/Person.class
|
||||
org/springframework/samples/petclinic/system/WelcomeController.class
|
||||
org/springframework/samples/petclinic/PetClinicApplication.class
|
||||
org/springframework/samples/petclinic/vet/Specialty.class
|
||||
org/springframework/samples/petclinic/owner/Pet.class
|
||||
org/springframework/samples/petclinic/owner/PetType.class
|
||||
org/springframework/samples/petclinic/owner/OwnerController.class
|
||||
org/springframework/samples/petclinic/owner/PetTypeFormatter.class
|
||||
org/springframework/samples/petclinic/system/CacheConfiguration.class
|
||||
org/springframework/samples/petclinic/visit/Visit.class
|
||||
org/springframework/samples/petclinic/owner/Owner.class
|
||||
org/springframework/samples/petclinic/vet/Vet.class
|
||||
org/springframework/samples/petclinic/owner/OwnerRepository.class
|
||||
org/springframework/samples/petclinic/vet/VetRepository.class
|
||||
org/springframework/samples/petclinic/owner/PetRepository.class
|
||||
org/springframework/samples/petclinic/model/BaseEntity.class
|
||||
org/springframework/samples/petclinic/owner/PetValidator.class
|
||||
org/springframework/samples/petclinic/vet/VetController.class
|
||||
org/springframework/samples/petclinic/owner/PetController.class
|
||||
org/springframework/samples/petclinic/vet/Vets.class
|
||||
org/springframework/samples/petclinic/model/NamedEntity.class
|
||||
org/springframework/samples/petclinic/owner/VisitController.class
|
|
@ -0,0 +1,25 @@
|
|||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/system/CrashController.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/owner/PetValidator.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/PetClinicApplication.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/vet/Specialty.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/owner/Owner.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/system/WelcomeController.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/vet/VetController.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/owner/PetType.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/owner/PetController.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/owner/Pet.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/owner/VisitController.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/visit/Visit.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/model/package-info.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/owner/PetTypeFormatter.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/owner/PetRepository.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/model/BaseEntity.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/vet/Vets.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/vet/Vet.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/model/Person.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/vet/VetRepository.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/visit/VisitRepository.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java
|
|
@ -0,0 +1,13 @@
|
|||
org/springframework/samples/petclinic/model/ValidatorTests.class
|
||||
org/springframework/samples/petclinic/system/CrashControllerTests.class
|
||||
org/springframework/samples/petclinic/owner/VisitControllerTests.class
|
||||
org/springframework/samples/petclinic/owner/PetControllerTests.class
|
||||
org/springframework/samples/petclinic/service/ClinicServiceTests.class
|
||||
org/springframework/samples/petclinic/owner/PetTypeFormatterTests$2.class
|
||||
org/springframework/samples/petclinic/owner/PetTypeFormatterTests$1.class
|
||||
org/springframework/samples/petclinic/vet/VetTests.class
|
||||
org/springframework/samples/petclinic/vet/VetControllerTests.class
|
||||
org/springframework/samples/petclinic/service/EntityUtils.class
|
||||
org/springframework/samples/petclinic/owner/OwnerControllerTests.class
|
||||
org/springframework/samples/petclinic/PetclinicIntegrationTests.class
|
||||
org/springframework/samples/petclinic/owner/PetTypeFormatterTests.class
|
|
@ -0,0 +1,11 @@
|
|||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/test/java/org/springframework/samples/petclinic/vet/VetControllerTests.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/test/java/org/springframework/samples/petclinic/PetclinicIntegrationTests.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/test/java/org/springframework/samples/petclinic/service/EntityUtils.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/test/java/org/springframework/samples/petclinic/system/CrashControllerTests.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/test/java/org/springframework/samples/petclinic/model/ValidatorTests.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/test/java/org/springframework/samples/petclinic/vet/VetTests.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/test/java/org/springframework/samples/petclinic/owner/PetTypeFormatterTests.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/test/java/org/springframework/samples/petclinic/owner/VisitControllerTests.java
|
||||
/home/mnieuwstraten/git_mnieuwstraten/spring-petclinic/src/test/java/org/springframework/samples/petclinic/owner/PetControllerTests.java
|
1
target/site/jacoco/index.html
Normal file
BIN
target/site/jacoco/jacoco-resources/branchfc.gif
Normal file
After Width: | Height: | Size: 91 B |
BIN
target/site/jacoco/jacoco-resources/branchnc.gif
Normal file
After Width: | Height: | Size: 91 B |
BIN
target/site/jacoco/jacoco-resources/branchpc.gif
Normal file
After Width: | Height: | Size: 91 B |
BIN
target/site/jacoco/jacoco-resources/bundle.gif
Normal file
After Width: | Height: | Size: 709 B |
BIN
target/site/jacoco/jacoco-resources/class.gif
Normal file
After Width: | Height: | Size: 586 B |
BIN
target/site/jacoco/jacoco-resources/down.gif
Normal file
After Width: | Height: | Size: 67 B |
BIN
target/site/jacoco/jacoco-resources/greenbar.gif
Normal file
After Width: | Height: | Size: 91 B |
BIN
target/site/jacoco/jacoco-resources/group.gif
Normal file
After Width: | Height: | Size: 351 B |
BIN
target/site/jacoco/jacoco-resources/method.gif
Normal file
After Width: | Height: | Size: 193 B |
BIN
target/site/jacoco/jacoco-resources/package.gif
Normal file
After Width: | Height: | Size: 227 B |
13
target/site/jacoco/jacoco-resources/prettify.css
Normal file
|
@ -0,0 +1,13 @@
|
|||
/* Pretty printing styles. Used with prettify.js. */
|
||||
|
||||
.str { color: #2A00FF; }
|
||||
.kwd { color: #7F0055; font-weight:bold; }
|
||||
.com { color: #3F5FBF; }
|
||||
.typ { color: #606; }
|
||||
.lit { color: #066; }
|
||||
.pun { color: #660; }
|
||||
.pln { color: #000; }
|
||||
.tag { color: #008; }
|
||||
.atn { color: #606; }
|
||||
.atv { color: #080; }
|
||||
.dec { color: #606; }
|
1510
target/site/jacoco/jacoco-resources/prettify.js
Normal file
BIN
target/site/jacoco/jacoco-resources/redbar.gif
Normal file
After Width: | Height: | Size: 91 B |
243
target/site/jacoco/jacoco-resources/report.css
Normal file
|
@ -0,0 +1,243 @@
|
|||
body, td {
|
||||
font-family:sans-serif;
|
||||
font-size:10pt;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight:bold;
|
||||
font-size:18pt;
|
||||
}
|
||||
|
||||
.breadcrumb {
|
||||
border:#d6d3ce 1px solid;
|
||||
padding:2px 4px 2px 4px;
|
||||
}
|
||||
|
||||
.breadcrumb .info {
|
||||
float:right;
|
||||
}
|
||||
|
||||
.breadcrumb .info a {
|
||||
margin-left:8px;
|
||||
}
|
||||
|
||||
.el_report {
|
||||
padding-left:18px;
|
||||
background-image:url(report.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_group {
|
||||
padding-left:18px;
|
||||
background-image:url(group.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_bundle {
|
||||
padding-left:18px;
|
||||
background-image:url(bundle.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_package {
|
||||
padding-left:18px;
|
||||
background-image:url(package.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_class {
|
||||
padding-left:18px;
|
||||
background-image:url(class.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_source {
|
||||
padding-left:18px;
|
||||
background-image:url(source.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_method {
|
||||
padding-left:18px;
|
||||
background-image:url(method.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_session {
|
||||
padding-left:18px;
|
||||
background-image:url(session.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
pre.source {
|
||||
border:#d6d3ce 1px solid;
|
||||
font-family:monospace;
|
||||
}
|
||||
|
||||
pre.source ol {
|
||||
margin-bottom: 0px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
pre.source li {
|
||||
border-left: 1px solid #D6D3CE;
|
||||
color: #A0A0A0;
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
pre.source span.fc {
|
||||
background-color:#ccffcc;
|
||||
}
|
||||
|
||||
pre.source span.nc {
|
||||
background-color:#ffaaaa;
|
||||
}
|
||||
|
||||
pre.source span.pc {
|
||||
background-color:#ffffcc;
|
||||
}
|
||||
|
||||
pre.source span.bfc {
|
||||
background-image: url(branchfc.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 2px center;
|
||||
}
|
||||
|
||||
pre.source span.bfc:hover {
|
||||
background-color:#80ff80;
|
||||
}
|
||||
|
||||
pre.source span.bnc {
|
||||
background-image: url(branchnc.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 2px center;
|
||||
}
|
||||
|
||||
pre.source span.bnc:hover {
|
||||
background-color:#ff8080;
|
||||
}
|
||||
|
||||
pre.source span.bpc {
|
||||
background-image: url(branchpc.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 2px center;
|
||||
}
|
||||
|
||||
pre.source span.bpc:hover {
|
||||
background-color:#ffff80;
|
||||
}
|
||||
|
||||
table.coverage {
|
||||
empty-cells:show;
|
||||
border-collapse:collapse;
|
||||
}
|
||||
|
||||
table.coverage thead {
|
||||
background-color:#e0e0e0;
|
||||
}
|
||||
|
||||
table.coverage thead td {
|
||||
white-space:nowrap;
|
||||
padding:2px 14px 0px 6px;
|
||||
border-bottom:#b0b0b0 1px solid;
|
||||
}
|
||||
|
||||
table.coverage thead td.bar {
|
||||
border-left:#cccccc 1px solid;
|
||||
}
|
||||
|
||||
table.coverage thead td.ctr1 {
|
||||
text-align:right;
|
||||
border-left:#cccccc 1px solid;
|
||||
}
|
||||
|
||||
table.coverage thead td.ctr2 {
|
||||
text-align:right;
|
||||
padding-left:2px;
|
||||
}
|
||||
|
||||
table.coverage thead td.sortable {
|
||||
cursor:pointer;
|
||||
background-image:url(sort.gif);
|
||||
background-position:right center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
table.coverage thead td.up {
|
||||
background-image:url(up.gif);
|
||||
}
|
||||
|
||||
table.coverage thead td.down {
|
||||
background-image:url(down.gif);
|
||||
}
|
||||
|
||||
table.coverage tbody td {
|
||||
white-space:nowrap;
|
||||
padding:2px 6px 2px 6px;
|
||||
border-bottom:#d6d3ce 1px solid;
|
||||
}
|
||||
|
||||
table.coverage tbody tr:hover {
|
||||
background: #f0f0d0 !important;
|
||||
}
|
||||
|
||||
table.coverage tbody td.bar {
|
||||
border-left:#e8e8e8 1px solid;
|
||||
}
|
||||
|
||||
table.coverage tbody td.ctr1 {
|
||||
text-align:right;
|
||||
padding-right:14px;
|
||||
border-left:#e8e8e8 1px solid;
|
||||
}
|
||||
|
||||
table.coverage tbody td.ctr2 {
|
||||
text-align:right;
|
||||
padding-right:14px;
|
||||
padding-left:2px;
|
||||
}
|
||||
|
||||
table.coverage tfoot td {
|
||||
white-space:nowrap;
|
||||
padding:2px 6px 2px 6px;
|
||||
}
|
||||
|
||||
table.coverage tfoot td.bar {
|
||||
border-left:#e8e8e8 1px solid;
|
||||
}
|
||||
|
||||
table.coverage tfoot td.ctr1 {
|
||||
text-align:right;
|
||||
padding-right:14px;
|
||||
border-left:#e8e8e8 1px solid;
|
||||
}
|
||||
|
||||
table.coverage tfoot td.ctr2 {
|
||||
text-align:right;
|
||||
padding-right:14px;
|
||||
padding-left:2px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
margin-top:20px;
|
||||
border-top:#d6d3ce 1px solid;
|
||||
padding-top:2px;
|
||||
font-size:8pt;
|
||||
color:#a0a0a0;
|
||||
}
|
||||
|
||||
.footer a {
|
||||
color:#a0a0a0;
|
||||
}
|
||||
|
||||
.right {
|
||||
float:right;
|
||||
}
|
BIN
target/site/jacoco/jacoco-resources/report.gif
Normal file
After Width: | Height: | Size: 363 B |
BIN
target/site/jacoco/jacoco-resources/session.gif
Normal file
After Width: | Height: | Size: 213 B |
BIN
target/site/jacoco/jacoco-resources/sort.gif
Normal file
After Width: | Height: | Size: 58 B |
147
target/site/jacoco/jacoco-resources/sort.js
Normal file
|
@ -0,0 +1,147 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2009, 2018 Mountainminds GmbH & Co. KG and Contributors
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Marc R. Hoffmann - initial API and implementation
|
||||
*
|
||||
*******************************************************************************/
|
||||
|
||||
(function () {
|
||||
|
||||
/**
|
||||
* Sets the initial sorting derived from the hash.
|
||||
*
|
||||
* @param linkelementids
|
||||
* list of element ids to search for links to add sort inidcator
|
||||
* hash links
|
||||
*/
|
||||
function initialSort(linkelementids) {
|
||||
window.linkelementids = linkelementids;
|
||||
var hash = window.location.hash;
|
||||
if (hash) {
|
||||
var m = hash.match(/up-./);
|
||||
if (m) {
|
||||
var header = window.document.getElementById(m[0].charAt(3));
|
||||
if (header) {
|
||||
sortColumn(header, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
var m = hash.match(/dn-./);
|
||||
if (m) {
|
||||
var header = window.document.getElementById(m[0].charAt(3));
|
||||
if (header) {
|
||||
sortColumn(header, false);
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sorts the columns with the given header dependening on the current sort state.
|
||||
*/
|
||||
function toggleSort(header) {
|
||||
var sortup = header.className.indexOf('down ') == 0;
|
||||
sortColumn(header, sortup);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sorts the columns with the given header in the given direction.
|
||||
*/
|
||||
function sortColumn(header, sortup) {
|
||||
var table = header.parentNode.parentNode.parentNode;
|
||||
var body = table.tBodies[0];
|
||||
var colidx = getNodePosition(header);
|
||||
|
||||
resetSortedStyle(table);
|
||||
|
||||
var rows = body.rows;
|
||||
var sortedrows = [];
|
||||
for (var i = 0; i < rows.length; i++) {
|
||||
r = rows[i];
|
||||
sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
|
||||
}
|
||||
|
||||
var hash;
|
||||
|
||||
if (sortup) {
|
||||
for (var i = sortedrows.length - 1; i >= 0; i--) {
|
||||
body.appendChild(sortedrows[i]);
|
||||
}
|
||||
header.className = 'up ' + header.className;
|
||||
hash = 'up-' + header.id;
|
||||
} else {
|
||||
for (var i = 0; i < sortedrows.length; i++) {
|
||||
body.appendChild(sortedrows[i]);
|
||||
}
|
||||
header.className = 'down ' + header.className;
|
||||
hash = 'dn-' + header.id;
|
||||
}
|
||||
|
||||
setHash(hash);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the sort indicator as a hash to the document URL and all links.
|
||||
*/
|
||||
function setHash(hash) {
|
||||
window.document.location.hash = hash;
|
||||
ids = window.linkelementids;
|
||||
for (var i = 0; i < ids.length; i++) {
|
||||
setHashOnAllLinks(document.getElementById(ids[i]), hash);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Extend all links within the given tag with the given hash.
|
||||
*/
|
||||
function setHashOnAllLinks(tag, hash) {
|
||||
links = tag.getElementsByTagName("a");
|
||||
for (var i = 0; i < links.length; i++) {
|
||||
var a = links[i];
|
||||
var href = a.href;
|
||||
var hashpos = href.indexOf("#");
|
||||
if (hashpos != -1) {
|
||||
href = href.substring(0, hashpos);
|
||||
}
|
||||
a.href = href + "#" + hash;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculates the position of a element within its parent.
|
||||
*/
|
||||
function getNodePosition(element) {
|
||||
var pos = -1;
|
||||
while (element) {
|
||||
element = element.previousSibling;
|
||||
pos++;
|
||||
}
|
||||
return pos;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the sorting indicator style from all headers.
|
||||
*/
|
||||
function resetSortedStyle(table) {
|
||||
for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
|
||||
if (c.className) {
|
||||
if (c.className.indexOf('down ') == 0) {
|
||||
c.className = c.className.slice(5);
|
||||
}
|
||||
if (c.className.indexOf('up ') == 0) {
|
||||
c.className = c.className.slice(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window['initialSort'] = initialSort;
|
||||
window['toggleSort'] = toggleSort;
|
||||
|
||||
})();
|
BIN
target/site/jacoco/jacoco-resources/source.gif
Normal file
After Width: | Height: | Size: 354 B |
BIN
target/site/jacoco/jacoco-resources/up.gif
Normal file
After Width: | Height: | Size: 67 B |
1
target/site/jacoco/jacoco-sessions.html
Normal file
21
target/site/jacoco/jacoco.csv
Normal file
|
@ -0,0 +1,21 @@
|
|||
GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
|
||||
petclinic,org.springframework.samples.petclinic,PetClinicApplication,5,3,0,0,2,1,1,1,1,1
|
||||
petclinic,org.springframework.samples.petclinic.model,BaseEntity,0,17,0,2,0,5,0,5,0,4
|
||||
petclinic,org.springframework.samples.petclinic.model,NamedEntity,0,13,0,0,0,5,0,4,0,4
|
||||
petclinic,org.springframework.samples.petclinic.model,Person,0,17,0,0,0,7,0,5,0,5
|
||||
petclinic,org.springframework.samples.petclinic.vet,VetController,0,37,0,0,0,10,0,3,0,3
|
||||
petclinic,org.springframework.samples.petclinic.vet,Vet,4,41,0,2,2,10,1,6,1,5
|
||||
petclinic,org.springframework.samples.petclinic.vet,Specialty,0,3,0,0,0,1,0,1,0,1
|
||||
petclinic,org.springframework.samples.petclinic.vet,Vets,0,14,0,2,0,4,0,3,0,2
|
||||
petclinic,org.springframework.samples.petclinic.visit,Visit,4,23,0,0,2,10,1,6,1,6
|
||||
petclinic,org.springframework.samples.petclinic.owner,VisitController,0,51,0,2,0,16,0,6,0,5
|
||||
petclinic,org.springframework.samples.petclinic.owner,Owner,31,110,8,4,9,28,7,13,2,12
|
||||
petclinic,org.springframework.samples.petclinic.owner,OwnerController,0,144,0,10,0,36,0,14,0,9
|
||||
petclinic,org.springframework.samples.petclinic.owner,PetType,0,3,0,0,0,1,0,1,0,1
|
||||
petclinic,org.springframework.samples.petclinic.owner,PetTypeFormatter,0,44,0,4,0,10,0,5,0,3
|
||||
petclinic,org.springframework.samples.petclinic.owner,Pet,9,62,1,1,3,19,2,10,1,10
|
||||
petclinic,org.springframework.samples.petclinic.owner,PetController,5,115,3,7,1,31,3,11,0,9
|
||||
petclinic,org.springframework.samples.petclinic.owner,PetValidator,5,36,2,6,1,10,2,5,0,3
|
||||
petclinic,org.springframework.samples.petclinic.system,WelcomeController,2,3,0,0,1,1,1,1,1,1
|
||||
petclinic,org.springframework.samples.petclinic.system,CacheConfiguration,0,19,0,0,0,5,0,4,0,4
|
||||
petclinic,org.springframework.samples.petclinic.system,CrashController,5,3,0,0,1,1,1,1,1,1
|
|
1
target/site/jacoco/jacoco.xml
Normal file
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>BaseEntity</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">petclinic</a> > <a href="index.html" class="el_package">org.springframework.samples.petclinic.model</a> > <span class="el_class">BaseEntity</span></div><h1>BaseEntity</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 17</td><td class="ctr2">100%</td><td class="bar">0 of 2</td><td class="ctr2">100%</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="BaseEntity.java.html#L47" class="el_method">isNew()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="BaseEntity.java.html#L43" class="el_method">setId(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="68" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="BaseEntity.java.html#L33" class="el_method">BaseEntity()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="51" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="BaseEntity.java.html#L39" class="el_method">getId()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="51" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html>
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>BaseEntity.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">petclinic</a> > <a href="index.source.html" class="el_package">org.springframework.samples.petclinic.model</a> > <span class="el_source">BaseEntity.java</span></div><h1>BaseEntity.java</h1><pre class="source lang-java linenums">/*
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.springframework.samples.petclinic.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.MappedSuperclass;
|
||||
|
||||
/**
|
||||
* Simple JavaBean domain object with an id property. Used as a base class for objects
|
||||
* needing this property.
|
||||
*
|
||||
* @author Ken Krebs
|
||||
* @author Juergen Hoeller
|
||||
*/
|
||||
@MappedSuperclass
|
||||
<span class="fc" id="L33">public class BaseEntity implements Serializable {</span>
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
public Integer getId() {
|
||||
<span class="fc" id="L39"> return id;</span>
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
<span class="fc" id="L43"> this.id = id;</span>
|
||||
<span class="fc" id="L44"> }</span>
|
||||
|
||||
public boolean isNew() {
|
||||
<span class="fc bfc" id="L47" title="All 2 branches covered."> return this.id == null;</span>
|
||||
}
|
||||
|
||||
}
|
||||
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html>
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>NamedEntity</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">petclinic</a> > <a href="index.html" class="el_package">org.springframework.samples.petclinic.model</a> > <span class="el_class">NamedEntity</span></div><h1>NamedEntity</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 13</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="NamedEntity.java.html#L40" class="el_method">setName(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="NamedEntity.java.html#L30" class="el_method">NamedEntity()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="NamedEntity.java.html#L36" class="el_method">getName()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="NamedEntity.java.html#L45" class="el_method">toString()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html>
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>NamedEntity.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">petclinic</a> > <a href="index.source.html" class="el_package">org.springframework.samples.petclinic.model</a> > <span class="el_source">NamedEntity.java</span></div><h1>NamedEntity.java</h1><pre class="source lang-java linenums">/*
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.springframework.samples.petclinic.model;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.MappedSuperclass;
|
||||
|
||||
|
||||
/**
|
||||
* Simple JavaBean domain object adds a name property to <code>BaseEntity</code>. Used as a base class for objects
|
||||
* needing these properties.
|
||||
*
|
||||
* @author Ken Krebs
|
||||
* @author Juergen Hoeller
|
||||
*/
|
||||
@MappedSuperclass
|
||||
<span class="fc" id="L30">public class NamedEntity extends BaseEntity {</span>
|
||||
|
||||
@Column(name = "name")
|
||||
private String name;
|
||||
|
||||
public String getName() {
|
||||
<span class="fc" id="L36"> return this.name;</span>
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
<span class="fc" id="L40"> this.name = name;</span>
|
||||
<span class="fc" id="L41"> }</span>
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
<span class="fc" id="L45"> return this.getName();</span>
|
||||
}
|
||||
|
||||
}
|
||||
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html>
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Person</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">petclinic</a> > <a href="index.html" class="el_package">org.springframework.samples.petclinic.model</a> > <span class="el_class">Person</span></div><h1>Person</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 17</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="Person.java.html#L43" class="el_method">setFirstName(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="Person.java.html#L51" class="el_method">setLastName(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="Person.java.html#L28" class="el_method">Person()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="Person.java.html#L39" class="el_method">getFirstName()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="Person.java.html#L47" class="el_method">getLastName()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html>
|