Revision 37822 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 | ||
---|---|---|
30 | 30 |
import java.io.File; |
31 | 31 |
import java.net.URL; |
32 | 32 |
import java.text.MessageFormat; |
33 |
import java.util.ArrayList; |
|
34 |
import java.util.List; |
|
33 | 35 |
|
34 | 36 |
import org.gvsig.installer.lib.api.DependenciesCalculator; |
35 | 37 |
import org.gvsig.installer.lib.api.Dependency; |
... | ... | |
67 | 69 |
.getExtensionPointManager(); |
68 | 70 |
|
69 | 71 |
private String packageSetNameFormat = "gvSIG-desktop-{0}-{1}-{2}-{4}-{5}-{6}-{7}.gvspks"; |
70 |
|
|
71 | 72 |
private String packageNameFormat = "gvSIG-desktop-{0}-{1}-{2}-{4}-{5}-{6}-{7}.gvspkg"; |
72 |
|
|
73 | 73 |
private String packageIndexNameFormat = "gvSIG-desktop-{0}-{1}-{2}-{4}-{5}-{6}-{7}.gvspki"; |
74 | 74 |
|
75 | 75 |
private URL BaseDownloadURL = null; |
76 | 76 |
private String version = null; |
77 |
private List<File> repositoriesPathsList = null; |
|
78 |
private File defaultAddonRepository = null; |
|
77 | 79 |
|
78 | 80 |
public DefaultInstallerManager() { |
79 | 81 |
super(new DefaultInstallerProviderManager()); |
82 |
repositoriesPathsList = new ArrayList<File>(); |
|
80 | 83 |
} |
81 | 84 |
|
82 | 85 |
public String getPackageSetNameFormat() { |
... | ... | |
103 | 106 |
this.packageIndexNameFormat = packageIndexNameFormat; |
104 | 107 |
} |
105 | 108 |
|
106 |
public MakePluginPackageService getMakePluginPackageService( |
|
107 |
File pluginsDirectory) throws MakePluginPackageServiceException { |
|
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 |
public MakePluginPackageService getMakePluginPackageService() |
|
125 |
throws MakePluginPackageServiceException { |
|
108 | 126 |
ExtensionPoint ep = extensionPoints |
109 | 127 |
.add(INSTALLER_MANAGER_EXTENSION_POINT); |
110 | 128 |
try { |
111 |
Object[] args = new Object[] { this, pluginsDirectory };
|
|
129 |
Object[] args = new Object[] { this }; |
|
112 | 130 |
return (MakePluginPackageService) ep.create( |
113 | 131 |
INSTALLER_CREATION_SERVICE_NAME, args); |
114 | 132 |
} catch (Exception e) { |
... | ... | |
196 | 214 |
|
197 | 215 |
public PackageInfo[] getInstalledPackages(File pluginsDirectory) |
198 | 216 |
throws MakePluginPackageServiceException { |
199 |
MakePluginPackageService service = getMakePluginPackageService(pluginsDirectory);
|
|
217 |
MakePluginPackageService service = getMakePluginPackageService(); |
|
200 | 218 |
return service.getInstalledPackages(); |
201 | 219 |
} |
202 | 220 |
|
221 |
public PackageInfo[] getInstalledPackages() |
|
222 |
throws MakePluginPackageServiceException { |
|
223 |
MakePluginPackageService service = getMakePluginPackageService(); |
|
224 |
return service.getInstalledPackages(); |
|
225 |
} |
|
226 |
|
|
203 | 227 |
public String getDefaultPackageFileExtension() { |
204 | 228 |
return "gvspkg"; |
205 | 229 |
} |
... | ... | |
287 | 311 |
this.version = version; |
288 | 312 |
} |
289 | 313 |
|
314 |
public void addAddonRepository(File path) { |
|
315 |
if (path.isDirectory() && path.exists()) { |
|
316 |
repositoriesPathsList.add(path); |
|
317 |
} |
|
318 |
} |
|
319 |
|
|
320 |
public List<File> getAddonRepositories() { |
|
321 |
return repositoriesPathsList; |
|
322 |
} |
|
323 |
|
|
324 |
public List<File> getAddonFolders() { |
|
325 |
List<File> addonFoldersList = new ArrayList<File>(); |
|
326 |
|
|
327 |
// Para cada directorio en repositoriesPathsList |
|
328 |
for (int i = 0; i < repositoriesPathsList.size(); i++) { |
|
329 |
File repoPath = repositoriesPathsList.get(i); |
|
330 |
if (repoPath.isDirectory() && repoPath.exists()) { |
|
331 |
File[] folderRepoList = repoPath.listFiles(); |
|
332 |
|
|
333 |
// recorrer los directorios que haya dentro |
|
334 |
for (int j = 0; j < folderRepoList.length; j++) { |
|
335 |
File addonFolder = folderRepoList[j]; |
|
336 |
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 |
} |
|
346 |
} |
|
347 |
} |
|
348 |
|
|
349 |
} |
|
350 |
} |
|
351 |
} |
|
352 |
|
|
353 |
return addonFoldersList; |
|
354 |
} |
|
355 |
|
|
356 |
public File getAddonFolder(String code) { |
|
357 |
List<File> pluginPaths = this.getAddonFolders(); |
|
358 |
for (int i = 0; i < pluginPaths.size(); i++) { |
|
359 |
if (pluginPaths.get(i).getName().equals(code)) { |
|
360 |
return pluginPaths.get(i); |
|
361 |
} |
|
362 |
} |
|
363 |
return null; |
|
364 |
} |
|
365 |
|
|
366 |
public File getDefaultAddonRepository() { |
|
367 |
return defaultAddonRepository; |
|
368 |
} |
|
369 |
|
|
370 |
public void setDefaultAddonRepository(File defaultAddonsRepository) { |
|
371 |
this.defaultAddonRepository = defaultAddonsRepository; |
|
372 |
} |
|
373 |
|
|
290 | 374 |
} |
Also available in: Unified diff