Revision 42395 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.installer/org.gvsig.installer.lib/org.gvsig.installer.lib.impl/src/main/java/org/gvsig/installer/lib/impl/DefaultPackageInfo.java

View differences:

DefaultPackageInfo.java
51 51
import org.gvsig.installer.lib.impl.utils.DeleteFile;
52 52
import org.gvsig.installer.lib.impl.utils.Download;
53 53
import org.gvsig.installer.lib.impl.utils.SignUtil;
54
import org.gvsig.tools.ToolsLocator;
55
import org.gvsig.tools.packageutils.PackageManager;
54 56
import org.gvsig.tools.packageutils.StringWithAlias;
55 57
import org.gvsig.tools.packageutils.impl.DefaultStringWithAlias;
56 58
import org.gvsig.tools.task.SimpleTaskStatus;
......
93 95
    private List<String> categories = null;
94 96

  
95 97
    private URL webURL = null;
96

  
98
    
99
    private static PackageManager packageManager = null;
100
   
97 101
    public DefaultPackageInfo() {
98 102
        super();
99 103
        auxFiles = new ArrayList<File>();
......
582 586
                return true;
583 587
            }
584 588
            return false;
589
        case 4: // id, version, os, arch
590
            if (!stringParts[0].equals(this.getCode())) {
591
                return false;
592
            }
593
            if( !"any".equalsIgnoreCase(stringParts[1]) ) {
594
                version = new org.gvsig.tools.packageutils.impl.DefaultVersion();
595
                try {
596
                    version.parse(stringParts[1]);
597
                } catch (InvalidParameterException ex) {
598
                    return false;
599
                }
600

  
601
                if (!version.equals(this.getVersion())) {
602
                    return false;
603
                }
604
            }
605
            if( !"any".equalsIgnoreCase(stringParts[2]) ) {
606
                if( "current".equalsIgnoreCase(stringParts[2]) ) {
607
                    if( !this.getOperatingSystem().equalsIgnoreCase(this.getPackageManager().getOperatingSystem()) ) {
608
                        return false;
609
                    }
610
                } else if( !this.getOperatingSystem().equalsIgnoreCase(stringParts[2]) ) {
611
                    return false;
612
                }
613
            }
614
            if( !"any".equalsIgnoreCase(stringParts[3]) ) {
615
                if( "current".equalsIgnoreCase(stringParts[3]) ) {
616
                    if( !this.getArchitecture().equalsIgnoreCase(this.getPackageManager().getArchitecture()) ) {
617
                        return false;
618
                    }
619
                } else if( !this.getArchitecture().equalsIgnoreCase(stringParts[3]) ) {
620
                    return false;
621
                }
622
            }
623
            return true;
585 624
        default:
586 625
            return string.equals(id);
587 626

  
588 627
        }
589 628

  
590 629
    }
591

  
630
    
631
    private PackageManager getPackageManager() {
632
        if( packageManager==null ) {
633
            packageManager = ToolsLocator.getPackageManager();
634
        }
635
        return packageManager;
636
    }
637
    
592 638
    public Dependencies getDependencies() {
593 639
        return this.dependencies;
594 640
    }

Also available in: Unified diff