Revision 40926 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/DependenciesCalculatorV2.java

View differences:

DependenciesCalculatorV2.java
2 2

  
3 3
import java.util.ArrayList;
4 4
import java.util.Collection;
5
import java.util.Collections;
6
import java.util.Comparator;
5 7
import java.util.Iterator;
6 8
import java.util.List;
7 9

  
......
184 186
					} else if(x.size()==1) {
185 187
						((DependencyAndPackages)x.get(0)).addPackage(packageInfo);;
186 188
					} else {
187
						// ???? !!!!!
188
						logger.info("Se han encontrado dependencias duplicadas.\n"+ x.toString());
189
						// Hay paquetes que tienen dependencias con el mismo paquete pero
190
						// con versiones distintas. Cogemos la version mayor.
191
						Collections.sort(x, new Comparator<Dependency>() {
192
							public int compare(Dependency arg0, Dependency arg1) {
193
								// Orden inverso, la primera la mas alta
194
								return - arg0.getVersion().compareTo(arg1.getVersion());
195
							}
196
						});
197
						((DependencyAndPackages)x.get(0)).addPackage(packageInfo);;
198
						
189 199
					}
190 200
				}
191 201
			}
192
			if( logger.isInfoEnabled() ) {
193
				logger.trace("Attempt: " + retryCount);
194
				logger.trace("Required packages:\n" + dumpPackages(this.requieredPackages));
195
				logger.trace("Unresolved dependencies:\n" + dumpDependencies(this.unresolvedDependencies));
196
				logger.trace("Conflict packages:\n" + dumpPackages(this.conflictsPackages));
197
				logger.trace("All dependencies:\n" + dumpDependencies(dependencies));
198
			}
202
//			if( logger.isInfoEnabled() ) {
203
//				logger.info("Attempt: " + retryCount);
204
//				logger.info("Required packages:\n" + dumpPackages(this.requieredPackages));
205
//				logger.info("Unresolved dependencies:\n" + dumpDependencies(this.unresolvedDependencies));
206
//				logger.info("Conflict packages:\n" + dumpPackages(this.conflictsPackages));
207
//				logger.info("All dependencies:\n" + dumpDependencies(dependencies));
208
//			}
199 209

  
200 210
			/*
201 211
			 * Ahora calcularemos si se cumplen esas dependencias, y en caso de que no
......
228 238
				if( availablePackage==null ) {
229 239
					availablePackage = getAvalible(dependency);
230 240
					if( availablePackage != null ) {
231
						logger.info("Added new dependency "+availablePackage.getCode());
241
						logger.info("Added new package "+availablePackage.getCode()+" required by dependency "+dependency.toString()+".");
232 242
						this.requieredPackages.add(availablePackage);
233 243
						/*
234 244
						 * Al a?adir paquetes nuevos, debemos recualcular las

Also available in: Unified diff