package page.com.jfirewalltest;

import java.io.File;
import java.util.Arrays;
import java.util.Calendar;
import java.util.GregorianCalendar;

import page.tools.xml.JavaProgramDetails;

public class ProgramDetails extends JavaProgramDetails {
    
    public ProgramDetails() {
        this.setName("JFirewallTest");
        this.setVersion("0.6");
        Calendar cal = new GregorianCalendar();
        //cal.set(Calendar.YEAR, 2008);
        //cal.set(Calendar.MONTH, Calendar.JANUARY);
        //cal.set(Calendar.DAY_OF_MONTH, 13);
        this.setReleaseDate(cal.getTimeInMillis());
        this.setCostCurr("GBP");
        this.setCostInPennies(0);
        this.setType("Freeware");
        this.setReleaseStatus("New Release");
        this.setInstallSupport("Install and Uninstall");
        this.setOsSupport("WinXP, Windows2000, Windows2003, Linux, Mac OS X, Java");
        this.setLanguage("English");
        this.setRecentChangeInfo("Added preview option for reading items internally");
        this.setCategory("Internet");
        this.setCategoryClass("Communications::Privacy::Anti-Spam & Anti-Spy Tools");
        this.setRequirements("Java Runtime Environment 1.6+");
        this.setFileSizeInBytes(new File("JFirewallTest.jar").length());
        
        String[] keywords = new String[] { "jfirewalltest",
                "port scan", "scan ports", "firewall test", "internal port scan",
                "external port scan", "web based port scan", "online port scan", "test open ports",
                "find trojans", "list services", "port scanner", "online port scanner",
                "web based port scanner", "free port scan", "free", 
        };
        this.setKeywords(Arrays.asList(keywords));
        
        this.setDescription45("Scan network ports for holes in your firewall");           
        this.setDescription80("Quickly scan all network ports for holes in your firewall.");  
        this.setDescription250("JFirewallTest is a free Java webstart application that tests for" +
        		               " holes or open ports in your firewall.  Unlike other solutions," +
        		               " JFirewallTest uses a two stage testing procedure that tests all" +
        		               " 65,536 ports very rapidly.");
        this.setDescription450("JFirewallTest is a free Java webstart application that tests for" +
        		               " holes or open ports in your firewall.  Unlike other solutions," +
        		               " JFirewallTest uses a two stage testing procedure that tests all" +
        		               " 65,536 ports very rapidly. " +
        		               " After testing is complete, JFirewallTest will present a page of" +
        		               " results reporting exactly what ports are open and accessible to" +
        		               " others on the Internet.");
        this.setDescription2000("JFirewallTest is a free Java webstart application that tests for" +
        		                " holes or open ports in your firewall. Unlike other solutions," +
        		                " JFirewallTest uses a two stage testing procedure that tests all" +
        		                " 65,536 ports very rapidly. \n\nAfter testing is complete," +
        		                " JFirewallTest will present a page of results reporting exactly" +
        		                " what ports are open and accessible to others on the Internet." +
        		                " The list includes information about common services associated" +
        		                " with each port and an estimate of the vulnerability.  JFirewallTest" +
        		                " can be launched directly from this web site and will run on Windows," +
        		                " Linux and Mac computers. \n\nJFirewallTest proves that testing all network" +
        		                " ports does not need to take hours but can be done in minutes!" +
        		                " Using a simple two phase approach, JFirewallTest completes a full" +
        		                " TCP port scan in under 10 minutes.\n\n" +
        		                " The first stage creates a list of ports that are listening for" +
        		                " connections locally. JFirewallTest performs this action by making dummy" +
        		                " connections to all ports on your local machine. To speed up operation" +
        		                " JFirewallTest uses multiple threads and is therefore not slowed down" +
        		                " by pending responses. The list of open ports is sent to a WikiWebServer" +
        		                " for the second stage. The second stage tests each open port to" +
        		                " see if it is accessible from the Internet." +
        		                " The results are displayed live to the user. ");
        
        this.setFilenameLong("JFirewallTest.jnlp");
        this.setDownloadURL("http://www.jfirewalltest.com/JFirewallTest.jnlp");
        this.setDownloadURL2("http://www.wikiwebserver.org/JFirewallTest.jnlp");

        this.setInformationURL("http://www.jfirewalltest.com");        
        this.setScreenshotURL("http://www.jfirewalltest.com/templates/com/jfirewalltest/screenshot.gif");
        this.setIconURL("http://www.jfirewalltest.com/templates/com/jrsstray/icon.png");
        this.setOrderURL("http://www.jfirewalltest.com/page/com/jrsstray/Contributions.class");
        
        this.setDistributionPermissions("You may distribute an unlimited number of copies of this software;" +
        		                        " provided that each copy shall be a true and complete copy including" +
        		                        " this Agreement. You are NOT allowed to modify the original" +
        		                        " distribution package in any way.");
        
        this.setEndUserLicenceAgreement("LIMITATIONS\r\n" +
                                        "You are NOT allowed to modify, reverse engineer, decompile," +
                                        " disassemble or otherwise attempt to reconstruct or discover the" +
                                        " source code, or any parts of it, or discover or reconstruct any" +
                                        " mechanism from the binaries of this SOFTWARE\r\n\r\n" +
                                        "LIMITED LIABILITY\r\n" +
                                        "In no event shall the author of this Software be liable for any" +
                                        " damages whatsoever arising out of the use of or inability to use" +
                                        " this product.");
        
        // JNLP settings
        this.setCodebase("http://www.jfirewalltest.com/");
        this.setVendor("JADS Limited");       
        this.setOnline(false);
        this.setMenuTitle("JFirewallTest");
        this.setProgramIcon("/templates/com/jfirewalltest/icon.gif");
        this.setProgramSplash("/templates/com/jfirewalltest/splash.gif");
        this.setJaredResources(new String[] { "/JFirewallTest.jar" });
        this.setCommandLineArguments(null);
        this.setMainClass("com.jfirewalltest.JFirewallTest");     
    }
}

