CPD Results

The following document contains the results of PMD's CPD 4.2.5.

Duplications

FileLine
net\sourceforge\queried\gametypes\BF2142ServerInfo.java11
net\sourceforge\queried\gametypes\BF2ServerInfo.java11
public class BF2ServerInfo {

	public static ServerInfo getDetails(int localPort, String ipStr, int port, int infoType, int queryType,
        int gameType) {

        String queryResult = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType);

        ServerInfo serverInfo = null;
        if(queryResult != null && queryResult.length() > 0) {
            serverInfo = new ServerInfo();
            serverInfo.setGame(Util.getPartGS2(queryResult, "gamename"));
            serverInfo.setGameVersion(Util.getPartGS2(queryResult, "gamever"));
            serverInfo.setIp(ipStr);
            serverInfo.setPort(Util.getPartGS2(queryResult, "hostport"));
            serverInfo.setName(Util.getPartGS2(queryResult, "hostname"));
            serverInfo.setMap(Util.getPartGS2(queryResult, "mapname"));
            serverInfo.setPlayerCount(Util.getPartGS2(queryResult, "numplayers"));
            serverInfo.setMaxPlayers(Util.getPartGS2(queryResult, "maxplayers"));
            serverInfo.setFullResponse(queryResult);
        }

		return serverInfo;
	}

    public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType, 
        int gameType) {
            
        String recStr = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType);

        ArrayList playerInfo = new ArrayList();

        String[] players = assembleParts(recStr, "player_");
        
        // didn't get any
        if(players == null || players.length == 0) {
            return playerInfo;
        }

        String[] scores = assembleParts(recStr, "score_");

        String[] deaths = assembleParts(recStr, "deaths_");
        
        String[] skills = assembleParts(recStr, "skill_");

        try {
            for(int i=0; i < players.length; i++) {
                PlayerInfo player = new PlayerInfo();
                // name
                player.setName(players[i]);
                // score
                player.setScore(Integer.valueOf(scores[i]).intValue());
                // deaths
                player.setDeaths(Integer.valueOf(deaths[i]).intValue());
                // kills
                player.setKills(Integer.valueOf(skills[i]).intValue());
                playerInfo.add(player);
            }
        } catch (ArrayIndexOutOfBoundsException aiex) {
            // was time to break out - end of getting correct info
        } catch (NumberFormatException nfex) {
            // was time to break out - end of getting correct info
        } catch (StringIndexOutOfBoundsException sobex) {
            // was time to break out - end of getting correct info
        }
        Collections.sort(playerInfo, new ScoreComparator());

        return playerInfo;
    }
    
    private static String[] assembleParts(String recStr, String markerString) {
        char chr = 00;
        String marker = markerString + chr;
        boolean search = true;
        int start = 0;
        int end = 0;
        String chunk = "";
        String[] retArray = null;
        while(search) {
            start = recStr.indexOf(marker, start) + marker.length() + 1;
            end = recStr.indexOf(chr +""+ chr, start);
            if(end <= 0) {
                end = recStr.length();
            }
            if(start == marker.length()) {
                search = false;
            }
            if(search) {
                chunk = recStr.substring(start, end);
                if(retArray == null || retArray.length == 0) {
                    retArray = chunk.split(chr +"");
                } else { // new chunk started with player_.>
                    String[] tmpArray = chunk.split(chr +"");
                    String[] copyArray = (String[]) retArray.clone();
                    retArray = new String[tmpArray.length + copyArray.length - 1]; 
                    // replace the last item as it is repeated fully in the new segment
                    System.arraycopy(copyArray, 0, retArray, 0, copyArray.length - 1);
                    System.arraycopy(tmpArray, 0, retArray, copyArray.length -1, tmpArray.length);
                }                
                start = end;
            }
        }
        
        if(retArray == null) {
            return null;
        }
        
        return (String[]) retArray.clone();
    }    
}
FileLine
net\sourceforge\queried\gametypes\ETServerInfo.java12
net\sourceforge\queried\gametypes\SOF2Q3ServerInfo.java12
public class SOF2Q3ServerInfo {

	public static ServerInfo getDetails(int localPort, String ipStr, int port, int infoType, int queryType,
        int gameType) {
            
        String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus", infoType, queryType, gameType);

        ServerInfo serverInfo = null;
        if(queryResult != null && queryResult.length() > 0) {
            queryResult = queryResult.substring(queryResult.indexOf("\\"));
            queryResult = queryResult.replaceAll("\\^([0-9a-wyzA-WYZ]|x[0-9a-fA-F]{6})", "");
            serverInfo = new ServerInfo();
            String[] playerParts = queryResult.split("\n");
    		serverInfo.setGame(Util.getPart(queryResult, "gamename")); 
            serverInfo.setIp(ipStr);
            serverInfo.setPort(port +"");
            serverInfo.setName(Util.getPart(queryResult, "sv_hostname"));
            serverInfo.setPlayerCount(playerParts.length - 1 +"");
            serverInfo.setMaxPlayers(Util.getPart(queryResult, "sv_maxclients"));
            serverInfo.setMap(Util.getPart(queryResult, "mapname"));
            serverInfo.setFullResponse(queryResult);
        }

		return serverInfo;
	}

    public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
        int gameType) {
            
        ArrayList playerInfo = new ArrayList();
        String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus", infoType, queryType, gameType);
        if(queryResult == null || queryResult.length() < 1) {
            return playerInfo;
        }
        
        queryResult = queryResult.substring(queryResult.indexOf("\\"));
        queryResult = queryResult.replaceAll("\\^([0-9a-wyzA-WYZ]|x[0-9a-fA-F]{6})", "");

        if(queryResult != null || queryResult.length() > 0) {
            String[] plyrs = queryResult.split("\n");
            int playerCount = plyrs.length-1;
            for(int x=1; x < plyrs.length; x++) {
                String plyr = plyrs[x];
                String score = plyr.substring(0, plyr.indexOf(" "));
                String name = plyr.substring(plyr.lastIndexOf(" "));
FileLine
net\sourceforge\queried\gametypes\AAServerInfo.java11
net\sourceforge\queried\gametypes\BF2142ServerInfo.java11
public class BF2142ServerInfo {

	public static ServerInfo getDetails(int localPort, String ipStr, int port, int infoType, int queryType,
        int gameType) {

        String queryResult = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType);

        ServerInfo serverInfo = null;
        if(queryResult != null && queryResult.length() > 0) {
            serverInfo = new ServerInfo();
            serverInfo.setGame(Util.getPartGS2(queryResult, "gamename"));
            serverInfo.setGameVersion(Util.getPartGS2(queryResult, "gamever"));
            serverInfo.setIp(ipStr);
            serverInfo.setPort(Util.getPartGS2(queryResult, "hostport"));
            serverInfo.setName(Util.getPartGS2(queryResult, "hostname"));
            serverInfo.setMap(Util.getPartGS2(queryResult, "mapname"));
            serverInfo.setPlayerCount(Util.getPartGS2(queryResult, "numplayers"));
            serverInfo.setMaxPlayers(Util.getPartGS2(queryResult, "maxplayers"));
            serverInfo.setFullResponse(queryResult);
        }

		return serverInfo;
	}

    public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType, 
        int gameType) {
            
        String recStr = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType);
FileLine
net\sourceforge\queried\gametypes\HLServerInfo.java126
net\sourceforge\queried\gametypes\SourceServerInfo.java90
        StringBuffer netName = new StringBuffer(20);
        while(buf[off] != 0) {
            netName.append((char)(buf[off++] & 255));
        }
        serverInfo.setName(netName.toString());

        off++;
                
        StringBuffer mapName = new StringBuffer(20);
        while(buf[off] != 0) {
            mapName.append((char)(buf[off++] & 255));
        }
        serverInfo.setMap(mapName.toString());
        
        off++;

		// skip game directory
		while(buf[off] != 0) {
			off++;
		}
		
		off++;

		StringBuffer gameDesc = new StringBuffer(20);
		while(buf[off] != 0) {
			gameDesc.append((char)(buf[off++] & 255));
		}
        serverInfo.setGame(gameDesc.toString());

        off++;
FileLine
net\sourceforge\queried\gametypes\ETServerInfo.java29
net\sourceforge\queried\gametypes\NEXServerInfo.java33
            serverInfo.setPlayerCount(Util.getPart(queryResult, "clients"));
            serverInfo.setMaxPlayers(Util.getPart(queryResult, "sv_maxclients"));
            serverInfo.setMap(Util.getPart(queryResult, "mapname"));
            serverInfo.setFullResponse(queryResult);
        }

        return serverInfo;
    }

    public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, 
        int queryType, int gameType) {

        ArrayList playerInfo = new ArrayList();
        String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus", infoType, queryType, gameType);
        if (queryResult == null || queryResult.length() < 1) {
            return playerInfo;
        }

        queryResult = queryResult.substring(queryResult.indexOf("\\"));
        queryResult = queryResult.replaceAll("\\^([0-9a-wyzA-WYZ]|x[0-9a-fA-F]{6})", "");

        if (queryResult != null || queryResult.length() > 0) {
            String[] plyrs = queryResult.split("\n");
FileLine
net\sourceforge\queried\gametypes\AAServerInfo.java20
net\sourceforge\queried\gametypes\BFVServerInfo.java20
            serverInfo.setGame(Util.getPartGS2(queryResult, "game_id"));
            serverInfo.setGameVersion(Util.getPartGS2(queryResult, "gamever"));
            serverInfo.setIp(ipStr);
            serverInfo.setPort(Util.getPartGS2(queryResult, "hostport"));
            serverInfo.setName(Util.getPartGS2(queryResult, "hostname"));
            serverInfo.setMap(Util.getPartGS2(queryResult, "mapname"));
            serverInfo.setPlayerCount(Util.getPartGS2(queryResult, "numplayers"));
            serverInfo.setMaxPlayers(Util.getPartGS2(queryResult, "maxplayers"));
            serverInfo.setFullResponse(queryResult);
        }

		return serverInfo;
	}

    public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType, 
        int gameType) {
            
        String recStr = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType);
        // kills_.. (until next) ..
        char chr = 00;
FileLine
net\sourceforge\queried\gametypes\BF2142ServerInfo.java21
net\sourceforge\queried\gametypes\BFVServerInfo.java20
            serverInfo.setGame(Util.getPartGS2(queryResult, "game_id"));
            serverInfo.setGameVersion(Util.getPartGS2(queryResult, "gamever"));
            serverInfo.setIp(ipStr);
            serverInfo.setPort(Util.getPartGS2(queryResult, "hostport"));
            serverInfo.setName(Util.getPartGS2(queryResult, "hostname"));
            serverInfo.setMap(Util.getPartGS2(queryResult, "mapname"));
            serverInfo.setPlayerCount(Util.getPartGS2(queryResult, "numplayers"));
            serverInfo.setMaxPlayers(Util.getPartGS2(queryResult, "maxplayers"));
            serverInfo.setFullResponse(queryResult);
        }

		return serverInfo;
	}

    public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType, 
        int gameType) {
            
        String recStr = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType);
FileLine
net\sourceforge\queried\gametypes\HLServerInfo.java53
net\sourceforge\queried\gametypes\SourceServerInfo.java42
        while(off < buf.length) {
            PlayerInfo playerInfo = new PlayerInfo();
			StringBuffer playerName = new StringBuffer(20);
			while(buf[off] != 0) {
				playerName.append((char)(buf[off++] & 255));
			}
			off++;
            playerInfo.setName(playerName.toString().trim());
            playerInfo.setKills((buf[off] & 255) | ((buf[off+1] & 255) << 8) | 
                ((buf[off+2] & 255) << 16) | ((buf[off+3] & 255) << 24));
            sorted.add(playerInfo);
			off += 9;
FileLine
net\sourceforge\queried\gametypes\NEXServerInfo.java33
net\sourceforge\queried\gametypes\WSWServerInfo.java39
                    queryResult.indexOf("\\clients\\") + 10));
            serverInfo.setMaxPlayers(Util.getPart(queryResult, "sv_maxclients"));
            serverInfo.setMap(Util.getPart(queryResult, "mapname"));
            serverInfo.setFullResponse(queryResult);
        }

        return serverInfo;
    }

    public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
            int gameType) {
            
        ArrayList playerInfo = new ArrayList();
        String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus",
                infoType, queryType, gameType);

        if (queryResult == null || queryResult.length() < 1) {
            return playerInfo;
        }
        
        queryResult = queryResult.substring(
                queryResult.indexOf("\\clients\\") + 9,
FileLine
net\sourceforge\queried\gametypes\SOF2Q3ServerInfo.java29
net\sourceforge\queried\gametypes\WSWServerInfo.java39
                    queryResult.indexOf("\\clients\\") + 10));
            serverInfo.setMaxPlayers(Util.getPart(queryResult, "sv_maxclients"));
            serverInfo.setMap(Util.getPart(queryResult, "mapname"));
            serverInfo.setFullResponse(queryResult);
        }

        return serverInfo;
    }

    public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
            int gameType) {
            
        ArrayList playerInfo = new ArrayList();
        String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus",
                infoType, queryType, gameType);

        if (queryResult == null || queryResult.length() < 1) {
            return playerInfo;
        }
        
        queryResult = queryResult.substring(
                queryResult.indexOf("\\clients\\") + 9,
FileLine
net\sourceforge\queried\gametypes\NEXServerInfo.java56
net\sourceforge\queried\gametypes\SOF2Q3ServerInfo.java53
            for(int x=1; x < plyrs.length; x++) {
                String plyr = plyrs[x];
                String score = plyr.substring(0, plyr.indexOf(" "));
                String name = plyr.substring(plyr.lastIndexOf(" "));
           
                PlayerInfo player = new PlayerInfo();
                player.setDeaths(-9999);
                player.setKills(Integer.valueOf(score).intValue());
                player.setName(name);
                player.setScore(-9999);                
                playerInfo.add(player);
            }
            Collections.sort(playerInfo, new ScoreComparator());
        }

        return playerInfo;
        
    }
	
}
FileLine
net\sourceforge\queried\gametypes\ETServerInfo.java29
net\sourceforge\queried\gametypes\WSWServerInfo.java39
                    queryResult.indexOf("\\clients\\") + 10));
            serverInfo.setMaxPlayers(Util.getPart(queryResult, "sv_maxclients"));
            serverInfo.setMap(Util.getPart(queryResult, "mapname"));
            serverInfo.setFullResponse(queryResult);
        }

        return serverInfo;
    }

    public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
            int gameType) {
            
        ArrayList playerInfo = new ArrayList();
        String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus",
                infoType, queryType, gameType);

        if (queryResult == null || queryResult.length() < 1) {
            return playerInfo;
        }
        
        queryResult = queryResult.substring(
                queryResult.indexOf("\\clients\\") + 9,