Revision 32498 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/creation/DefaultInstallerCreationService.java
DefaultInstallerCreationService.java | ||
---|---|---|
47 | 47 |
import org.gvsig.installer.lib.impl.DefaultInstallerInfo; |
48 | 48 |
import org.gvsig.installer.lib.impl.info.InstallerInfoFileReader; |
49 | 49 |
import org.gvsig.installer.lib.impl.info.InstallerInfoFileWriter; |
50 |
import org.gvsig.installer.lib.spi.InstallerProviderLocator; |
|
51 |
import org.gvsig.installer.lib.spi.InstallerProviderServices; |
|
50 | 52 |
import org.gvsig.tools.service.Manager; |
51 | 53 |
import org.slf4j.Logger; |
52 | 54 |
|
... | ... | |
66 | 68 |
private int pluginToInstallIndex = -1; |
67 | 69 |
protected List<File> selectedFiles = null; |
68 | 70 |
protected String antScript = null; |
69 |
|
|
71 |
private InstallerProviderServices installerProviderServices = null; |
|
72 |
|
|
70 | 73 |
public DefaultInstallerCreationService(Manager manager) { |
71 | 74 |
super(); |
72 | 75 |
this.manager = manager; |
73 | 76 |
installerInfos = new ArrayList<InstallerInfo>(); |
74 | 77 |
directories = new HashMap<InstallerInfo, String>(); |
75 | 78 |
selectedFiles = new ArrayList<File>(); |
79 |
installerProviderServices = InstallerProviderLocator.getProviderManager().createInstallerProviderServices(); |
|
76 | 80 |
} |
77 | 81 |
|
78 | 82 |
public void createInstaller(OutputStream installerStream) |
... | ... | |
93 | 97 |
//Copy the selected files |
94 | 98 |
writeSelectedFiles(); |
95 | 99 |
|
96 |
Compress compress = new Compress(); |
|
100 |
|
|
97 | 101 |
InstallerInfo infInstallerInfo = getSelectedPlugin(); |
98 | 102 |
String pluginFileName = getSelectedPlugin().getCode() + "-" + infInstallerInfo.getVersion() + "-" + infInstallerInfo.getBuild(); |
99 |
compress.compressPlugin(getAbsoluteSelectePluginFile(), pluginFileName, installerStream);
|
|
103 |
installerProviderServices.compress(getAbsoluteSelectePluginFile(), pluginFileName, installerStream);
|
|
100 | 104 |
} |
101 | 105 |
|
102 | 106 |
|
103 | 107 |
private void writeInstallInfo() throws InstallerCreationServiceException{ |
104 |
InstallerInfoFileWriter installerInfoFileWriter = new InstallerInfoFileWriter(); |
|
105 |
installerInfoFileWriter.write(getSelectedInstallerInfo(), new File(directories.get(getSelectedInstallerInfo()))); |
|
108 |
installerProviderServices.writeInstallInfo(new File(directories.get(getSelectedInstallerInfo())), getSelectedInstallerInfo()); |
|
106 | 109 |
} |
107 | 110 |
|
108 | 111 |
private void writeSelectedFiles() throws InstallerCreationServiceException { |
... | ... | |
206 | 209 |
|
207 | 210 |
//Read all the installed plugins |
208 | 211 |
String[] plugins = pluginsDirectory.list(); |
209 |
InstallerInfoFileReader reader = new InstallerInfoFileReader(); |
|
212 |
|
|
210 | 213 |
if (plugins != null) { |
211 | 214 |
for (int i=0; i<plugins.length; i++) |
212 | 215 |
{ |
213 | 216 |
String pluginDirectoryName = plugins[i]; |
214 | 217 |
File pluginDirectory = getAbsolutePluginFile(pluginDirectoryName); |
215 | 218 |
DefaultInstallerInfo installerInfo = new DefaultInstallerInfo(); |
216 |
//Check if the install info file exists |
|
217 |
File installInfoFile = new File(getInstallerInfoFileName(pluginDirectory.getAbsolutePath())); |
|
218 |
if (installInfoFile.exists()){ |
|
219 |
reader.read(installerInfo, installInfoFile); |
|
220 |
}else{ |
|
221 |
installerInfo.setCode(pluginDirectoryName); |
|
222 |
installerInfo.setName(pluginDirectoryName); |
|
223 |
} |
|
219 |
|
|
220 |
installerProviderServices.readInstallInfo(new File(pluginDirectory.getAbsolutePath()), installerInfo); |
|
221 |
|
|
224 | 222 |
//Checks if the ant file exists |
225 | 223 |
File antFile = new File(getAntFileName(pluginDirectory.getAbsolutePath())); |
226 | 224 |
if (antFile.exists()){ |
Also available in: Unified diff