Skip to content

Commit

Permalink
Merge pull request #1061 from amvanbaren/sonar-transient-or-serializable
Browse files Browse the repository at this point in the history
Serializable class fields
  • Loading branch information
amvanbaren authored Dec 4, 2024
2 parents 70441f1 + bc7cbcf commit 072bf3e
Show file tree
Hide file tree
Showing 30 changed files with 233 additions and 146 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,53 +23,53 @@ public class AdminStatistics {
@Id
@GeneratedValue(generator = "adminStatisticsSeq")
@SequenceGenerator(name = "adminStatisticsSeq", sequenceName = "admin_statistics_seq")
long id;
private long id;

int year;
private int year;

int month;
private int month;

long extensions;
private long extensions;

long downloads;
private long downloads;

long downloadsTotal;
private long downloadsTotal;

long publishers;
private long publishers;

double averageReviewsPerExtension;
private double averageReviewsPerExtension;

long namespaceOwners;
private long namespaceOwners;

@ElementCollection(fetch = FetchType.EAGER)
@MapKeyColumn(name = "rating")
@Column(name = "extensions")
Map<Integer, Integer> extensionsByRating;
private Map<Integer, Integer> extensionsByRating;

@ElementCollection(fetch = FetchType.EAGER)
@MapKeyColumn(name = "extensions_published")
@Column(name = "publishers")
Map<Integer, Integer> publishersByExtensionsPublished;
private Map<Integer, Integer> publishersByExtensionsPublished;

@ElementCollection(fetch = FetchType.EAGER)
@MapKeyColumn(name = "login_name")
@Column(name = "extension_version_count")
Map<String, Integer> topMostActivePublishingUsers;
private Map<String, Integer> topMostActivePublishingUsers;

@ElementCollection(fetch = FetchType.EAGER)
@MapKeyColumn(name = "namespace")
@Column(name = "extension_count")
Map<String, Integer> topNamespaceExtensions;
private Map<String, Integer> topNamespaceExtensions;

@ElementCollection(fetch = FetchType.EAGER)
@MapKeyColumn(name = "namespace")
@Column(name = "extension_version_count")
Map<String, Integer> topNamespaceExtensionVersions;
private Map<String, Integer> topNamespaceExtensionVersions;

@ElementCollection(fetch = FetchType.EAGER)
@MapKeyColumn(name = "extension_identifier")
@Column(name = "downloads")
Map<String, Long> topMostDownloadedExtensions;
private Map<String, Long> topMostDownloadedExtensions;

public String toCsv() {
var ratings = 5;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ public class AzureDownloadCountProcessedItem {
@Id
@GeneratedValue(generator = "azureDownloadCountProcessedItemSeq")
@SequenceGenerator(name = "azureDownloadCountProcessedItemSeq", sequenceName = "azure_download_count_processed_item_seq")
long id;
private long id;

String name;
private String name;

LocalDateTime processedOn;
private LocalDateTime processedOn;

int executionTime;
private int executionTime;

boolean success;
private boolean success;

public long getId() {
return id;
Expand Down
32 changes: 18 additions & 14 deletions server/src/main/java/org/eclipse/openvsx/entities/Extension.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.eclipse.openvsx.search.ExtensionSearch;
import org.eclipse.openvsx.util.NamingUtil;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
Expand All @@ -27,40 +28,43 @@
})
public class Extension implements Serializable {

@Serial
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(generator = "extensionSeq")
@SequenceGenerator(name = "extensionSeq", sequenceName = "extension_seq")
long id;
private long id;

@Column(length = 128)
String publicId;
private String publicId;

String name;
private String name;

@ManyToOne
Namespace namespace;
private Namespace namespace;

@OneToMany(mappedBy = "extension")
List<ExtensionVersion> versions;
private List<ExtensionVersion> versions;

boolean active;
private boolean active;

Double averageRating;
private Double averageRating;

Long reviewCount;
private Long reviewCount;

int downloadCount;
private int downloadCount;

LocalDateTime publishedDate;
private LocalDateTime publishedDate;

LocalDateTime lastUpdatedDate;
private LocalDateTime lastUpdatedDate;

boolean deprecated;
private boolean deprecated;

@OneToOne
Extension replacement;
private Extension replacement;

boolean downloadable;
private boolean downloadable;

/**
* Convert to a search entity for Elasticsearch.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,24 @@ public class ExtensionReview {
@Id
@GeneratedValue(generator = "extensionReviewSeq")
@SequenceGenerator(name = "extensionReviewSeq", sequenceName = "extension_review_seq")
long id;
private long id;

@ManyToOne
Extension extension;
private Extension extension;

boolean active;
private boolean active;

LocalDateTime timestamp;
private LocalDateTime timestamp;

@ManyToOne
UserData user;
private UserData user;

String title;
private String title;

@Column(length = 2048)
String comment;
private String comment;

int rating;
private int rating;


/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import org.eclipse.openvsx.util.TargetPlatform;
import org.eclipse.openvsx.util.TimeUtil;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.*;
Expand All @@ -27,6 +28,9 @@
@Table(uniqueConstraints = { @UniqueConstraint(columnNames = { "targetPlatform", "version" })})
public class ExtensionVersion implements Serializable {

@Serial
private static final long serialVersionUID = 1L;

public static final Comparator<ExtensionVersion> SORT_COMPARATOR =
Comparator.comparing(ExtensionVersion::getSemanticVersion)
.thenComparing(ExtensionVersion::isUniversalTargetPlatform, Comparator.reverseOrder())
Expand All @@ -42,16 +46,16 @@ public enum Type {
@Id
@GeneratedValue(generator = "extensionVersionSeq")
@SequenceGenerator(name = "extensionVersionSeq", sequenceName = "extension_version_seq")
long id;
private long id;

@ManyToOne
Extension extension;
private Extension extension;

String version;
private String version;

String targetPlatform;
private String targetPlatform;

boolean universalTargetPlatform;
private boolean universalTargetPlatform;

@Embedded
@AttributeOverride(name = "major", column = @Column(name = "semver_major"))
Expand All @@ -60,80 +64,80 @@ public enum Type {
@AttributeOverride(name = "preRelease", column = @Column(name = "semver_pre_release"))
@AttributeOverride(name = "isPreRelease", column = @Column(name = "semver_is_pre_release"))
@AttributeOverride(name = "buildMetadata", column = @Column(name = "semver_build_metadata"))
SemanticVersion semver;
private SemanticVersion semver;

boolean preRelease;
private boolean preRelease;

boolean preview;
private boolean preview;

LocalDateTime timestamp;
private LocalDateTime timestamp;

@ManyToOne
PersonalAccessToken publishedWith;
private PersonalAccessToken publishedWith;

boolean active;
private boolean active;

boolean potentiallyMalicious;
private boolean potentiallyMalicious;

String displayName;
private String displayName;

@Column(length = 2048)
String description;
private String description;

@Column(length = 2048)
@Convert(converter = ListOfStringConverter.class)
List<String> engines;
private List<String> engines;

@Column(length = 2048)
@Convert(converter = ListOfStringConverter.class)
List<String> categories;
private List<String> categories;

@Column(length = 16384)
@Convert(converter = ListOfStringConverter.class)
List<String> tags;
private List<String> tags;

@Column
@Convert(converter = ListOfStringConverter.class)
List<String> extensionKind;
private List<String> extensionKind;

String license;
private String license;

String homepage;
private String homepage;

String repository;
private String repository;

String sponsorLink;
private String sponsorLink;

String bugs;
private String bugs;

@Column(length = 16)
String markdown;
private String markdown;

@Column(length = 16)
String galleryColor;
private String galleryColor;

@Column(length = 16)
String galleryTheme;
private String galleryTheme;

@Column
@Convert(converter = ListOfStringConverter.class)
List<String> localizedLanguages;
private List<String> localizedLanguages;

String qna;
private String qna;

@Column(length = 2048)
@Convert(converter = ListOfStringConverter.class)
List<String> dependencies;
private List<String> dependencies;

@Column(length = 2048)
@Convert(converter = ListOfStringConverter.class)
List<String> bundledExtensions;
private List<String> bundledExtensions;

@ManyToOne
SignatureKeyPair signatureKeyPair;
private SignatureKeyPair signatureKeyPair;

@Transient
Type type;
private Type type;

/**
* Convert to a JSON object without URLs.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,14 @@

import jakarta.persistence.*;

import java.io.Serial;
import java.io.Serializable;

@Entity
public class FileResource {
public class FileResource implements Serializable {

@Serial
private static final long serialVersionUID = 1L;

// Resource types
public static final String DOWNLOAD = "download";
Expand All @@ -35,21 +41,21 @@ public class FileResource {
@Id
@GeneratedValue(generator = "fileResourceSeq")
@SequenceGenerator(name = "fileResourceSeq", sequenceName = "file_resource_seq")
long id;
private long id;

@OneToOne
ExtensionVersion extension;
private ExtensionVersion extension;

String name;
private String name;

@Column(length = 32)
String type;
private String type;

@Basic(fetch = FetchType.LAZY)
byte[] content;
private byte[] content;

@Column(length = 32)
String storageType;
private String storageType;

public long getId() {
return id;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ public class MigrationItem {
@Id
@GeneratedValue(generator = "migrationItemSeq")
@SequenceGenerator(name = "migrationItemSeq", sequenceName = "migration_item_seq")
long id;
private long id;

String migrationScript;
private String migrationScript;

long entityId;
private long entityId;

boolean migrationScheduled;
private boolean migrationScheduled;

public long getId() {
return id;
Expand Down
Loading

0 comments on commit 072bf3e

Please sign in to comment.