21
21
import java .util .ArrayList ;
22
22
import java .util .Date ;
23
23
import java .util .List ;
24
+ import java .util .Objects ;
24
25
25
26
import com .fasterxml .jackson .annotation .JsonIgnoreProperties ;
26
27
import com .fasterxml .jackson .annotation .JsonInclude ;
29
30
import com .fasterxml .jackson .databind .annotation .JsonSerialize ;
30
31
import com .fasterxml .jackson .dataformat .xml .annotation .JacksonXmlElementWrapper ;
31
32
import com .fasterxml .jackson .dataformat .xml .annotation .JacksonXmlProperty ;
32
- import org .cyclonedx .model .OrganizationalContact ;
33
- import org .cyclonedx .model .OrganizationalEntity ;
34
- import org .cyclonedx .model .Property ;
35
- import org .cyclonedx .model .Tool ;
36
- import org .cyclonedx .model .VersionFilter ;
33
+ import org .cyclonedx .model .*;
37
34
import org .cyclonedx .util .serializer .CustomDateSerializer ;
38
35
39
36
/**
@@ -276,6 +273,56 @@ public void setProperties(final List<Property> properties) {
276
273
this .properties = properties ;
277
274
}
278
275
276
+ @ Override
277
+ public boolean equals (Object o ) {
278
+ if (this == o ) return true ;
279
+ if (!(o instanceof Vulnerability )) return false ;
280
+ Vulnerability rhs = (Vulnerability ) o ;
281
+ return Objects .equals (bomRef , rhs .bomRef ) &&
282
+ Objects .equals (id , rhs .id ) &&
283
+ Objects .equals (source , rhs .source ) &&
284
+ Objects .equals (references , rhs .references ) &&
285
+ Objects .equals (ratings , rhs .ratings ) &&
286
+ Objects .equals (cwes , rhs .cwes ) &&
287
+ Objects .equals (description , rhs .description ) &&
288
+ Objects .equals (detail , rhs .detail ) &&
289
+ Objects .equals (recommendation , rhs .recommendation ) &&
290
+ Objects .equals (advisories , rhs .advisories ) &&
291
+ Objects .equals (created , rhs .created ) &&
292
+ Objects .equals (published , rhs .published ) &&
293
+ Objects .equals (updated , rhs .updated ) &&
294
+ Objects .equals (rejected , rhs .rejected ) &&
295
+ Objects .equals (credits , rhs .credits ) &&
296
+ Objects .equals (tools , rhs .tools ) &&
297
+ Objects .equals (analysis , rhs .analysis ) &&
298
+ Objects .equals (affects , rhs .affects ) &&
299
+ Objects .equals (properties , rhs .properties );
300
+ }
301
+
302
+ @ Override
303
+ public int hashCode () {
304
+ return Objects .hash (
305
+ bomRef ,
306
+ id ,
307
+ source ,
308
+ references ,
309
+ ratings ,
310
+ cwes ,
311
+ description ,
312
+ detail ,
313
+ recommendation ,
314
+ advisories ,
315
+ created ,
316
+ published ,
317
+ updated ,
318
+ rejected ,
319
+ credits ,
320
+ tools ,
321
+ analysis ,
322
+ affects ,
323
+ properties );
324
+ }
325
+
279
326
@ JsonInclude (JsonInclude .Include .NON_NULL )
280
327
public static class Reference {
281
328
private String id ;
@@ -296,6 +343,22 @@ public Source getSource() {
296
343
public void setSource (final Source source ) {
297
344
this .source = source ;
298
345
}
346
+
347
+ @ Override
348
+ public boolean equals (Object o ) {
349
+ if (this == o ) return true ;
350
+ if (!(o instanceof Reference )) return false ;
351
+ Reference rhs = (Reference ) o ;
352
+ return Objects .equals (id , rhs .id ) &&
353
+ Objects .equals (source , rhs .source );
354
+ }
355
+
356
+ @ Override
357
+ public int hashCode () {
358
+ return Objects .hash (
359
+ id ,
360
+ source );
361
+ }
299
362
}
300
363
301
364
@ JsonInclude (JsonInclude .Include .NON_NULL )
@@ -318,6 +381,22 @@ public String getUrl() {
318
381
public void setUrl (final String url ) {
319
382
this .url = url ;
320
383
}
384
+
385
+ @ Override
386
+ public boolean equals (Object o ) {
387
+ if (this == o ) return true ;
388
+ if (!(o instanceof Source )) return false ;
389
+ Source rhs = (Source ) o ;
390
+ return Objects .equals (name , rhs .name ) &&
391
+ Objects .equals (url , rhs .url );
392
+ }
393
+
394
+ @ Override
395
+ public int hashCode () {
396
+ return Objects .hash (
397
+ name ,
398
+ url );
399
+ }
321
400
}
322
401
323
402
@ JsonInclude (JsonInclude .Include .NON_NULL )
@@ -340,6 +419,22 @@ public String getUrl() {
340
419
public void setUrl (final String url ) {
341
420
this .url = url ;
342
421
}
422
+
423
+ @ Override
424
+ public boolean equals (Object o ) {
425
+ if (this == o ) return true ;
426
+ if (!(o instanceof Advisory )) return false ;
427
+ Advisory rhs = (Advisory ) o ;
428
+ return Objects .equals (title , rhs .title ) &&
429
+ Objects .equals (url , rhs .url );
430
+ }
431
+
432
+ @ Override
433
+ public int hashCode () {
434
+ return Objects .hash (
435
+ title ,
436
+ url );
437
+ }
343
438
}
344
439
345
440
@ JsonInclude (JsonInclude .Include .NON_NULL )
@@ -474,6 +569,30 @@ public String getJustification() {
474
569
public void setJustification (final String justification ) {
475
570
this .justification = justification ;
476
571
}
572
+
573
+ @ Override
574
+ public boolean equals (Object o ) {
575
+ if (this == o ) return true ;
576
+ if (!(o instanceof Rating )) return false ;
577
+ Rating rhs = (Rating ) o ;
578
+ return Objects .equals (source , rhs .source ) &&
579
+ Objects .equals (score , rhs .score ) &&
580
+ Objects .equals (severity , rhs .severity ) &&
581
+ Objects .equals (method , rhs .method ) &&
582
+ Objects .equals (vector , rhs .vector ) &&
583
+ Objects .equals (justification , rhs .justification );
584
+ }
585
+
586
+ @ Override
587
+ public int hashCode () {
588
+ return Objects .hash (
589
+ source ,
590
+ score ,
591
+ severity ,
592
+ method ,
593
+ vector ,
594
+ justification );
595
+ }
477
596
}
478
597
479
598
@ JsonInclude (JsonInclude .Include .NON_NULL )
@@ -655,6 +774,30 @@ public Date getLastUpdated() {
655
774
public void setLastUpdated (final Date lastUpdated ) {
656
775
this .lastUpdated = lastUpdated ;
657
776
}
777
+
778
+ @ Override
779
+ public boolean equals (Object o ) {
780
+ if (this == o ) return true ;
781
+ if (!(o instanceof Analysis )) return false ;
782
+ Analysis rhs = (Analysis ) o ;
783
+ return Objects .equals (state , rhs .state ) &&
784
+ Objects .equals (justification , rhs .justification ) &&
785
+ Objects .equals (responses , rhs .responses ) &&
786
+ Objects .equals (detail , rhs .detail ) &&
787
+ Objects .equals (firstIssued , rhs .firstIssued ) &&
788
+ Objects .equals (lastUpdated , rhs .lastUpdated );
789
+ }
790
+
791
+ @ Override
792
+ public int hashCode () {
793
+ return Objects .hash (
794
+ state ,
795
+ justification ,
796
+ responses ,
797
+ detail ,
798
+ firstIssued ,
799
+ lastUpdated );
800
+ }
658
801
}
659
802
660
803
@ JsonInclude (JsonInclude .Include .NON_EMPTY )
@@ -679,6 +822,22 @@ public List<Version> getVersions() {
679
822
public void setVersions (final List <Version > versions ) {
680
823
this .versions = versions ;
681
824
}
825
+
826
+ @ Override
827
+ public boolean equals (Object o ) {
828
+ if (this == o ) return true ;
829
+ if (!(o instanceof Affect )) return false ;
830
+ Affect rhs = (Affect ) o ;
831
+ return Objects .equals (ref , rhs .ref ) &&
832
+ Objects .equals (versions , rhs .versions );
833
+ }
834
+
835
+ @ Override
836
+ public int hashCode () {
837
+ return Objects .hash (
838
+ ref ,
839
+ versions );
840
+ }
682
841
}
683
842
684
843
@ JsonInclude (JsonInclude .Include .NON_NULL )
@@ -767,5 +926,21 @@ public List<OrganizationalEntity> getOrganizations() {
767
926
public void setOrganizations (final List <OrganizationalEntity > organizations ) {
768
927
this .organizations = organizations ;
769
928
}
929
+
930
+ @ Override
931
+ public boolean equals (Object o ) {
932
+ if (this == o ) return true ;
933
+ if (!(o instanceof Credits )) return false ;
934
+ Credits rhs = (Credits ) o ;
935
+ return Objects .equals (organizations , rhs .organizations ) &&
936
+ Objects .equals (individuals , rhs .individuals );
937
+ }
938
+
939
+ @ Override
940
+ public int hashCode () {
941
+ return Objects .hash (
942
+ organizations ,
943
+ individuals );
944
+ }
770
945
}
771
946
}
0 commit comments