Revision 1431 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/packageutils/impl/DefaultPackageInfo.java
DefaultPackageInfo.java | ||
---|---|---|
38 | 38 |
import java.util.Iterator; |
39 | 39 |
import java.util.List; |
40 | 40 |
import java.util.Map; |
41 |
import org.apache.commons.lang3.StringUtils; |
|
41 | 42 |
|
42 | 43 |
import org.gvsig.installer.lib.api.Dependencies; |
43 | 44 |
import org.gvsig.installer.lib.api.Version; |
... | ... | |
88 | 89 |
private boolean broken = false; |
89 | 90 |
|
90 | 91 |
private String state = STATE.DEVEL; |
91 |
private String operatingSystem = OS.ALL; |
|
92 |
// private String operatingSystem = OS.ALL; |
|
93 |
private String operatingSystemFamily = OS.ALL; |
|
94 |
private String operatingSystemName = null; |
|
95 |
private String operatingSystemVersion = null; |
|
92 | 96 |
private String architecture = ARCH.ALL; |
93 | 97 |
private String javaVM = JVM.J1_5; |
94 | 98 |
|
... | ... | |
236 | 240 |
this.official = official; |
237 | 241 |
} |
238 | 242 |
|
243 |
@Override |
|
239 | 244 |
public String getOperatingSystem() { |
240 |
return operatingSystem; |
|
245 |
StringBuilder operatingSystem = new StringBuilder(); |
|
246 |
operatingSystem.append(this.operatingSystemFamily); |
|
247 |
if( !StringUtils.isEmpty(this.operatingSystemName) ) { |
|
248 |
operatingSystem.append("_"); |
|
249 |
operatingSystem.append(this.operatingSystemName); |
|
250 |
if( !StringUtils.isEmpty(this.operatingSystemVersion) ) { |
|
251 |
operatingSystem.append("_"); |
|
252 |
operatingSystem.append(this.operatingSystemVersion); |
|
253 |
} |
|
254 |
} |
|
255 |
return operatingSystem.toString(); |
|
241 | 256 |
} |
242 | 257 |
|
258 |
@Override |
|
243 | 259 |
public void setOperatingSystem(String operatingSystem) { |
244 | 260 |
if( isEmptyString(operatingSystem) ) { |
245 |
this.operatingSystem = OS.ALL; |
|
261 |
this.operatingSystemFamily = OS.ALL; |
|
262 |
this.operatingSystemName = null; |
|
263 |
this.operatingSystemVersion = null; |
|
246 | 264 |
} else { |
247 |
this.operatingSystem = operatingSystem; |
|
265 |
if( operatingSystem.contains("_") ) { |
|
266 |
String s[] = operatingSystem.split("_"); |
|
267 |
switch(s.length) { |
|
268 |
case 2: |
|
269 |
this.operatingSystemFamily = s[0]; |
|
270 |
this.operatingSystemName = s[1]; |
|
271 |
break; |
|
272 |
case 3: |
|
273 |
this.operatingSystemFamily = s[0]; |
|
274 |
this.operatingSystemName = s[1]; |
|
275 |
this.operatingSystemVersion = s[2]; |
|
276 |
break; |
|
277 |
default: |
|
278 |
throw new IllegalArgumentException("Can't parse OS '"+operatingSystem+"'."); |
|
279 |
} |
|
280 |
} else { |
|
281 |
this.operatingSystemFamily = operatingSystem; |
|
282 |
} |
|
248 | 283 |
} |
249 | 284 |
} |
285 |
|
|
286 |
@Override |
|
287 |
public String getOperatingSystemFamily() { |
|
288 |
return this.operatingSystemFamily; |
|
289 |
} |
|
290 |
|
|
291 |
@Override |
|
292 |
public String getOperatingSystemName() { |
|
293 |
return this.operatingSystemName; |
|
294 |
} |
|
295 |
|
|
296 |
@Override |
|
297 |
public String getOperatingSystemVersion() { |
|
298 |
return this.operatingSystemVersion; |
|
299 |
} |
|
250 | 300 |
|
301 |
public void setOperatingSystemFamily(String operatingSystemFamily) { |
|
302 |
this.operatingSystemFamily = operatingSystemFamily; |
|
303 |
} |
|
304 |
|
|
305 |
public void setOperatingSystemName(String operatingSystemName) { |
|
306 |
this.operatingSystemName = operatingSystemName; |
|
307 |
} |
|
308 |
|
|
309 |
public void setOperatingSystemVersion(String operatingSystemVersion) { |
|
310 |
this.operatingSystemVersion = operatingSystemVersion; |
|
311 |
} |
|
312 |
|
|
251 | 313 |
public String getArchitecture() { |
252 | 314 |
return architecture; |
253 | 315 |
} |
... | ... | |
409 | 471 |
s.append(" "); |
410 | 472 |
s.append(strformat(this.state,-5,-5)); |
411 | 473 |
s.append(" "); |
412 |
s.append(strformat(this.operatingSystem,-5,-5));
|
|
474 |
s.append(strformat(this.getOperatingSystem(),-5,-5));
|
|
413 | 475 |
s.append(" "); |
414 | 476 |
s.append(strformat(this.architecture,-6,-6)); |
415 | 477 |
s.append(" "); |
... | ... | |
585 | 647 |
} |
586 | 648 |
} |
587 | 649 |
|
650 |
@Override |
|
588 | 651 |
public boolean equals(Object obj) { |
589 | 652 |
PackageInfo other; |
590 | 653 |
try { |
... | ... | |
598 | 661 |
if (!version.check("=", other.getVersion())) { |
599 | 662 |
return false; |
600 | 663 |
} |
601 |
if (!operatingSystem.equalsIgnoreCase(other.getOperatingSystem())) {
|
|
664 |
if (!getOperatingSystem().equalsIgnoreCase(other.getOperatingSystem())) {
|
|
602 | 665 |
return false; |
603 | 666 |
} |
604 | 667 |
if (!applicationVersion.equals(other.getApplicationVersion())) { |
Also available in: Unified diff