From c936777cae55471add4bcac508643fb03037b8d5 Mon Sep 17 00:00:00 2001 From: North Date: Mon, 5 Nov 2012 20:05:21 +0200 Subject: [PATCH] Removed Mage.Rating.Plugin --- Mage.Plugins/Mage.Rating.Plugin/MANIFEST.MF | 7 - Mage.Plugins/Mage.Rating.Plugin/pom.xml | 86 --------- .../Mage.Rating.Plugin/results/results.zip | Bin 42587 -> 0 bytes .../Mage.Rating.Plugin/results/results2.zip | Bin 39730 -> 0 bytes .../Mage.Rating.Plugin/results/results3.zip | Bin 39634 -> 0 bytes .../org/mage/plugins/rating/RateCallback.java | 77 -------- .../org/mage/plugins/rating/RateFrame.java | 100 ----------- .../org/mage/plugins/rating/RateThread.java | 137 --------------- .../mage/plugins/rating/results/Rating.java | 11 -- .../plugins/rating/results/ResultHandler.java | 155 ---------------- .../org/mage/plugins/rating/ui/BigCard.java | 166 ------------------ .../plugins/rating/ui/GuiDisplayUtil.java | 104 ----------- .../mage/plugins/rating/ui/ImageHelper.java | 23 --- .../mage/plugins/rating/util/MapSorter.java | 28 --- .../src/main/resources/log4j.properties | 8 - Mage.Plugins/pom.xml | 1 - 16 files changed, 903 deletions(-) delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/MANIFEST.MF delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/pom.xml delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/results/results.zip delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/results/results2.zip delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/results/results3.zip delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/RateCallback.java delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/RateFrame.java delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/RateThread.java delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/results/Rating.java delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/results/ResultHandler.java delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/BigCard.java delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/GuiDisplayUtil.java delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/ImageHelper.java delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/util/MapSorter.java delete mode 100644 Mage.Plugins/Mage.Rating.Plugin/src/main/resources/log4j.properties diff --git a/Mage.Plugins/Mage.Rating.Plugin/MANIFEST.MF b/Mage.Plugins/Mage.Rating.Plugin/MANIFEST.MF deleted file mode 100644 index 98d46b93d1..0000000000 --- a/Mage.Plugins/Mage.Rating.Plugin/MANIFEST.MF +++ /dev/null @@ -1,7 +0,0 @@ -Manifest-Version: 1.0 -Archiver-Version: Plexus Archiver -Created-By: Apache Maven -Built-By: natfullina -Build-Jdk: 1.6.0_16 -Main-Class: org.mage.plugins.rating.RateFrame -Class-Path: lib/mage-sets.jar \ No newline at end of file diff --git a/Mage.Plugins/Mage.Rating.Plugin/pom.xml b/Mage.Plugins/Mage.Rating.Plugin/pom.xml deleted file mode 100644 index cf73154188..0000000000 --- a/Mage.Plugins/Mage.Rating.Plugin/pom.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - 4.0.0 - - - org.mage - mage-plugins - 0.9.2 - - - org.mage - mage-rating-plugin - jar - 0.9.2 - Mage Rating Plugin - Plugin that rates cards - - - - org.mage - mage-sets - ${mage-version} - - - org.mage - mage-client - ${mage-version} - - - com.googlecode.jspf - jspf-core - 0.9.1 - - - log4j - log4j - 1.2.9 - - - com.google.collections - google-collections - 1.0 - - - com.mortennobel - java-image-scaling - 0.8.5 - - - org.swinglabs - swingx - 1.6.1 - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.6 - 1.6 - - - - - maven-assembly-plugin - - - - org.mage.plugins.rating.RateFrame - - - - jar-with-dependencies - - - - - - - mage-rate-plugin - - diff --git a/Mage.Plugins/Mage.Rating.Plugin/results/results.zip b/Mage.Plugins/Mage.Rating.Plugin/results/results.zip deleted file mode 100644 index adaf75a05612f38b11eee5fd5370f4abbeb06c6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42587 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ŋ#8<+F4voP*H^y0^~rEyp7c(gTDMvxK5P1M_@8$0 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 W_W;ce8JP$88|0Ld;D0=nJ=^e diff --git a/Mage.Plugins/Mage.Rating.Plugin/results/results2.zip b/Mage.Plugins/Mage.Rating.Plugin/results/results2.zip deleted file mode 100644 index 15e6c06766f40ce600dec8af292f3d088d4642b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39730 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 diff --git a/Mage.Plugins/Mage.Rating.Plugin/results/results3.zip b/Mage.Plugins/Mage.Rating.Plugin/results/results3.zip deleted file mode 100644 index 0e8c978b0cca1e64153895bce560854255c50b90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39634 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 results = new ArrayList(); - private static final List cards = new ArrayList(); - - static { - CardScanner.scan(); - CardCriteria criteria = new CardCriteria(); - criteria.notTypes(CardType.LAND); - List allCards = CardRepository.instance.findCards(criteria); - List names = new ArrayList(); - for (CardInfo card : allCards) { - if (!names.contains(card.getName())) { - names.add(card.getName()); - cards.add(card); - } - } - } - - public RateThread() { - setDaemon(true); - start(); - } - - public static RateThread getInstance() { - return fInstance; - } - - @Override - public synchronized void run() { - while (!stop) { - try { - Card card1 = getRandomUniqueNonLandCard(null); - Card card2 = getRandomUniqueNonLandCard(card1); - - mageCard1 = impl.getMageCard(new CardView(card1), cardDimension, UUID.randomUUID(), new RateCallback(card1, card2, this, bigCard), false, true); - mageCard1.setCardBounds(bigCardDimension.frameWidth + 80, 10, dimensions.frameWidth, dimensions.frameHeight); - frame.add(mageCard1); - - mageCard2 = impl.getMageCard(new CardView(card2), cardDimension, UUID.randomUUID(), new RateCallback(card2, card1, this, bigCard), false, true); - mageCard2.setCardBounds(bigCardDimension.frameWidth + 80 + dimensions.frameWidth + 30, 10, dimensions.frameWidth, dimensions.frameHeight); - frame.add(mageCard2); - - frame.validate(); - - wait(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - - protected Card getRandomUniqueNonLandCard(Card previousCard) { - int count = cards.size(); - Card card = cards.get(random.nextInt(count)).getCard(); - while (previousCard != null && card.getName().equals(previousCard.getName())) { - card = cards.get(random.nextInt(count)).getCard(); - } - return card; - } - - public void start(JFrame frame, BigCard bigCard) { - this.frame = frame; - this.bigCard = bigCard; - } - - protected synchronized void generateNext() { - notify(); - } - - public void reportResult(Card card1, Card card2) { - results.add(new Rating(card1.getName(), card2.getName())); - removeCard(mageCard1); - removeCard(mageCard2); - frame.validate(); - if (results.size() == 10) { - ResultHandler.getInstance().save(results); - results.clear(); - } - generateNext(); - } - - public void forceSave() { - if (results.size() > 0) { - ResultHandler.getInstance().save(results); - results.clear(); - } - } - - private void removeCard(Component component) { - if (component != null) { - frame.remove(component); - } - } - - public synchronized void stopRating() { - this.stop = true; - notify(); - } -} diff --git a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/results/Rating.java b/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/results/Rating.java deleted file mode 100644 index 8c9d9868df..0000000000 --- a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/results/Rating.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.mage.plugins.rating.results; - -public class Rating { - public String winnerCardName; - public String loserCardName; - - public Rating(String win, String lose) { - this.winnerCardName = win; - this.loserCardName = lose; - } -} diff --git a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/results/ResultHandler.java b/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/results/ResultHandler.java deleted file mode 100644 index e6f5f27879..0000000000 --- a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/results/ResultHandler.java +++ /dev/null @@ -1,155 +0,0 @@ -package org.mage.plugins.rating.results; - -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.io.FilenameFilter; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Scanner; -import java.util.UUID; -import java.util.Map.Entry; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.apache.log4j.Logger; -import org.mage.plugins.rating.util.MapSorter; - -public class ResultHandler { - - private static ResultHandler fInstance = new ResultHandler(); - private static Map ratings = new LinkedHashMap(); - private static String newLine = System.getProperty("line.separator"); - private static Pattern scorePattern = Pattern.compile("([^|]*)[|]+ > [|]+([^|]*)"); - private static Pattern pickPattern = Pattern.compile("[\\w\\d]{3}\\|(.*)\\|(.*)\\|(.*)"); - private static Logger log = Logger.getLogger(ResultHandler.class); - - static { - File file = new File("results"); - if (!file.exists()) { - file.mkdir(); - } - } - - public static ResultHandler getInstance() { - return fInstance; - } - - public void save(List results) { - File f = new File("results" + File.separator + UUID.randomUUID() + ".txt"); - try { - if (f.createNewFile()) { - FileOutputStream fos = new FileOutputStream(f); - BufferedOutputStream b = new BufferedOutputStream(fos); - for (Rating r : results) { - String line = r.winnerCardName + "| > |" + r.loserCardName + newLine; - b.write(line.getBytes()); - } - b.close(); - fos.close(); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - public void rate() throws Exception { - ratings.clear(); - File file = new File("results"); - File ratingFile = new File("ratings.txt"); - if (ratingFile.exists()) { - if (!ratingFile.delete()) { - throw new RuntimeException("Couldn't delete previous ratings.txt file"); - } - } - if (ratingFile.createNewFile()) { - loadPickFiles("picks"); - for (File f : file.listFiles()) { - if (!f.getName().equals("rating.txt")) { - parseFile(f); - } - } - ratings = MapSorter.sortByValue(ratings); - FileOutputStream fos = new FileOutputStream(ratingFile); - BufferedOutputStream b = new BufferedOutputStream(fos); - for (Entry entry : ratings.entrySet()) { - String line = entry.getValue() + " : " + entry.getKey() + newLine; - b.write(line.getBytes()); - } - b.close(); - fos.close(); - } - } - - private void loadPickFiles(String directory) throws Exception { - File directoryFile = new File(directory); - if (directoryFile.exists()) { - for (File f: directoryFile.listFiles(new FilenameFilter() { - @Override - public boolean accept(File dir, String name) { - return name.endsWith(".txt"); - } - })) { - log.info("Load pick file " + f.getName()); - loadPickFile(f); - } - } else { - log.info("No pics directory found! Copy it from Utils"); - } - } - - private void loadPickFile(File f) throws Exception { - Scanner s = new Scanner(f); - while (s.hasNextLine()) { - String line = s.nextLine(); - Matcher m = pickPattern.matcher(line); - if (m.matches()) { - String card = m.group(1); - Float stdRate = Float.parseFloat(m.group(2)); - int rate = (int)((15 - stdRate + 1) * (2/3f) * 100 + 500); - ratings.put(card, rate); - } - } - } - - private void parseFile(File f) throws Exception { - Scanner s = new Scanner(f); - while (s.hasNextLine()) { - String line = s.nextLine(); - Matcher m = scorePattern.matcher(line); - if (m.matches()) { - String winner = m.group(1);String loser = m.group(2); - Integer winnerRating = ratings.get(winner); - if (winnerRating == null) - winnerRating = 1000; - Integer loserRating = ratings.get(loser); - if (loserRating == null) - loserRating = 1000; - Integer newWinnerRating = countEloRating(winnerRating, loserRating, true); - Integer newLoserRating = countEloRating(loserRating, winnerRating, false); - log.info("Winner(" + winner + "): " + winnerRating + " >> " + newWinnerRating); - log.info("Loser(" + loser + "): " + loserRating + " >> " + newLoserRating); - ratings.put(winner, newWinnerRating); - ratings.put(loser, newLoserRating); - } else { - log.warn("Doesn't match rate pattern: " + line); - } - } - s.close(); - } - - /** - * Count rating using Elo Rating System. - * - * @param ra - * @param rb - * @return - */ - private Integer countEloRating(Integer ra, Integer rb, boolean firstWon) { - double d = (rb - ra) / 400.0; - double expected = 1.0d / (1 + Math.pow(10, d)); - double actual = firstWon ? 1 : 0; - return Integer.valueOf((int) Math.round(ra + 32 * (actual - expected))); - } -} \ No newline at end of file diff --git a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/BigCard.java b/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/BigCard.java deleted file mode 100644 index ae74463c74..0000000000 --- a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/BigCard.java +++ /dev/null @@ -1,166 +0,0 @@ -/* -* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. -* -* Redistribution and use in source and binary forms, with or without modification, are -* permitted provided that the following conditions are met: -* -* 1. Redistributions of source code must retain the above copyright notice, this list of -* conditions and the following disclaimer. -* -* 2. Redistributions in binary form must reproduce the above copyright notice, this list -* of conditions and the following disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED -* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR -* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -* The views and conclusions contained in the software and documentation are those of the -* authors and should not be interpreted as representing official policies, either expressed -* or implied, of BetaSteward_at_googlemail.com. -*/ - -/* - * BigCard.java - * - * Created on Jan 18, 2010, 3:21:33 PM - */ - -package org.mage.plugins.rating.ui; - -import static mage.constants.Constants.CONTENT_MAX_XOFFSET; -import static mage.constants.Constants.FRAME_MAX_HEIGHT; -import static mage.constants.Constants.FRAME_MAX_WIDTH; -import static mage.constants.Constants.TEXT_MAX_HEIGHT; -import static mage.constants.Constants.TEXT_MAX_WIDTH; -import static mage.constants.Constants.TEXT_MAX_YOFFSET; - -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.Image; -import java.awt.Rectangle; -import java.util.List; -import java.util.UUID; - -import javax.swing.text.BadLocationException; -import javax.swing.text.StyledDocument; - -import org.jdesktop.swingx.JXPanel; - -/** - * - * @author BetaSteward_at_googlemail.com - */ -public class BigCard extends javax.swing.JPanel { - - protected Image bigImage; - protected UUID cardId; - protected JXPanel panel; - protected boolean initState; - - public BigCard() { - initComponents(); - } - - protected void initBounds() { - initState = true; - scrollPane.setBounds(20, 230, 210, 120); - scrollPane.setBounds(new Rectangle(CONTENT_MAX_XOFFSET, TEXT_MAX_YOFFSET, TEXT_MAX_WIDTH, TEXT_MAX_HEIGHT)); - } - - public void setCard(UUID cardId, Image image, List strings) { - if (this.cardId == null || !this.cardId.equals(cardId)) { - if (this.panel != null) remove(this.panel); - this.cardId = cardId; - bigImage = image; - this.repaint(); - drawText(strings); - } - } - - public UUID getCardId() { - return cardId; - } - - private void drawText(java.util.List strings) { - text.setText(""); - StyledDocument doc = text.getStyledDocument(); - - try { - for (String line: strings) { - doc.insertString(doc.getLength(), line + "\n", doc.getStyle("regular")); - } - } catch (BadLocationException ble) { } - text.setCaretPosition(0); - } - - @Override - public void paintComponent(Graphics graphics) { - if (bigImage != null) - graphics.drawImage(bigImage, 0, 0, this); - super.paintComponent(graphics); - } - - public void hideTextComponent() { - this.scrollPane.setVisible(false); - } - - public void showTextComponent() { - if (!initState) {initBounds();} - this.scrollPane.setVisible(true); - } - - public void addJXPanel(UUID cardId, JXPanel jxPanel) { - bigImage = null; - synchronized (this) { - if (this.panel != null) remove(this.panel); - this.panel = jxPanel; - add(jxPanel); - } - this.repaint(); - } - - - /** This method is called from within the constructor to - * initialize the form. - * WARNING: Do NOT modify this code. The content of this method is - * always regenerated by the Form Editor. - */ - @SuppressWarnings("unchecked") - // //GEN-BEGIN:initComponents - private void initComponents() { - - scrollPane = new javax.swing.JScrollPane(); - text = new javax.swing.JTextPane(); - - setFocusable(false); - setMinimumSize(new Dimension(FRAME_MAX_WIDTH, FRAME_MAX_HEIGHT)); - setOpaque(false); - setPreferredSize(getMinimumSize()); - setLayout(null); - - scrollPane.setBorder(null); - scrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPane.setOpaque(false); - - text.setEditable(false); - text.setFocusable(false); - text.setOpaque(false); - scrollPane.setViewportView(text); - - add(scrollPane); - }// //GEN-END:initComponents - - - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JScrollPane scrollPane; - private javax.swing.JTextPane text; - // End of variables declaration//GEN-END:variables - -} diff --git a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/GuiDisplayUtil.java b/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/GuiDisplayUtil.java deleted file mode 100644 index 0ad13ce294..0000000000 --- a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/GuiDisplayUtil.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.mage.plugins.rating.ui; - -import java.awt.Color; -import java.awt.Font; - -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.SwingConstants; - -import mage.Constants.CardType; -import mage.utils.CardUtil; -import mage.view.CardView; - -import org.jdesktop.swingx.JXPanel; - -public class GuiDisplayUtil { - private static final Font cardNameFont = new Font("Calibri", Font.BOLD, 15); - - public static JXPanel getDescription(CardView card, int width, int height) { - JXPanel descriptionPanel = new JXPanel(); - - //descriptionPanel.setAlpha(.8f); - descriptionPanel.setBounds(0, 0, width, height); - descriptionPanel.setVisible(false); - descriptionPanel.setLayout(null); - - //descriptionPanel.setBorder(BorderFactory.createLineBorder(Color.green)); - - JButton j = new JButton(""); - j.setBounds(0, 0, width, height); - j.setBackground(Color.black); - j.setLayout(null); - - JLabel name = new JLabel("Wrath of God"); - name.setBounds(5, 5, width - 90, 20); - name.setForeground(Color.white); - name.setFont(cardNameFont); - //name.setBorder(BorderFactory.createLineBorder(Color.green)); - j.add(name); - - JLabel cost = new JLabel("B R G W U"); - cost.setBounds(width - 85, 5, 77, 20); - cost.setForeground(Color.white); - cost.setFont(cardNameFont); - //cost.setBorder(BorderFactory.createLineBorder(Color.green)); - cost.setHorizontalAlignment(SwingConstants.RIGHT); - j.add(cost); - - JLabel type = new JLabel("Creature - Goblin Shaman"); - type.setBounds(5, 70, width - 8, 20); - type.setForeground(Color.white); - type.setFont(cardNameFont); - //type.setBorder(BorderFactory.createLineBorder(Color.green)); - j.add(type); - - JLabel cardText = new JLabel(); - cardText.setBounds(5, 100, width - 8, 260); - cardText.setForeground(Color.white); - cardText.setFont(cardNameFont); - cardText.setVerticalAlignment(SwingConstants.TOP); - //cardText.setBorder(new EtchedBorder()); - j.add(cardText); - - name.setText(card.getName()); - cost.setText(card.getManaCost().toString()); - String typeText = ""; - String delimiter = card.getCardTypes().size() > 1 ? " - " : ""; - for (CardType t : card.getCardTypes()) { - typeText += t; - typeText += delimiter; - delimiter = " "; // next delimiters are just spaces - } - type.setText(typeText); - cardText.setText(""+card.getRules()+""); - - if (CardUtil.isCreature(card)) { - JLabel pt = new JLabel(card.getPower() + "/" + card.getToughness()); - pt.setBounds(width - 50, height - 30, 40, 20); - pt.setForeground(Color.white); - pt.setFont(cardNameFont); - pt.setHorizontalAlignment(JLabel.RIGHT); - j.add(pt); - } - - descriptionPanel.add(j); - - return descriptionPanel; - } - - public static String cleanString(String in) { - StringBuffer out = new StringBuffer(); - char c; - for (int i = 0; i < in.length(); i++) { - c = in.charAt(i); - if (c == ' ' || c == '-') - out.append('_'); - else if (Character.isLetterOrDigit(c)) { - out.append(c); - } - } - return out.toString().toLowerCase(); - } - -} diff --git a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/ImageHelper.java b/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/ImageHelper.java deleted file mode 100644 index 595d232557..0000000000 --- a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/ui/ImageHelper.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.mage.plugins.rating.ui; - -import java.awt.image.BufferedImage; - -import com.mortennobel.imagescaling.ResampleOp; - -/** - * Contains utility methods to work with images. - * - * @author ayrat - */ -public class ImageHelper { - /** - * Returns an image scaled to the size appropriate for the card picture - * panel - */ - public static BufferedImage getResizedImage(BufferedImage original, int width, int height) { - ResampleOp resampleOp = new ResampleOp(width, height); - BufferedImage image = resampleOp.filter(original, null); - return image; - } - -} diff --git a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/util/MapSorter.java b/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/util/MapSorter.java deleted file mode 100644 index c2c4073376..0000000000 --- a/Mage.Plugins/Mage.Rating.Plugin/src/main/java/org/mage/plugins/rating/util/MapSorter.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.mage.plugins.rating.util; - -import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -public class MapSorter { - - @SuppressWarnings("unchecked") - public static Map sortByValue(Map map) { - List list = new LinkedList(map.entrySet()); - Collections.sort(list, new Comparator() { - public int compare(Object o2, Object o1) { - return ((Comparable) ((Map.Entry) (o1)).getValue()).compareTo(((Map.Entry) (o2)).getValue()); - } - }); - Map result = new LinkedHashMap(); - for (Iterator it = list.iterator(); it.hasNext();) { - Map.Entry entry = (Map.Entry) it.next(); - result.put(entry.getKey(), entry.getValue()); - } - return result; - } -} diff --git a/Mage.Plugins/Mage.Rating.Plugin/src/main/resources/log4j.properties b/Mage.Plugins/Mage.Rating.Plugin/src/main/resources/log4j.properties deleted file mode 100644 index 08d7f0e74f..0000000000 --- a/Mage.Plugins/Mage.Rating.Plugin/src/main/resources/log4j.properties +++ /dev/null @@ -1,8 +0,0 @@ -#default levels -log4j.rootLogger=debug, console - -#console log -log4j.appender.console=org.apache.log4j.ConsoleAppender -log4j.appender.console.layout=org.apache.log4j.PatternLayout -log4j.appender.console.layout.ConversionPattern=%-5p [%d{yyyy-MM-dd HH:mm [ss:SSS]}] %C{1}[%t]: %m%n -log4j.appender.console.Threshold=DEBUG \ No newline at end of file diff --git a/Mage.Plugins/pom.xml b/Mage.Plugins/pom.xml index 41319bbfc2..475d3a30b2 100644 --- a/Mage.Plugins/pom.xml +++ b/Mage.Plugins/pom.xml @@ -18,7 +18,6 @@ Mage.Theme.Plugin Mage.Counter.Plugin - Mage.Rating.Plugin