Revision 35979 branches/v2_0_0_prep/extensions/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
33 33
import java.util.ArrayList;
34 34
import java.util.List;
35 35

  
36
import org.gvsig.installer.lib.api.PackageInfo;
36
import org.gvsig.installer.lib.api.Dependencies;
37 37
import org.gvsig.installer.lib.api.InstallerManager.ARCH;
38 38
import org.gvsig.installer.lib.api.InstallerManager.JVM;
39 39
import org.gvsig.installer.lib.api.InstallerManager.OS;
40 40
import org.gvsig.installer.lib.api.InstallerManager.STATE;
41
import org.gvsig.installer.lib.api.PackageInfo;
42
import org.gvsig.installer.lib.api.Version;
41 43
import org.gvsig.installer.lib.api.execution.InstallPackageServiceException;
42 44
import org.gvsig.installer.lib.impl.info.InstallerInfoTags;
43 45
import org.gvsig.installer.lib.impl.utils.DeleteFile;
......
52 54
    private String code = null;
53 55
    private String name = null;
54 56
    private String description = null;
55
    private String version = "0.0.1";
56
    private int build = 0;
57
    private Version version = null;
58
//    private int build = 0;
57 59
    private boolean official;
58 60
    private List<File> auxFiles = null;
59 61
    private String antScript = null;
60
    private String type = null;
62
    private String type = "unknow";
61 63

  
62 64
    private String state = STATE.DEVEL;
63 65
    private String operatingSystem = OS.ALL;
......
65 67
    private String javaVM = JVM.J1_5;
66 68

  
67 69
    private String owner = "";
68
    private String dependecies = "";
69 70
    private URL sources = null;
70
    private String gvSIGVersion;
71
    private String gvSIGVersion="";
72

  
71 73
    private URL defaultDownloadURL = null;
72 74

  
73 75
    private String modelVersion = "1.0.1";
76
    private Dependencies dependencies = null;
74 77

  
75 78
    public DefaultPackageInfo() {
76 79
        super();
77 80
        auxFiles = new ArrayList<File>();
81
        this.version = new DefaultVersion().parse("0.0.1");
82
        this.dependencies = new DefaultDependencies();
78 83
    }
79 84

  
80 85
    public String getCode() {
......
95 100
        return description;
96 101
    }
97 102

  
98
    public String getVersion() {
103
    public Version getVersion() {
99 104
        return version;
100 105
    }
101 106

  
102 107
    public int getBuild() {
103
        return build;
108
        return this.version.getBuild();
104 109
    }
105 110

  
106 111
    public String getState() {
......
124 129
    }
125 130

  
126 131
    public void setVersion(String version) {
127
        this.version = version;
132
        this.version.parse(version);
128 133
    }
129 134

  
135
    public void setVersion(Version version) {
136
        try {
137
			this.version = (Version) version.clone();
138
		} catch (CloneNotSupportedException e) {
139
			throw new RuntimeException(e);
140
		}
141
    }
142

  
130 143
    public void setBuild(int build) {
131
        this.build = build;
144
    	this.version.setBuild(build);
132 145
    }
133 146

  
134 147
    public void setState(String state) {
......
202 215
    public void setModelVersion(String modelVersion) {
203 216
        this.modelVersion = modelVersion;
204 217
    }
205

  
218
    
206 219
    public String getOwner() {
207 220
        return owner;
208 221
    }
......
211 224
        this.owner = owner;
212 225
    }
213 226

  
214
    public String getDependencies() {
215
        return dependecies;
216
    }
217

  
218
    public void setDependencies(String dependecies) {
219
        this.dependecies = dependecies;
220
    }
221

  
222 227
    public URL getSourcesURL() {
223 228
        return sources;
224 229
    }
225
    
226
//    public String getSourcesString() {
227
//        return sources.toString();
228
//    }
229 230

  
230 231
    public void setSourcesURL(URL sources) {
231 232
        this.sources = sources;
......
249 250
        append(buffer, InstallerInfoTags.OFFICIAL, isOfficial());
250 251
        append(buffer, InstallerInfoTags.TYPE, getType());
251 252
        append(buffer, InstallerInfoTags.MODEL_VERSION, getModelVersion());
252
        //TODO: Posar aci?
253 253
        append(buffer, InstallerInfoTags.OWNER, getOwner());
254 254
        append(buffer, InstallerInfoTags.SOURCES_URL, getSourcesURL());
255 255
        append(buffer, InstallerInfoTags.DEPENDENCIES, getDependencies());
256
 
256 257
        
257

  
258 258
        return buffer.append(')').toString();
259 259
    }
260 260

  
261
    public String toStringCompact() {
262
    	//            type      code       version    state    os       arch     jvm      dep
263
    	return String.format("%1$-8.8s %2$-40s %3$-20.20s %4$-5.5s %5$-5.5s %6$-6.6s %7$-5.5s %8$s",
264
    			this.type,
265
    			this.code,
266
    			this.version,
267
    			this.state,
268
    			this.operatingSystem,
269
    			this.architecture,
270
    			this.javaVM,
271
    			this.dependencies
272
    	);
273
    }
274
    
261 275
    private DefaultPackageInfo append(StringBuffer buffer, String key,
262 276
        Object value) {
263 277
        buffer.append("\n\t").append(key).append(": ").append(
......
297 311
        try {
298 312
            return download.downloadFile(this.getDownloadURL(), null);
299 313
        } catch (IOException e) {
300
            throw new FileDownloadException(this.getDownloadURL(), e);
314
        	throw new FileDownloadException(this.getDownloadURL(), e);
301 315
        }
302 316
    }
303

  
317
    
304 318
    public void addFileToCopy(File file) {
305 319
        auxFiles.add(file);
306 320
    }
307

  
321
    
308 322
    public File getFileToCopy(int i) {
309 323
        return auxFiles.get(i);
310 324
    }
311

  
325
    
312 326
    public void removeFileToCopy(File file) {
313
        auxFiles.remove(file);
327
        auxFiles.remove(file);        
314 328
    }
315 329

  
316 330
    public void clearFilesToCopy() {
......
333 347
        DeleteFile delete = new DeleteFile();
334 348
        return delete.delete(folder);
335 349
    }
336

  
350
    
337 351
    public boolean matchID(String string) {
338 352
        String code = this.getID();
339 353
        String[] stringParts = string.split("#");
......
350 364
                    return false;
351 365

  
352 366
    }
367
    
368
	public Dependencies getDependencies() {
369
		return this.dependencies;
370
	}
371
	
372
	public void setDependencies(Dependencies dependencies) {
373
		this.dependencies = dependencies;
374
	}
375

  
376
	public void setDependencies(String dependencies) {
377
		if( dependencies == null ) {
378
			this.dependencies = null;
379
		} else {
380
			this.dependencies = new DefaultDependencies().parse(dependencies);
381
		}
382
	}
383

  
384
	public boolean equals(Object obj) {
385
		PackageInfo other; 
386
		try {
387
			other = (PackageInfo) obj;
388
		} catch(Exception e) {
389
			return false;
390
		}
391
		if( !code.equalsIgnoreCase(other.getCode())) {
392
			return false;
393
		}
394
		if( !version.check("=", other.getVersion())) {
395
			return false;
396
		}
397
		if( !operatingSystem.equalsIgnoreCase(other.getOperatingSystem())) {
398
			return false;
399
		}
400
		if( !gvSIGVersion.equalsIgnoreCase(other.getGvSIGVersion())) { 
401
			return false;
402
		}
403
		if( !state.equalsIgnoreCase(other.getState())) {
404
			return false;
405
		}
406
		if( !architecture.equalsIgnoreCase(other.getArchitecture())) {
407
			return false;
408
		}
409
		if( !javaVM.equalsIgnoreCase(other.getJavaVM())) {
410
			return false;
411
		}
412
		if( !type.equalsIgnoreCase(other.getType())) {
413
			return false;
414
		}
415
		if( official!=other.isOfficial()) {
416
			return false;
417
		}
418
		return true;
419
	}
420

  
421
	
422
	
353 423
}

Also available in: Unified diff