File tree Expand file tree Collapse file tree 4 files changed +36
-45
lines changed
src/main/java/org/javawebstack/abstractdata Expand file tree Collapse file tree 4 files changed +36
-45
lines changed Original file line number Diff line number Diff line change 4444 <dependency >
4545 <groupId >org.yaml</groupId >
4646 <artifactId >snakeyaml</artifactId >
47- <version >1.30 </version >
47+ <version >1.33 </version >
4848 </dependency >
4949 <dependency >
5050 <groupId >org.mongodb</groupId >
5151 <artifactId >bson</artifactId >
52- <version >4.6.0 </version >
52+ <version >4.7.1 </version >
5353 <optional >true</optional >
5454 </dependency >
5555 </dependencies >
Original file line number Diff line number Diff line change @@ -346,23 +346,21 @@ public AbstractElement clone() {
346346 public boolean equals (Object obj , boolean strict ) {
347347 if (obj == null )
348348 return false ;
349- if (!(obj instanceof AbstractArray )) {
350- if (strict )
349+ if (!(obj instanceof AbstractElement ))
350+ return false ;
351+ try {
352+ AbstractArray arr = ((AbstractElement ) obj ).array (strict );
353+ if (arr .size () != arr .size ())
351354 return false ;
352355
353- obj = AbstractElement .fromAbstractObject (obj ).array ();
354- }
355-
356- AbstractArray arr = (AbstractArray ) obj ;
357- if (arr .size () != arr .size ())
356+ for (int i = 0 ; i < size (); i ++) {
357+ if (!(get (i ).equals (arr .get (i ), strict )))
358+ return false ;
359+ }
360+ return true ;
361+ } catch (AbstractCoercingException ignored ) {
358362 return false ;
359-
360- for (int i = 0 ; i < size (); i ++) {
361- if (!(get (i ).equals (arr .get (i ), strict )))
362- return false ;
363363 }
364-
365- return true ;
366364 }
367365
368366 public boolean equals (Object obj ) {
Original file line number Diff line number Diff line change @@ -270,25 +270,22 @@ public AbstractElement clone() {
270270 public boolean equals (Object obj , boolean strict ) {
271271 if (obj == null )
272272 return false ;
273- if (!(obj instanceof AbstractObject )) {
274- if (strict )
275- return false ;
276-
277- obj = AbstractElement .fromAbstractObject (obj ).object ();
278- }
279-
280- AbstractObject object = (AbstractObject ) obj ;
281- if (size () != object .size ())
273+ if (!(obj instanceof AbstractElement ))
282274 return false ;
283-
284- for (String key : keys ()) {
285- if (!object .has (key ))
286- return false ;
287- if (!object .get (key ).equals (get (key ), strict ))
275+ try {
276+ AbstractObject object = ((AbstractElement ) obj ).object (strict );
277+ if (size () != object .size ())
288278 return false ;
279+ for (String key : keys ()) {
280+ if (!object .has (key ))
281+ return false ;
282+ if (!object .get (key ).equals (get (key ), strict ))
283+ return false ;
284+ }
285+ return true ;
286+ } catch (AbstractCoercingException ignored ) {
287+ return false ;
289288 }
290-
291- return true ;
292289 }
293290
294291 public boolean equals (Object obj ) {
Original file line number Diff line number Diff line change @@ -178,21 +178,17 @@ public AbstractElement clone() {
178178 public boolean equals (Object obj , boolean strict ) {
179179 if (obj == null )
180180 return false ;
181- if (!(obj instanceof AbstractPrimitive )) {
182- if (strict )
183- return false ;
184-
185- obj = AbstractElement .fromAbstractObject (obj ).primitive ();
186- }
187-
181+ if (!(obj instanceof AbstractPrimitive ))
182+ return false ;
188183 AbstractPrimitive primitive = (AbstractPrimitive ) obj ;
189- if (isBoolean () && primitive .isBoolean ())
190- return bool (strict ).equals (primitive .bool (strict ));
191- if (isNumber () && primitive .isNumber ())
192- return number (strict ).equals (primitive .number (strict ));
193- if (isString () && primitive .isString ())
194- return string (strict ).equals (primitive .string (strict ));
195-
184+ try {
185+ if (isBoolean ())
186+ return bool () == primitive .bool (strict );
187+ if (isNumber ())
188+ return number ().equals (primitive .number (strict ));
189+ if (isString ())
190+ return string ().equals (primitive .string (strict ));
191+ } catch (AbstractCoercingException ignored ) {}
196192 return false ;
197193 }
198194
You can’t perform that action at this time.
0 commit comments