Revision 37857 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/DefaultInstallerManager.java
DefaultInstallerManager.java | ||
---|---|---|
28 | 28 |
package org.gvsig.installer.lib.impl; |
29 | 29 |
|
30 | 30 |
import java.io.File; |
31 |
import java.io.IOException; |
|
32 |
import java.io.InputStream; |
|
31 | 33 |
import java.net.URL; |
32 | 34 |
import java.text.MessageFormat; |
33 | 35 |
import java.util.ArrayList; |
36 |
import java.util.HashSet; |
|
34 | 37 |
import java.util.List; |
38 |
import java.util.Set; |
|
35 | 39 |
|
36 | 40 |
import org.gvsig.installer.lib.api.DependenciesCalculator; |
37 | 41 |
import org.gvsig.installer.lib.api.Dependency; |
... | ... | |
74 | 78 |
|
75 | 79 |
private URL BaseDownloadURL = null; |
76 | 80 |
private String version = null; |
77 |
private List<File> repositoriesPathsList = null;
|
|
78 |
private File defaultAddonRepository = null;
|
|
81 |
private Set<File> repositoriesPaths = null;
|
|
82 |
private File defaultRepositoriesPath = null;
|
|
79 | 83 |
|
80 | 84 |
public DefaultInstallerManager() { |
81 | 85 |
super(new DefaultInstallerProviderManager()); |
82 |
repositoriesPathsList = new ArrayList<File>();
|
|
86 |
repositoriesPaths = new HashSet<File>();
|
|
83 | 87 |
} |
84 | 88 |
|
85 | 89 |
public String getPackageSetNameFormat() { |
... | ... | |
106 | 110 |
this.packageIndexNameFormat = packageIndexNameFormat; |
107 | 111 |
} |
108 | 112 |
|
109 |
// public MakePluginPackageService getMakePluginPackageService( |
|
110 |
// File pluginsDirectory) throws MakePluginPackageServiceException { |
|
111 |
// ExtensionPoint ep = extensionPoints |
|
112 |
// .add(INSTALLER_MANAGER_EXTENSION_POINT); |
|
113 |
// try { |
|
114 |
// Object[] args = new Object[] { this, pluginsDirectory }; |
|
115 |
// return (MakePluginPackageService) ep.create( |
|
116 |
// INSTALLER_CREATION_SERVICE_NAME, args); |
|
117 |
// } catch (Exception e) { |
|
118 |
// throw new MakePluginPackageServiceException( |
|
119 |
// "Exception creating the installer service to create installers", |
|
120 |
// e); |
|
121 |
// } |
|
122 |
// } |
|
123 |
|
|
124 | 113 |
public MakePluginPackageService getMakePluginPackageService() |
125 | 114 |
throws MakePluginPackageServiceException { |
126 | 115 |
ExtensionPoint ep = extensionPoints |
... | ... | |
311 | 300 |
this.version = version; |
312 | 301 |
} |
313 | 302 |
|
303 |
public File getDefaultLocalAddonRepository() { |
|
304 |
return this.defaultRepositoriesPath; |
|
305 |
} |
|
306 |
|
|
307 |
public void setDefaultLocalAddonRepository(File defaultAddonsRepository) { |
|
308 |
this.defaultRepositoriesPath = defaultAddonsRepository; |
|
309 |
this.repositoriesPaths.add(defaultAddonsRepository); |
|
310 |
} |
|
311 |
|
|
314 | 312 |
public void addLocalAddonRepository(File path) { |
315 |
if (path.isDirectory() && path.exists()) { |
|
316 |
repositoriesPathsList.add(path); |
|
317 |
} |
|
313 |
repositoriesPaths.add(path); |
|
318 | 314 |
} |
319 | 315 |
|
320 | 316 |
public List<File> getLocalAddonRepositories() { |
321 |
return repositoriesPathsList; |
|
317 |
List<File> l = new ArrayList<File>(); |
|
318 |
l.addAll(repositoriesPaths); |
|
319 |
return l; |
|
322 | 320 |
} |
323 | 321 |
|
324 | 322 |
public List<File> getAddonFolders() { |
325 |
List<File> addonFoldersList = new ArrayList<File>();
|
|
323 |
List<File> addonFolders = new ArrayList<File>(); |
|
326 | 324 |
|
327 | 325 |
// Para cada directorio en repositoriesPathsList |
328 |
for (int i = 0; i < repositoriesPathsList.size(); i++) { |
|
329 |
File repoPath = repositoriesPathsList.get(i); |
|
326 |
List<File> localAddonRepositories = this.getLocalAddonRepositories(); |
|
327 |
for (int i = 0; i < localAddonRepositories.size(); i++) { |
|
328 |
File repoPath = localAddonRepositories.get(i); |
|
330 | 329 |
if (repoPath.isDirectory() && repoPath.exists()) { |
331 | 330 |
File[] folderRepoList = repoPath.listFiles(); |
332 | 331 |
|
... | ... | |
334 | 333 |
for (int j = 0; j < folderRepoList.length; j++) { |
335 | 334 |
File addonFolder = folderRepoList[j]; |
336 | 335 |
if (addonFolder.isDirectory()) { |
337 |
File[] fileList = addonFolder.listFiles(); |
|
338 |
|
|
339 |
for (int k = 0; k < fileList.length; k++) { |
|
340 |
File file = fileList[k]; |
|
341 |
// si tiene un package.info dentro |
|
342 |
if (file.getName().equals("package.info")) { |
|
343 |
addonFoldersList.add(addonFolder); |
|
344 |
break; |
|
345 |
} |
|
336 |
File pkginfofile = new File(addonFolder, "package.info"); |
|
337 |
if (pkginfofile.exists()) { |
|
338 |
addonFolders.add(addonFolder); |
|
339 |
break; |
|
346 | 340 |
} |
347 | 341 |
} |
348 | 342 |
|
... | ... | |
350 | 344 |
} |
351 | 345 |
} |
352 | 346 |
|
353 |
return addonFoldersList;
|
|
347 |
return addonFolders; |
|
354 | 348 |
} |
355 | 349 |
|
356 | 350 |
public File getAddonFolder(String code) { |
... | ... | |
363 | 357 |
return null; |
364 | 358 |
} |
365 | 359 |
|
366 |
public File getDefaultLocalAddonRepository() { |
|
367 |
return defaultAddonRepository; |
|
360 |
public List<byte[]> getPublicKeys() { |
|
361 |
byte[] rawkey; |
|
362 |
try { |
|
363 |
InputStream is = this.getClass().getResourceAsStream("/org/gvsig/installer/lib/keys/key.public"); |
|
364 |
rawkey = new byte[is.available()]; |
|
365 |
is.read(rawkey); |
|
366 |
is.close(); |
|
367 |
} catch (IOException e) { |
|
368 |
return null; |
|
369 |
} |
|
370 |
List<byte[]> keys = new ArrayList<byte[]>(); |
|
371 |
keys.add(rawkey); |
|
372 |
return keys; |
|
368 | 373 |
} |
369 | 374 |
|
370 |
public void setDefaultLocalAddonRepository(File defaultAddonsRepository) { |
|
371 |
this.defaultAddonRepository = defaultAddonsRepository; |
|
372 |
} |
|
373 |
|
|
374 |
public List getPublicKeys() { |
|
375 |
// TODO Auto-generated method stub |
|
376 |
return null; |
|
377 |
} |
|
378 |
|
|
379 | 375 |
} |
Also available in: Unified diff