Skip to content

Commit

Permalink
ho-dev#2063 download missing world details
Browse files Browse the repository at this point in the history
  • Loading branch information
wsbrenk committed May 20, 2024
1 parent c02ca30 commit 78dc458
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 75 deletions.
12 changes: 11 additions & 1 deletion src/main/java/core/db/DBManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ public void disconnect() {
/**
* connect to the database
*/
private void connect() throws Exception {
private void connect() {
User current_user = UserManager.instance().getCurrentUser();
if (connectionManager != null) {
connectionManager.connect(current_user.getDbURL(), current_user.getDbUsername(), current_user.getDbPwd(), UserManager.instance().getDriver());
Expand Down Expand Up @@ -1578,6 +1578,16 @@ public void storeWorldDetailLeagues(List<WorldDetailLeague> leagues) {
}
}

/**
* Save single world detail league.
*
* @param league The league
*/
public void storeWorldDetailLeague(WorldDetailLeague league) {
WorldDetailsTable table = (WorldDetailsTable) getTable(WorldDetailsTable.TABLENAME);
table.storeWorldDetailsLeague(league);
}

// --------------------------------------------------------------------------------
// -------------------------------- Statistik Part
// --------------------------------
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/core/model/WorldDetailsManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ public class WorldDetailsManager {

private static WorldDetailsManager WMANAGER = null;
private List<WorldDetailLeague> leagues;
private HashMap<Integer, WorldDetailLeague> countryMap = new HashMap<Integer, WorldDetailLeague>();
private HashMap<Integer, WorldDetailLeague> leagueMap = new HashMap<Integer, WorldDetailLeague>();
private final HashMap<Integer, WorldDetailLeague> countryMap = new HashMap<>();
private final HashMap<Integer, WorldDetailLeague> leagueMap = new HashMap<>();
private int totalUsers;

public static WorldDetailsManager instance() {
Expand Down Expand Up @@ -66,8 +66,8 @@ public WorldDetailLeague getWorldDetailLeagueByCountryId(Integer countryId) {
var ret = countryMap.get(countryId);
if (ret == null) {
ret = downloadWorldDetailLeague(countryId);
countryMap.put(countryId, ret);
DBManager.instance().storeWorldDetailLeagues(Collections.singletonList(ret));
DBManager.instance().storeWorldDetailLeague(ret);
initialize();
}
return ret;
}
Expand Down
13 changes: 1 addition & 12 deletions src/main/java/core/net/MyConnector.java
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ public String getWorldDetails(int leagueId) throws IOException {
return getCHPPWebFile(url);
}

public String getWorldDetailsByCountryId(int countryId) throws IOException {
public String getWorldDetailsByCountryId(int countryId) {
String url = htUrl + "?file=worlddetails&version=1.9&countryID=" + countryId;
return getCHPPWebFile(url);
}
Expand Down Expand Up @@ -577,17 +577,6 @@ public void enableProxy(ProxySettings proxySettings) {
}
}

/**
* Get the region id for a certain team.
*/
public String fetchRegionID(int teamId) {
String xml = getTeamDetails(teamId);
if (!xml.isEmpty()){
return XMLTeamDetailsParser.fetchRegionID(xml);
}
return "-1";
}

public InputStream getFileFromWeb(String url, boolean displaysettingsScreen) {
if (displaysettingsScreen) {
// Show Screen
Expand Down
94 changes: 36 additions & 58 deletions src/main/java/module/ifa/RightPanel.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,7 @@
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.*;
import java.util.List;

import javax.swing.BorderFactory;
Expand All @@ -42,6 +39,7 @@

public class RightPanel extends JPanel {

@Serial
private static final long serialVersionUID = -5038012557489983903L;
private JButton updateButton;
private JButton saveImageButton;
Expand All @@ -56,10 +54,6 @@ public RightPanel(IfaModel model) {
addListeners();
}

public ImageDesignPanel getImageDesignPanel() {
return this.imageDesignPanel;
}

private void initComponents() {
setLayout(new GridBagLayout());
setBorder(BorderFactory.createTitledBorder(HOVerwaltung.instance().getLanguageString(
Expand Down Expand Up @@ -106,56 +100,40 @@ private void initComponents() {
}

private void addListeners() {
this.awayRadioButton.addItemListener(new ItemListener() {

@Override
public void itemStateChanged(ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.SELECTED) {
imageDesignPanel.setAway(true);
}
}
});

this.homeRadioButton.addItemListener(new ItemListener() {

@Override
public void itemStateChanged(ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.SELECTED) {
imageDesignPanel.setAway(false);
}
}
});

this.updateButton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
String worldDetails;
try {
worldDetails = MyConnector.instance().getWorldDetails(0);
List<WorldDetailLeague> leagues = XMLWorldDetailsParser.parseDetails(XMLManager
.parseString(worldDetails));
DBManager.instance().storeWorldDetailLeagues(leagues);
WorldDetailsManager.instance().refresh();
} catch (IOException e1) {
e1.printStackTrace();
}
PluginIfaUtils.updateMatchesTable();
RightPanel.this.model.reload();
}
});

this.saveImageButton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
try {
saveImage();
} catch (IOException ex) {
throw new RuntimeException(ex);
}
}
});
this.awayRadioButton.addItemListener(evt -> {
if (evt.getStateChange() == ItemEvent.SELECTED) {
imageDesignPanel.setAway(true);
}
});

this.homeRadioButton.addItemListener(evt -> {
if (evt.getStateChange() == ItemEvent.SELECTED) {
imageDesignPanel.setAway(false);
}
});

this.updateButton.addActionListener(arg0 -> {
String worldDetails;
try {
worldDetails = MyConnector.instance().getWorldDetails(0);
List<WorldDetailLeague> leagues = XMLWorldDetailsParser.parseDetails(XMLManager
.parseString(worldDetails));
DBManager.instance().storeWorldDetailLeagues(leagues);
WorldDetailsManager.instance().refresh();
} catch (IOException e1) {
e1.printStackTrace();
}
PluginIfaUtils.updateMatchesTable();
RightPanel.this.model.reload();
});

this.saveImageButton.addActionListener(e -> {
try {
saveImage();
} catch (IOException ex) {
throw new RuntimeException(ex);
}
});

}

Expand Down

0 comments on commit 78dc458

Please sign in to comment.