Revision 42881 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.installer/org.gvsig.installer.swing/org.gvsig.installer.swing.impl/src/main/java/org/gvsig/installer/swing/impl/execution/panel/model/PackagesTableModel.java

View differences:

PackagesTableModel.java
40 40
import java.util.Set;
41 41

  
42 42
import javax.swing.table.AbstractTableModel;
43
import org.apache.commons.lang3.StringUtils;
43 44

  
44 45
import org.gvsig.installer.lib.api.InstallerLocator;
45 46
import org.gvsig.installer.lib.api.InstallerManager;
......
67 68
	}
68 69

  
69 70
	public class PackageOsAndArchitecture {
70
		public String os;
71
		public String osfamily;
72
		public String osname;
73
                public String osversion;
71 74
		public String arch;
75
                
76
                public String getOperatingSystemId() {
77
                    if( StringUtils.isEmpty(osname)) {
78
                        return osfamily;
79
                    }
80
                    return osfamily + "-" + osname;
81
                }
72 82
	}
73 83
	
74 84
//	
......
125 135
	}
126 136

  
127 137
	private boolean canSetAsDefault(List<String> defaultIDs, PackageInfo pkg) {
128
    	String system_os = installerManager.getOperatingSystem();
138
    	String system_osfamily = installerManager.getOperatingSystemFamily();
139
        String system_arch = installerManager.getArchitecture();
129 140
    	String pkg_os = pkg.getOperatingSystem(); 
130 141
    	String pkg_arch = pkg.getArchitecture();
131 142
        if (defaultIDs != null) {
132 143
            for (int j = 0; j < defaultIDs.size(); j++) {
133 144
            	String code = defaultIDs.get(j);
134 145
                if (pkg.matchID(code)) {
135
                    if (pkg_os.equals(system_os) || pkg_os.equals(PackageManager.OS.ALL)) {
136
                    	// De momento solo marcamos paquetes de arquitectura x86, 32bits
137
                		if( PackageManager.ARCH.ALL.equalsIgnoreCase(pkg_arch) ) {
138
                			return true;
139
                		} else if( PackageManager.ARCH.X86.equalsIgnoreCase(pkg_arch) ) {
140
                			return true;
141
                		}
146
                    if ( pkg.getOperatingSystemFamily().equals(system_osfamily) || pkg_os.equals(PackageManager.OS.ALL)) {
147
                        if( PackageManager.ARCH.ALL.equalsIgnoreCase(pkg_arch) ) {
148
                                return true;
149
                        } else if( system_arch.equalsIgnoreCase(pkg_arch) ) {
150
                                return true;
151
                        }
142 152
                    }
143 153
                }
144 154
            }
......
373 383
		PackageOsAndArchitecture oSArch = new PackageOsAndArchitecture();
374 384
		TablePackageInfo tableInfo = currentlyVisiblePackages[rowIndex];
375 385
		PackageInfo installerInfo = tableInfo.getPackageInfo();
376
		oSArch.os = installerInfo.getOperatingSystem();
386
		oSArch.osfamily = installerInfo.getOperatingSystemFamily();
387
		oSArch.osname = installerInfo.getOperatingSystemName();
388
		oSArch.osversion = installerInfo.getOperatingSystemVersion();
377 389
		oSArch.arch = installerInfo.getArchitecture();
378 390
		return oSArch;
379 391
	}

Also available in: Unified diff