Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
# Conflicts:
#	build.gradle
  • Loading branch information
micheljung committed Oct 10, 2017
2 parents aa721de + 9fbdbe8 commit ab7ca67
Show file tree
Hide file tree
Showing 26 changed files with 599 additions and 56 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ apply plugin: 'org.springframework.boot'
apply plugin: 'propdeps'

group = 'faforever'
version = '0.8.5'
version = '0.9.0'

sourceCompatibility = 1.8
targetCompatibility = 1.8
Expand Down Expand Up @@ -255,7 +255,7 @@ dependencies {

compile("com.github.FAForever:faf-java-commons:${fafCommonsVersion}")
compile("org.kohsuke:github-api:${githubApiVersion}")
compile("org.jolokia:jolokia-core:${jolokiaVersion}")
compile("org.jolokia:jolokia-core")
compile("org.springframework.security:spring-security-jwt:${springSecurityJwtVersion}")
compile("org.springframework.security.oauth:spring-security-oauth2:${springSecurityOauth2Version}")
compile("org.springframework:spring-context-support:${springContextSupportVersion}")
Expand Down
1 change: 0 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ springSecurityOauth2Version=2.0.12.RELEASE
springContextSupportVersion=4.2.2.RELEASE
guavaVersion=21.0-rc1
jetbrainsAnnotationsVersion=13.0
jolokiaVersion=1.3.5
springBootAdminClientVersion=1.4.5
luajVersion=3.0.1
nocatchVersion=1.1
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/faforever/api/config/elide/ElideConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.faforever.api.data.checks.IsReviewOwner;
import com.faforever.api.data.checks.permission.HasBanRead;
import com.faforever.api.data.checks.permission.HasBanUpdate;
import com.faforever.api.data.checks.permission.HasLadder1v1Update;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.elide.Elide;
import com.yahoo.elide.ElideSettingsBuilder;
Expand Down Expand Up @@ -90,6 +91,7 @@ public EntityDictionary entityDictionary() {
checks.put(IsClanMembershipDeletable.EXPRESSION, IsClanMembershipDeletable.Inline.class);
checks.put(HasBanRead.EXPRESSION, HasBanRead.Inline.class);
checks.put(HasBanUpdate.EXPRESSION, HasBanUpdate.Inline.class);
checks.put(HasLadder1v1Update.EXPRESSION, HasLadder1v1Update.Inline.class);

return new EntityDictionary(checks);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.faforever.api.data.checks.permission;

public class HasLadder1v1Update {

public static final String EXPRESSION = "Ladder1v1.Update";

public static class Inline extends BasePermission {
public Inline() {
super(HasLadder1v1Update.EXPRESSION);
}
}

}
50 changes: 50 additions & 0 deletions src/main/java/com/faforever/api/data/domain/Division.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.faforever.api.data.domain;

import com.yahoo.elide.annotation.Include;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "ladder_division")
@Include(rootLevel = true)
@Data
@NoArgsConstructor
@EqualsAndHashCode(of = "id")
@ToString(of = {"id", "league", "name", "threshold"}, includeFieldNames = false)
public class Division {
private int id;
private String name;
private int league;
private int threshold;

@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getId() {
return id;
}

@Column(name = "name", nullable = false)
public String getName() {
return name;
}

@Column(name = "league")
public int getLeague() {
return league;
}

@Column(name = "threshold")
public int getThreshold() {
return threshold;
}
}
12 changes: 12 additions & 0 deletions src/main/java/com/faforever/api/data/domain/Game.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ public class Game {
private List<GamePlayerStats> playerStats;
private String replayUrl;
private List<GameReview> reviews;
private int numberOfReviews;
private float averageReviewScore;

@Id
@Column(name = "id")
Expand Down Expand Up @@ -111,4 +113,14 @@ public String getReplayUrl() {
public List<GameReview> getReviews() {
return reviews;
}

@Column(name = "reviews")
public int getNumberOfReviews() {
return numberOfReviews;
}

@Column(name = "average_review_score")
public float getAverageReviewScore() {
return averageReviewScore;
}
}
42 changes: 42 additions & 0 deletions src/main/java/com/faforever/api/data/domain/Ladder1v1Map.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.faforever.api.data.domain;

import com.faforever.api.data.checks.permission.HasLadder1v1Update;
import com.yahoo.elide.annotation.CreatePermission;
import com.yahoo.elide.annotation.DeletePermission;
import com.yahoo.elide.annotation.Include;
import lombok.Setter;
import org.hibernate.annotations.Immutable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@CreatePermission(expression = HasLadder1v1Update.EXPRESSION)
@DeletePermission(expression = HasLadder1v1Update.EXPRESSION)
@Entity
@Setter
@Table(name = "ladder_map")
@Include(rootLevel = true, type = "ladder1v1Map")
@Immutable
public class Ladder1v1Map {
private int id;
private MapVersion mapVersion;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
public int getId() {
return id;
}

@OneToOne
@JoinColumn(name = "idmap")
public MapVersion getMapVersion() {
return mapVersion;
}
}
20 changes: 18 additions & 2 deletions src/main/java/com/faforever/api/data/domain/Map.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.yahoo.elide.annotation.Include;
import lombok.Setter;
import org.hibernate.annotations.BatchSize;
import org.hibernate.annotations.Formula;
import org.hibernate.annotations.Immutable;
import org.hibernate.annotations.JoinColumnOrFormula;
Expand Down Expand Up @@ -48,6 +49,8 @@ public class Map {
private Player author;
private MapStatistics statistics;
private MapVersion latestVersion;
private int numberOfReviews;
private float averageReviewScore;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down Expand Up @@ -80,21 +83,33 @@ public OffsetDateTime getCreateTime() {
return createTime;
}

@OneToMany(mappedBy = "map", cascade = CascadeType.ALL, orphanRemoval = true)
@Column(name = "reviews")
public int getNumberOfReviews() {
return numberOfReviews;
}

@Column(name = "average_review_score")
public float getAverageReviewScore() {
return averageReviewScore;
}

@OneToMany(mappedBy = "map", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
@NotEmpty
@Valid
@BatchSize(size = 1000)
public List<MapVersion> getVersions() {
return versions;
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "author")
@Nullable
@BatchSize(size = 1000)
public Player getAuthor() {
return author;
}

@OneToOne(mappedBy = "map", fetch = FetchType.LAZY)
@OneToOne(mappedBy = "map")
public MapStatistics getStatistics() {
return statistics;
}
Expand All @@ -107,6 +122,7 @@ public MapStatistics getStatistics() {
referencedColumnName = "id")
)
})
@BatchSize(size = 1000)
public MapVersion getLatestVersion() {
return latestVersion;
}
Expand Down
23 changes: 22 additions & 1 deletion src/main/java/com/faforever/api/data/domain/MapVersion.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
import com.yahoo.elide.annotation.Include;
import com.yahoo.elide.annotation.UpdatePermission;
import lombok.Setter;
import org.hibernate.annotations.BatchSize;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
Expand Down Expand Up @@ -43,6 +45,9 @@ public class MapVersion extends AbstractEntity {
private String thumbnailUrlLarge;
private String downloadUrl;
private List<MapVersionReview> reviews;
private Ladder1v1Map ladder1v1Map;
private int numberOfReviews;
private float averageReviewScore;

@Column(name = "description")
public String getDescription() {
Expand Down Expand Up @@ -89,14 +94,25 @@ public boolean isHidden() {
return hidden;
}

@Column(name = "reviews")
public int getNumberOfReviews() {
return numberOfReviews;
}

@Column(name = "average_review_score")
public float getAverageReviewScore() {
return averageReviewScore;
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "map_id")
@NotNull
@BatchSize(size = 1000)
public Map getMap() {
return this.map;
}

@OneToOne(mappedBy = "mapVersion", fetch = FetchType.LAZY)
@OneToOne(mappedBy = "mapVersion", fetch = FetchType.EAGER)
public MapVersionStatistics getStatistics() {
return statistics;
}
Expand Down Expand Up @@ -130,4 +146,9 @@ public String getFolderName() {
public List<MapVersionReview> getReviews() {
return reviews;
}

@OneToOne(mappedBy = "mapVersion", cascade = CascadeType.ALL, orphanRemoval = true)
public Ladder1v1Map getLadder1v1Map() {
return ladder1v1Map;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.yahoo.elide.annotation.Include;
import lombok.Setter;
import org.hibernate.annotations.BatchSize;
import org.hibernate.annotations.Immutable;

import javax.persistence.Column;
Expand Down Expand Up @@ -47,6 +48,7 @@ public int getDraws() {

@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "map_version_id", insertable = false, updatable = false)
@BatchSize(size = 1000)
public MapVersion getMapVersion() {
return mapVersion;
}
Expand Down
17 changes: 14 additions & 3 deletions src/main/java/com/faforever/api/data/domain/Mod.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
Expand Down Expand Up @@ -43,6 +42,8 @@ public class Mod {
private List<ModVersion> versions;
private ModVersion latestVersion;
private Player uploader;
private int numberOfReviews;
private float averageReviewScore;

@Id
@Column(name = "id")
Expand All @@ -65,7 +66,17 @@ public String getAuthor() {
return author;
}

@ManyToOne(fetch = FetchType.LAZY)
@Column(name = "reviews")
public int getNumberOfReviews() {
return numberOfReviews;
}

@Column(name = "average_review_score")
public float getAverageReviewScore() {
return averageReviewScore;
}

@ManyToOne
@JoinColumn(name = "uploader")
public Player getUploader() {
return uploader;
Expand All @@ -88,7 +99,7 @@ public List<ModVersion> getVersions() {
return versions;
}

@ManyToOne(fetch = FetchType.LAZY)
@ManyToOne
@JoinColumnsOrFormulas({
@JoinColumnOrFormula(
formula = @JoinFormula(
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/com/faforever/api/data/domain/ModVersion.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ public class ModVersion {
private String thumbnailUrl;
private String downloadUrl;
private List<ModVersionReview> reviews;
private int numberOfReviews;
private float averageReviewScore;

@Id
@Column(name = "id")
Expand Down Expand Up @@ -99,6 +101,16 @@ public boolean isHidden() {
return hidden;
}

@Column(name = "reviews")
public int getNumberOfReviews() {
return numberOfReviews;
}

@Column(name = "average_review_score")
public float getAverageReviewScore() {
return averageReviewScore;
}

@Column(name = "create_time")
public OffsetDateTime getCreateTime() {
return createTime;
Expand Down

0 comments on commit ab7ca67

Please sign in to comment.