Skip to content

Commit

Permalink
Merge branch 'release/0.1.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
Brutus5000 committed Nov 16, 2017
2 parents eaaa638 + be85a57 commit 5e3c3b5
Show file tree
Hide file tree
Showing 11 changed files with 83 additions and 49 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>com.faforever</groupId>
<artifactId>faf-moderator-client</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
<packaging>jar</packaging>

<name>faf-moderator-client</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ public FafApiCommunicationService(ResourceConverter resourceConverter, RestTempl

@SneakyThrows
private void authorize(String username, String password) {
log.debug("Configuring OAuth2 login with user = '{}', password=[hidden]");
log.debug("Configuring OAuth2 login with user = '{}', password=[hidden]", username);
ResourceOwnerPasswordResourceDetails details = new ResourceOwnerPasswordResourceDetails();
details.setClientId(apiClientId);
details.setClientSecret(apiClientSecret);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ public MapService(FafApiCommunicationService fafApi) {

public List<Map> findMaps(String mapNamePattern) {
log.debug("Searching for maps with pattern: {}", mapNamePattern);
ElideRouteBuilder<Map> routeBuilder = ElideRouteBuilder.of(Map.class);
ElideRouteBuilder<Map> routeBuilder = ElideRouteBuilder.of(Map.class)
.addInclude("versions");

if (mapNamePattern != null && mapNamePattern.length() > 0) {
routeBuilder.filter(ElideRouteBuilder.qBuilder().string("displayName").eq(mapNamePattern));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ public void display() {

private void refreshLadderPool() {
ladderPoolView.getRoot().getChildren().clear();
ladderPoolView.getSortOrder().clear();
mapService.findMapsInLadder1v1Pool()
.forEach(map -> {
TreeItem<MapTableItemAdapter> mapItem = new TreeItem<>(new MapTableItemAdapter(map));
Expand All @@ -166,24 +167,31 @@ private void refreshLadderPool() {

private void refreshAvatars() {
avatarTableView.getItems().clear();
avatarTableView.getSortOrder().clear();
avatarTableView.getItems().addAll(
avatarService.getAll()
);
}

private void refreshRecentActivity() {
public void refreshRecentActivity() {
userRegistrationFeedTableView.getItems().clear();
userRegistrationFeedTableView.getSortOrder().clear();
userRegistrationFeedTableView.getItems().addAll(userService.findLatestRegistrations());

teamkillFeedTableView.getItems().clear();
userRegistrationFeedTableView.getSortOrder().clear();
teamkillFeedTableView.getItems().addAll(userService.findLatestTeamkills());
}

private void onSelectedUser(ObservableValue<? extends Player> observable, Player oldValue, Player newValue) {
userNameHistoryTableView.getItems().clear();
userNameHistoryTableView.getSortOrder().clear();
userBansTableView.getItems().clear();
userBansTableView.getSortOrder().clear();
userTeamkillsTableView.getItems().clear();
userTeamkillsTableView.getSortOrder().clear();
userAvatarsTableView.getItems().clear();
userAvatarsTableView.getSortOrder().clear();

if (newValue != null) {
userNameHistoryTableView.getItems().addAll(newValue.getNames());
Expand All @@ -197,6 +205,7 @@ private void onSelectedUser(ObservableValue<? extends Player> observable, Player

public void onUserSearch() {
userSearchTableView.getItems().clear();
userSearchTableView.getSortOrder().clear();

Collection<Player> usersFound = Collections.emptyList();
String searchPattern = userSearchTextField.getText();
Expand Down Expand Up @@ -233,6 +242,7 @@ public void onAddToLadderPool() {

public void onSearchMapVault() {
mapVaultView.getRoot().getChildren().clear();
mapVaultView.getSortOrder().clear();
String mapNamePattern = null;

if (filterByMapNameCheckBox.isSelected()) {
Expand All @@ -245,6 +255,7 @@ public void onSearchMapVault() {

public void onSearchAvatars() {
avatarTableView.getItems().clear();
avatarTableView.getSortOrder().clear();
Collection<Avatar> avatars;
String pattern = searchAvatarsTextField.getText();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,8 @@ public String getId() {
return isMap() ? map.getId() : mapVersion.getId();
}

public String getName() {
return isMap() ? map.getDisplayName() : null;
}

public String getDescription() {
return isMapVersion() ? mapVersion.getDescription() : null;
public String getNameOrDescription() {
return isMap() ? map.getDisplayName() : mapVersion.getDescription();
}

public ComparableVersion getVersion() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,21 @@
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;

import java.util.Objects;

public class UrlImageViewTableCell<T> extends TableCell<T, String> {
ImageView imageView = new ImageView();
String currentUrl;

@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);

if (item != null) {
if (imageView.getImage() == null) {
if (!Objects.equals(currentUrl, item)) {
currentUrl = item;
imageView.setImage(new Image(item));
}

setGraphic(imageView);
} else {
setGraphic(null);
Expand Down
33 changes: 23 additions & 10 deletions src/main/java/com/faforever/moderatorclient/ui/ViewHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

import java.net.URL;
import java.time.OffsetDateTime;
import java.util.Comparator;
import java.util.Optional;
import java.util.stream.Stream;

Expand Down Expand Up @@ -39,6 +40,7 @@ static void bindMapTreeViewToImageView(TreeTableView<MapTableItemAdapter> mapTre
static void buildAvatarTableView(TableView<Avatar> tableView) {
TableColumn<Avatar, String> idColumn = new TableColumn<>("ID");
idColumn.setCellValueFactory(new PropertyValueFactory<>("id"));
idColumn.setComparator(Comparator.comparingInt(Integer::parseInt));
idColumn.setMinWidth(50);
tableView.getColumns().add(idColumn);

Expand Down Expand Up @@ -68,6 +70,7 @@ static void buildAvatarTableView(TableView<Avatar> tableView) {
static void buildAvatarAssignmentTableView(TableView<AvatarAssignment> tableView) {
TableColumn<AvatarAssignment, String> idColumn = new TableColumn<>("ID");
idColumn.setCellValueFactory(new PropertyValueFactory<>("id"));
idColumn.setComparator(Comparator.comparingInt(Integer::parseInt));
idColumn.setMinWidth(50);
idColumn.setEditable(false);
tableView.getColumns().add(idColumn);
Expand All @@ -79,6 +82,7 @@ static void buildAvatarAssignmentTableView(TableView<AvatarAssignment> tableView
.map(avatarAssignment -> avatarAssignment.getPlayer().getId())
.orElse(""))
);
userIdColumn.setComparator(Comparator.comparingInt(Integer::parseInt));
userIdColumn.setMinWidth(50);
idColumn.setEditable(true);
tableView.getColumns().add(userIdColumn);
Expand Down Expand Up @@ -114,6 +118,7 @@ static void buildAvatarAssignmentTableView(TableView<AvatarAssignment> tableView
static void buildBanTableView(TableView<BanInfo> tableView) {
TableColumn<BanInfo, String> idColumn = new TableColumn<>("ID");
idColumn.setCellValueFactory(new PropertyValueFactory<>("id"));
idColumn.setComparator(Comparator.comparingInt(Integer::parseInt));
idColumn.setMinWidth(50);
tableView.getColumns().add(idColumn);

Expand Down Expand Up @@ -179,6 +184,7 @@ static void buildBanTableView(TableView<BanInfo> tableView) {
static void buildNameHistoryTableView(TableView<NameRecord> tableView) {
TableColumn<NameRecord, String> idColumn = new TableColumn<>("ID");
idColumn.setCellValueFactory(new PropertyValueFactory<>("id"));
idColumn.setComparator(Comparator.comparingInt(Integer::parseInt));
idColumn.setMinWidth(50);
tableView.getColumns().add(idColumn);

Expand All @@ -196,6 +202,7 @@ static void buildNameHistoryTableView(TableView<NameRecord> tableView) {
static void buildTeamkillTableView(javafx.scene.control.TableView<Teamkill> tableView, boolean showKiller) {
TableColumn<Teamkill, String> idColumn = new TableColumn<>("ID");
idColumn.setCellValueFactory(new PropertyValueFactory<>("id"));
idColumn.setComparator(Comparator.comparingInt(Integer::parseInt));
idColumn.setMinWidth(50);
tableView.getColumns().add(idColumn);

Expand All @@ -211,10 +218,11 @@ static void buildTeamkillTableView(javafx.scene.control.TableView<Teamkill> tabl
victimColumn.setMinWidth(180);
tableView.getColumns().add(victimColumn);

TableColumn<Teamkill, String> banStatusColumn = new TableColumn<>("Game ID");
banStatusColumn.setCellValueFactory(param -> new SimpleObjectProperty<>(param.getValue().getGame().getId()));
banStatusColumn.setMinWidth(100);
tableView.getColumns().add(banStatusColumn);
TableColumn<Teamkill, String> gameIdColumn = new TableColumn<>("Game ID");
gameIdColumn.setCellValueFactory(param -> new SimpleObjectProperty<>(param.getValue().getGame().getId()));
gameIdColumn.setComparator(Comparator.comparingInt(Integer::parseInt));
gameIdColumn.setMinWidth(100);
tableView.getColumns().add(gameIdColumn);

TableColumn<Teamkill, Long> gameTimeColumn = new TableColumn<>("Game Time");
gameTimeColumn.setCellValueFactory(new PropertyValueFactory<>("gameTime"));
Expand All @@ -230,6 +238,7 @@ static void buildTeamkillTableView(javafx.scene.control.TableView<Teamkill> tabl
static void buildUserTableView(TableView<Player> tableView) {
TableColumn<Player, String> idColumn = new TableColumn<>("ID");
idColumn.setCellValueFactory(new PropertyValueFactory<>("id"));
idColumn.setComparator(Comparator.comparingInt(Integer::parseInt));
idColumn.setMinWidth(50);
tableView.getColumns().add(idColumn);

Expand All @@ -251,6 +260,7 @@ static void buildUserTableView(TableView<Player> tableView) {

static void buildUserAvatarsTableView(TableView<AvatarAssignment> tableView) {
TableColumn<AvatarAssignment, String> idColumn = new TableColumn<>("Assignment ID");
idColumn.setComparator(Comparator.comparingInt(Integer::parseInt));
idColumn.setCellValueFactory(new PropertyValueFactory<>("id"));
idColumn.setMinWidth(140);
tableView.getColumns().add(idColumn);
Expand All @@ -259,13 +269,15 @@ static void buildUserAvatarsTableView(TableView<AvatarAssignment> tableView) {
avatarIdColumn.setCellValueFactory(param -> new SimpleObjectProperty<>(
param.getValue().getAvatar().getId()
));
avatarIdColumn.setComparator(Comparator.comparingInt(Integer::parseInt));
avatarIdColumn.setMinWidth(50);
tableView.getColumns().add(avatarIdColumn);

TableColumn<AvatarAssignment, String> previewColumn = new TableColumn<>("Preview");
previewColumn.setCellValueFactory(param -> new SimpleObjectProperty<>(
param.getValue().getAvatar().getUrl()
));

previewColumn.setCellFactory(param -> new UrlImageViewTableCell<>());
previewColumn.setMinWidth(50);
tableView.getColumns().add(previewColumn);
Expand All @@ -292,26 +304,27 @@ static void buildUserAvatarsTableView(TableView<AvatarAssignment> tableView) {
static void buildMapTreeView(TreeTableView<MapTableItemAdapter> mapTreeView) {
TreeTableColumn<MapTableItemAdapter, String> idColumn = new TreeTableColumn<>("ID");
idColumn.setCellValueFactory(new TreeItemPropertyValueFactory<>("id"));
idColumn.setComparator(Comparator.comparingInt(Integer::parseInt));
idColumn.setMinWidth(100);
mapTreeView.getColumns().add(idColumn);

TreeTableColumn<MapTableItemAdapter, String> nameColumn = new TreeTableColumn<>("Name");
nameColumn.setCellValueFactory(new TreeItemPropertyValueFactory<>("name"));
TreeTableColumn<MapTableItemAdapter, String> nameColumn = new TreeTableColumn<>("Name / Description");
nameColumn.setCellValueFactory(new TreeItemPropertyValueFactory<>("nameOrDescription"));
nameColumn.setMinWidth(300);
mapTreeView.getColumns().add(nameColumn);

TreeTableColumn<MapTableItemAdapter, ComparableVersion> versionColumn = new TreeTableColumn<>("Version");
versionColumn.setCellValueFactory(new TreeItemPropertyValueFactory<>("version"));
mapTreeView.getColumns().add(versionColumn);

TreeTableColumn<MapTableItemAdapter, String> descriptionColumn = new TreeTableColumn<>("Description");
descriptionColumn.setCellValueFactory(new TreeItemPropertyValueFactory<>("description"));
mapTreeView.getColumns().add(descriptionColumn);

TreeTableColumn<MapTableItemAdapter, String> sizeColumn = new TreeTableColumn<>("Size");
sizeColumn.setCellValueFactory(new TreeItemPropertyValueFactory<>("size"));
sizeColumn.setMinWidth(130);
mapTreeView.getColumns().add(sizeColumn);

TreeTableColumn<MapTableItemAdapter, String> filenameColumn = new TreeTableColumn<>("Filename");
filenameColumn.setCellValueFactory(new TreeItemPropertyValueFactory<>("filename"));
filenameColumn.setMinWidth(300);
mapTreeView.getColumns().add(filenameColumn);

TreeTableColumn<MapTableItemAdapter, String> isRankedColumn = new TreeTableColumn<>("Ranked");
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ faforever:
max-page-size: 10_000
logging:
level:
com.faforever.moderatorclient: INFO
com.faforever.moderatorclient: DEBUG
spring:
jackson:
serialization:
Expand Down
10 changes: 5 additions & 5 deletions src/main/resources/login.fxml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.Font?>
<DialogPane xmlns:fx="http://javafx.com/fxml/1" fx:id="root" xmlns="http://javafx.com/javafx/8.0.111"
<DialogPane xmlns:fx="http://javafx.com/fxml/1" fx:id="root" minWidth="465.0" xmlns="http://javafx.com/javafx/8.0.111"
fx:controller="com.faforever.moderatorclient.ui.LoginController">
<content>
<GridPane hgap="5.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" vgap="5.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES"/>
<ColumnConstraints hgrow="SOMETIMES"/>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="80.0" minWidth="80.0" prefWidth="80.0"/>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="200.0" minWidth="200.0" prefWidth="200.0"/>
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="30.0" vgrow="SOMETIMES"/>
Expand All @@ -30,12 +30,12 @@
GridPane.rowIndex="2"/>
<HBox alignment="TOP_RIGHT" GridPane.columnSpan="2147483647" GridPane.rowIndex="4">
<children>
<Button mnemonicParsing="false" onAction="#onLoginClicked" text="Login">
<Button defaultButton="true" mnemonicParsing="false" onAction="#onLoginClicked" text="Login">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0"/>
</HBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#onQuitClicked" text="Quit">
<Button cancelButton="true" mnemonicParsing="false" onAction="#onQuitClicked" text="Quit">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0"/>
</HBox.margin>
Expand Down
52 changes: 31 additions & 21 deletions src/main/resources/mainWindow.fxml
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,7 @@
</Label>
<HBox prefWidth="700.0">
<children>
<TreeTableView fx:id="ladderPoolView" prefHeight="200.0" prefWidth="500.0"
HBox.hgrow="ALWAYS"/>
<TreeTableView fx:id="ladderPoolView" HBox.hgrow="ALWAYS"/>
<ImageView fx:id="ladderPoolImageView" fitHeight="150.0" fitWidth="200.0"
pickOnBounds="true" preserveRatio="true"/>
</children>
Expand Down Expand Up @@ -228,7 +227,7 @@
<HBox alignment="CENTER_LEFT" prefWidth="200.0"/>
<HBox VBox.vgrow="ALWAYS">
<children>
<TreeTableView fx:id="mapVaultView" prefHeight="200.0" prefWidth="500.0"/>
<TreeTableView fx:id="mapVaultView" HBox.hgrow="ALWAYS"/>
<ImageView fx:id="mapVaultImageView" fitHeight="150.0" fitWidth="200.0"
pickOnBounds="true" preserveRatio="true"/>
</children>
Expand Down Expand Up @@ -352,24 +351,35 @@
</Tab>
<Tab text="Recent activity">
<content>
<ScrollPane fitToWidth="true" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308">
<content>
<VBox>
<children>
<TitledPane expanded="false" text="Latest Registrations">
<content>
<TableView fx:id="userRegistrationFeedTableView"/>
</content>
</TitledPane>
<TitledPane expanded="false" text="Latest Teamkills">
<content>
<TableView fx:id="teamkillFeedTableView"/>
</content>
</TitledPane>
</children>
</VBox>
</content>
</ScrollPane>
<VBox alignment="TOP_CENTER">
<children>
<Button minWidth="200.0" mnemonicParsing="false" onAction="#refreshRecentActivity"
text="refresh">
<VBox.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
</VBox.margin>
</Button>
<ScrollPane fitToWidth="true" maxHeight="1.7976931348623157E308"
maxWidth="1.7976931348623157E308">
<content>
<VBox>
<children>
<TitledPane expanded="false" text="Latest Registrations">
<content>
<TableView fx:id="userRegistrationFeedTableView"/>
</content>
</TitledPane>
<TitledPane expanded="false" text="Latest Teamkills">
<content>
<TableView fx:id="teamkillFeedTableView"/>
</content>
</TitledPane>
</children>
</VBox>
</content>
</ScrollPane>
</children>
</VBox>
</content>
</Tab>
</tabs>
Expand Down
Binary file added src/main/resources/media/appicon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 5e3c3b5

Please sign in to comment.