1818
1919import com .wordnik .swagger .sample .model .*;
2020
21- import java .util .List ;
22- import java .util .ArrayList ;
21+ import java .util .*;
2322
2423public class PetData {
25- static List <Pet > pets = new ArrayList <Pet >();
26- static List <Category > categories = new ArrayList <Category >();
27-
28- static {
29- categories .add (createCategory (1 , "Dogs" ));
30- categories .add (createCategory (2 , "Cats" ));
31- categories .add (createCategory (3 , "Rabbits" ));
32- categories .add (createCategory (4 , "Lions" ));
33-
34- pets .add (createPet (1 , categories .get (1 ), "Cat 1" , new String [] {
35- "url1" , "url2" }, new String [] { "tag1" , "tag2" }, "available" ));
36- pets .add (createPet (2 , categories .get (1 ), "Cat 2" , new String [] {
37- "url1" , "url2" }, new String [] { "tag2" , "tag3" }, "available" ));
38- pets .add (createPet (3 , categories .get (1 ), "Cat 3" , new String [] {
39- "url1" , "url2" }, new String [] { "tag3" , "tag4" }, "pending" ));
40-
41- pets .add (createPet (4 , categories .get (0 ), "Dog 1" , new String [] {
42- "url1" , "url2" }, new String [] { "tag1" , "tag2" }, "available" ));
43- pets .add (createPet (5 , categories .get (0 ), "Dog 2" , new String [] {
44- "url1" , "url2" }, new String [] { "tag2" , "tag3" }, "sold" ));
45- pets .add (createPet (6 , categories .get (0 ), "Dog 3" , new String [] {
46- "url1" , "url2" }, new String [] { "tag3" , "tag4" }, "pending" ));
47-
48- pets .add (createPet (7 , categories .get (3 ), "Lion 1" , new String [] {
49- "url1" , "url2" }, new String [] { "tag1" , "tag2" }, "available" ));
50- pets .add (createPet (8 , categories .get (3 ), "Lion 2" , new String [] {
51- "url1" , "url2" }, new String [] { "tag2" , "tag3" }, "available" ));
52- pets .add (createPet (9 , categories .get (3 ), "Lion 3" , new String [] {
53- "url1" , "url2" }, new String [] { "tag3" , "tag4" }, "available" ));
54-
55- pets .add (createPet (10 , categories .get (2 ), "Rabbit 1" , new String [] {
56- "url1" , "url2" }, new String [] { "tag3" , "tag4" }, "available" ));
57- }
58-
59- public Pet getPetbyId (long petId ) {
60- for (Pet pet : pets ) {
61- if (pet .getId () == petId ) {
62- return pet ;
63- }
64- }
65- return null ;
66- }
67-
68- public List <Pet > findPetByStatus (String status ) {
69- String [] statues = status .split ("," );
70- List <Pet > result = new java .util .ArrayList <Pet >();
71- for (Pet pet : pets ) {
72- for (String s : statues ) {
73- if (s .equals (pet .getStatus ())) {
74- result .add (pet );
75- }
76- }
77- }
78- return result ;
79- }
80-
81- public List <Pet > findPetByTags (String tags ) {
82- String [] tagList = tags .split ("," );
83- List <Pet > result = new java .util .ArrayList <Pet >();
84- for (Pet pet : pets ) {
85- if (null != pet .getTags ()) {
86- for (Tag tag : pet .getTags ()) {
87- for (String tagListString : tagList ) {
88- if (tagListString .equals (tag .getName ()))
89- result .add (pet );
90- }
91- }
92- }
93- }
94- return result ;
95- }
96-
97- public void addPet (Pet pet ) {
98- if (pets .size () > 0 ) {
99- for (int i = pets .size () - 1 ; i >= 0 ; i --) {
100- if (pets .get (i ).getId () == pet .getId ()) {
101- pets .remove (i );
102- }
103- }
104- }
105- pets .add (pet );
106- }
107-
108- static Pet createPet (long id , Category cat , String name , String [] urls ,
109- String [] tags , String status ) {
110- Pet pet = new Pet ();
111- pet .setId (id );
112- pet .setCategory (cat );
113- pet .setName (name );
114- if (null != urls ) {
115- List <String > urlObjs = new ArrayList <String >();
116- for (String urlString : urls ) {
117- urlObjs .add (urlString );
118- }
119- pet .setPhotoUrls (urlObjs );
120- }
121- List <Tag > tagObjs = new java .util .ArrayList <Tag >();
122- int i = 0 ;
123- if (null != tags ) {
124- for (String tagString : tags ) {
125- i = i + 1 ;
126- Tag tag = new Tag ();
127- tag .setId (i );
128- tag .setName (tagString );
129- tagObjs .add (tag );
130- }
131- }
132- pet .setTags (tagObjs );
133- pet .setStatus (status );
134- return pet ;
135- }
136-
137- static Category createCategory (long id , String name ) {
138- Category category = new Category ();
139- category .setId (id );
140- category .setName (name );
141- return category ;
142- }
24+ static List <Pet > pets = new ArrayList <Pet >();
25+ static List <Category > categories = new ArrayList <Category >();
26+
27+ static {
28+ categories .add (createCategory (1 , "Dogs" ));
29+ categories .add (createCategory (2 , "Cats" ));
30+ categories .add (createCategory (3 , "Rabbits" ));
31+ categories .add (createCategory (4 , "Lions" ));
32+
33+ pets .add (createPet (1 , categories .get (1 ), "Cat 1" , new String [] {
34+ "url1" , "url2" }, new String [] { "tag1" , "tag2" }, "available" ));
35+ pets .add (createPet (2 , categories .get (1 ), "Cat 2" , new String [] {
36+ "url1" , "url2" }, new String [] { "tag2" , "tag3" }, "available" ));
37+ pets .add (createPet (3 , categories .get (1 ), "Cat 3" , new String [] {
38+ "url1" , "url2" }, new String [] { "tag3" , "tag4" }, "pending" ));
39+
40+ pets .add (createPet (4 , categories .get (0 ), "Dog 1" , new String [] {
41+ "url1" , "url2" }, new String [] { "tag1" , "tag2" }, "available" ));
42+ pets .add (createPet (5 , categories .get (0 ), "Dog 2" , new String [] {
43+ "url1" , "url2" }, new String [] { "tag2" , "tag3" }, "sold" ));
44+ pets .add (createPet (6 , categories .get (0 ), "Dog 3" , new String [] {
45+ "url1" , "url2" }, new String [] { "tag3" , "tag4" }, "pending" ));
46+
47+ pets .add (createPet (7 , categories .get (3 ), "Lion 1" , new String [] {
48+ "url1" , "url2" }, new String [] { "tag1" , "tag2" }, "available" ));
49+ pets .add (createPet (8 , categories .get (3 ), "Lion 2" , new String [] {
50+ "url1" , "url2" }, new String [] { "tag2" , "tag3" }, "available" ));
51+ pets .add (createPet (9 , categories .get (3 ), "Lion 3" , new String [] {
52+ "url1" , "url2" }, new String [] { "tag3" , "tag4" }, "available" ));
53+
54+ pets .add (createPet (10 , categories .get (2 ), "Rabbit 1" , new String [] {
55+ "url1" , "url2" }, new String [] { "tag3" , "tag4" }, "available" ));
56+ }
57+
58+ public Pet getPetbyId (long petId ) {
59+ for (Pet pet : pets ) {
60+ if (pet .getId () == petId ) {
61+ return pet ;
62+ }
63+ }
64+ return null ;
65+ }
66+
67+ public void deletePet (long petId ) {
68+ if (pets .size () > 0 ) {
69+ for (int i = pets .size () - 1 ; i >= 0 ; i --) {
70+ Pet pet = pets .get (i );
71+ if (pet .getId () == petId ) {
72+ pets .remove (i );
73+ }
74+ }
75+ }
76+ }
77+
78+ public List <Pet > findPetByStatus (String status ) {
79+ List <Pet > result = new java .util .ArrayList <Pet >();
80+ if (status == null ) {
81+ return result ;
82+ }
83+ String [] statuses = status .split ("," );
84+ for (Pet pet : pets ) {
85+ for (String s : statuses ) {
86+ if (s .equals (pet .getStatus ())) {
87+ result .add (pet );
88+ }
89+ }
90+ }
91+ return result ;
92+ }
93+
94+ public List <Pet > findPetByTags (String tags ) {
95+ String [] tagList = tags .split ("," );
96+ List <Pet > result = new java .util .ArrayList <Pet >();
97+ for (Pet pet : pets ) {
98+ if (null != pet .getTags ()) {
99+ for (Tag tag : pet .getTags ()) {
100+ for (String tagListString : tagList ) {
101+ if (tagListString .equals (tag .getName ()))
102+ result .add (pet );
103+ }
104+ }
105+ }
106+ }
107+ return result ;
108+ }
109+
110+ public Pet addPet (Pet pet ) {
111+ if (pet .getId () == 0 ) {
112+ long maxId = 0 ;
113+ for (int i = pets .size () - 1 ; i >= 0 ; i --) {
114+ if (pets .get (i ).getId () > maxId ) {
115+ maxId = pets .get (i ).getId ();
116+ }
117+ }
118+ pet .setId (maxId + 1 );
119+ }
120+ if (pets .size () > 0 ) {
121+ for (int i = pets .size () - 1 ; i >= 0 ; i --) {
122+ if (pets .get (i ).getId () == pet .getId ()) {
123+ pets .remove (i );
124+ }
125+ }
126+ }
127+ pets .add (pet );
128+ return pet ;
129+ }
130+
131+ public Map <String , Integer > getInventoryByStatus () {
132+ Map <String , Integer > output = new HashMap <String , Integer >();
133+ for (Pet pet : pets ) {
134+ String status = pet .getStatus ();
135+ if (status != null && !"" .equals (status )) {
136+ Integer count = output .get (status );
137+ if (count == null )
138+ count = new Integer (1 );
139+ else
140+ count = count .intValue () + 1 ;
141+ output .put (status , count );
142+ }
143+ }
144+ return output ;
145+ }
146+
147+ static Pet createPet (long id , Category cat , String name , String [] urls ,
148+ String [] tags , String status ) {
149+ Pet pet = new Pet ();
150+ pet .setId (id );
151+ pet .setCategory (cat );
152+ pet .setName (name );
153+ if (null != urls ) {
154+ List <String > urlObjs = new ArrayList <String >();
155+ for (String urlString : urls ) {
156+ urlObjs .add (urlString );
157+ }
158+ pet .setPhotoUrls (urlObjs );
159+ }
160+ List <Tag > tagObjs = new java .util .ArrayList <Tag >();
161+ int i = 0 ;
162+ if (null != tags ) {
163+ for (String tagString : tags ) {
164+ i = i + 1 ;
165+ Tag tag = new Tag ();
166+ tag .setId (i );
167+ tag .setName (tagString );
168+ tagObjs .add (tag );
169+ }
170+ }
171+ pet .setTags (tagObjs );
172+ pet .setStatus (status );
173+ return pet ;
174+ }
175+
176+ static Category createCategory (long id , String name ) {
177+ Category category = new Category ();
178+ category .setId (id );
179+ category .setName (name );
180+ return category ;
181+ }
143182}
0 commit comments