Revision 36096

View differences:

tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/prepare-workspace.xml
1
<project name="org.gvsig.initial.build" default="prepare-workspace">
2
	
3
	<dirname property="org.gvsig.initial.build.basedir" file="${ant.file.org.gvsig.initial.build}"/>
4
	
5
	<property name="workspace.basedir" 
6
			  value="${org.gvsig.initial.build.basedir}/.."/>
7
	<property name="build.basedir" 
8
		      value="${workspace.basedir}/org.gvsig.maven.base.build"
9
		      description="Eclipse workspace location"/>
10
	<property name="build.jar.version" 
11
			 	  value="1.0.2" />
12
	<property name="build.jar.file" 
13
		 	  value="org.gvsig.maven.base.build-${build.jar.version}.jar" />
14
	
15
	<target name="prepare-workspace">
16
		
17
		<mkdir dir="target"/>
18
	
19
		<!-- Get the build jar file -->
20
		<get src="http://gvsig-desktop.forge.osor.eu/downloads/pub/projects/gvSIG-desktop/maven-repository/org/gvsig/org.gvsig.maven.base.build/${build.jar.version}/${build.jar.file}" 
21
			 dest="target/${build.jar.file}"
22
			 verbose="true"/>
23
		
24
		<!-- Unzip de build jar file into the workspace root folder -->
25
		<unzip src="target/${build.jar.file}"
26
		       dest="${workspace.basedir}">
27
		    <patternset>
28
		        <exclude name="META-INF/**"/>
29
		    </patternset>
30
		</unzip>
31
		
32
		<chmod dir="${build.basedir}/maven/bin" perm="u+x" includes="m2,mvn,mvnDebug"/>
33
		
34
		<!-- Copy the maven launchers to the workspace metadata folder -->
35
		<copy todir="${workspace.basedir}/.metadata">
36
		    <fileset dir="${build.basedir}/eclipse-launchers"/>
37
		</copy>
38
		
39
		<!-- Configure the eclipse workspace -->
40
		<ant antfile="${build.basedir}/maven-goals.xml" target="mvn-configure-eclipse-workspace"/>
41

  
42
		<!-- Compile, install and generate eclipse projects -->
43
		<ant antfile="${build.basedir}/maven-goals.xml" target="mvn-install-and-eclipse-eclipse"/>
44
		
45
		<echo>INFORMATION!!!</echo>
46
		<echo>Restart eclipse and then proceed to import the subprojects contained into the main project</echo>
47
		
48
		<!-- TODO: copiar al proyecto de configuración general -->
49
	</target>
50
 	
51
	<target name="clean">
52
		<delete dir="target"/>
53
	</target>
54

  
55
</project>
0 56

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3
    <modelVersion>4.0.0</modelVersion>
4
    <groupId>org.gvsig</groupId>
5
    <artifactId>org.gvsig.installer</artifactId>
6
    <packaging>pom</packaging>
7
    <version>1.0.1-SNAPSHOT</version>
8
    <name>org.gvsig.installer</name>
9
    <description>Project to create installers or install packages in gvSIG</description>
10
    <url>http://gvsig-desktop.forge.osor.eu/downloads/pub/projects/gvSIG-desktop/docs/reference/org.gvsig.installer/${project.version}</url>
11
    <parent>
12
        <groupId>org.gvsig</groupId>
13
        <artifactId>org.gvsig.maven.base.pom</artifactId>
14
        <version>1.0.7-SNAPSHOT</version>
15
    </parent>
16

  
17
    <scm>
18
        <connection>scm:svn:https://svn.forge.osor.eu/svn/gvsig-desktop/branches/v2_0_0_prep/extensions/org.gvsig.installer</connection>
19
        <developerConnection>scm:svn:https://svn.forge.osor.eu/svn/gvsig-desktop/branches/v2_0_0_prep/extensions/org.gvsig.installer</developerConnection>
20
        <url>https://forge.osor.eu/plugins/scmsvn/viewcvs.php/branches/v2_0_0_prep/extensions/org.gvsig.installer/?root=gvsig-desktop</url>
21
    </scm>
22

  
23
    <developers>
24
        <developer>
25
            <id>jjdelcerro</id>
26
            <name>Joaquín José del Cerro</name>
27
            <email>jjdelcerro@gvsig.org</email>
28
            <roles>
29
                <role>Architect</role>
30
            </roles>
31
        </developer>
32
        <developer>
33
            <id>jpiera</id>
34
            <name>Jorge Piera Llodrá</name>
35
            <email>jpiera@gvsig.org</email>
36
            <roles>
37
                <role>Architect</role>
38
                <role>Developer</role>
39
            </roles>
40
        </developer>
41
        <developer>
42
            <id>cordinyana</id>
43
            <name>Cèsar Ordiñana</name>
44
            <email>cordinyana@disid.com</email>
45
            <roles>
46
                <role>Architect</role>
47
                <role>Developer</role>
48
            </roles>
49
        </developer>
50
    </developers>
51
    <repositories>
52
        <repository>
53
            <id>gvsig-public-http-repository</id>
54
            <name>gvSIG maven public HTTP repository</name>
55
            <url>http://gvsig-desktop.forge.osor.eu/downloads/pub/projects/gvSIG-desktop/maven-repository</url>
56
            <releases>
57
                <enabled>true</enabled>
58
                <updatePolicy>daily</updatePolicy>
59
                <checksumPolicy>warn</checksumPolicy>
60
            </releases>
61
            <snapshots>
62
                <enabled>true</enabled>
63
                <updatePolicy>daily</updatePolicy>
64
                <checksumPolicy>warn</checksumPolicy>
65
            </snapshots>
66
        </repository>
67
    </repositories>
68
    <distributionManagement>
69
        <site>
70
            <id>gvsig-repository</id>
71
            <url>scp://shell.forge.osor.eu/home/groups/gvsig-desktop/www/downloads/pub/projects/gvSIG-desktop/docs/reference/org.gvsig.installer/${project.version}</url>
72
        </site>
73
    </distributionManagement>
74
    <dependencyManagement>
75
        <dependencies>
76
            <dependency>
77
                <groupId>org.gvsig</groupId>
78
                <artifactId>org.gvsig.core.maven.dependencies</artifactId>
79
                <version>2.0.1-SNAPSHOT</version>
80
                <type>pom</type>
81
                <scope>import</scope>
82
            </dependency>
83
        </dependencies>
84
    </dependencyManagement>
85
    <build>
86
        <plugins>
87
            <!-- TODO: MAKE TESTS WORK AND REMOVE THIS OPTION -->
88
            <plugin>
89
                <groupId>org.apache.maven.plugins</groupId>
90
                <artifactId>maven-surefire-plugin</artifactId>
91
                <configuration>
92
                    <skipTests>true</skipTests>
93
                </configuration>
94
            </plugin>
95
            <plugin>
96
                <groupId>org.apache.maven.plugins</groupId>
97
                <artifactId>maven-release-plugin</artifactId>
98
                <configuration>
99
                    <tagBase>https://svn.forge.osor.eu/svn/gvsig-desktop/tags/org.gvsig.installer</tagBase>
100
                </configuration>
101
            </plugin>
102
        </plugins>
103
    </build>
104
    <properties>
105
        <super.parent.dir>${basedir}</super.parent.dir>
106
    </properties>
107
    <profiles>
108
        <profile>
109
            <id>eclipse-project</id>
110
            <build>
111
                <plugins>
112
                    <plugin>
113
                        <artifactId>maven-antrun-plugin</artifactId>
114
                        <configuration>
115
                            <tasks>
116
                                <ant antfile="${super.parent.dir}/../build/ant-tasks/eclipse-tasks.xml" target="eclipse.eclipse" />
117
                            </tasks>
118
                        </configuration>
119
                        <dependencies>
120
                            <dependency>
121
                                <groupId>org.apache.ant</groupId>
122
                                <artifactId>ant-trax</artifactId>
123
                                <version>1.7.1</version>
124
                            </dependency>
125
                            <dependency>
126
                                <groupId>xalan</groupId>
127
                                <artifactId>xalan</artifactId>
128
                                <version>2.6.0</version>
129
                            </dependency>
130
                        </dependencies>
131
                    </plugin>
132
                </plugins>
133
            </build>
134
        </profile>
135
        <profile>
136
            <id>gvsig-install</id>
137
            <activation>
138
                <activeByDefault>true</activeByDefault>
139
            </activation>
140
            <properties>
141
                <!-- gvSIG installation folder -->
142
                <gvsig.install.dir>${basedir}/../build/product
143
                </gvsig.install.dir>
144
            </properties>
145
        </profile>
146
    </profiles>
147
    <modules>
148
        <module>org.gvsig.installer.lib</module>
149
        <module>org.gvsig.installer.prov</module>
150
        <module>org.gvsig.installer.swing</module>
151
        <module>org.gvsig.installer.main</module>
152
        <module>org.gvsig.installer.maven</module>
153
    </modules>
154
</project>
0 155

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/README.txt
1
The first time you checkout the current project to a new workspace, 
2
you have to prepare it to be able to work easily with maven from
3
eclipse itself.
4

  
5
Perform the following steps:
6

  
7
1.- Launch the *prepare-workspace.xml* ant build file. 
8
    You can do it by loading the file into the ant view, 
9
    and running the default task, or right-clicking the 
10
    file from the package explorer or the navigator and
11
    select the option: *Run as > Ant build*. 
12
    
13
2.- Restart eclipse.
14

  
15
3.- Import the subprojects of the project you have just checked out.
16

  
17
Those steps are only needed once per workspace.     
18

  
0 19

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/.project
1
<?xml version="1.0" encoding="UTF-8"?>
2
<projectDescription>
3
	<name>org.gvsig.installer</name>
4
	<comment></comment>
5
	<projects>
6
	</projects>
7
	<buildSpec>
8
	</buildSpec>
9
	<natures>
10
	</natures>
11
</projectDescription>
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/org.gvsig.wcs
1
#
2
#Wed Apr 28 12:13:53 CEST 2010
3
version=1.0.0
4
oficial=true
5
name=myplugin
6
type=plugin
7
description=Test
8
code=org.gvsig.wcs
9
state=RC1
10
build=1
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/org.gvsig.plugin2
1
#
2
#Wed Apr 28 12:22:40 CEST 2010
3
version=1.0.0
4
oficial=true
5
name=myplugin
6
type=plugin
7
description=Test
8
code=org.gvsig.myplugin2
9
state=RC1
10
build=1
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/org.gvsig.plugin3
1
#
2
#Wed Apr 28 12:10:48 CEST 2010
3
version=1.0.0
4
oficial=false
5
name=myplugin
6
type=plugin
7
description=Test
8
code=org.gvsig.plugin3
9
state=RC1
10
build=1
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/src/main/java/org/gvsig/installer/main/DefaultLauncher.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27

  
28
package org.gvsig.installer.main;
29

  
30
import java.io.File;
31
import java.io.FileInputStream;
32
import java.io.FileOutputStream;
33
import java.io.IOException;
34
import java.io.InputStream;
35
import java.io.OutputStream;
36

  
37
/**
38
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera Llodr&aacute;</a>
39
 */
40
public class DefaultLauncher {
41

  
42
    private File appFolder;
43

  
44
    public File getApplicationFolder() throws IOException {
45
        if (appFolder == null) {
46
            File templateFile =
47
                new File(getClass().getClassLoader().getResource("application")
48
                    .getFile());
49
            appFolder =
50
                new File(System.getProperty("java.io.tmpdir") + File.separator
51
                    + "tmp_gvsig_installer");
52

  
53
            copy(templateFile, appFolder);
54
        }
55

  
56
        return appFolder;
57
    }
58

  
59
    public File getPluginsFolder() throws IOException {
60
        return new File(appFolder, "plugins");
61
    }
62

  
63
    public File getInstallFolder() throws IOException {
64
        return new File(appFolder, "install");
65
    }
66

  
67
    public void copy(File sourceLocation, File targetLocation)
68
        throws IOException {
69
        if (sourceLocation.isDirectory()) {
70
            if (!targetLocation.exists()) {
71
                targetLocation.mkdir();
72
            }
73

  
74
            String[] children = sourceLocation.list();
75
            for (int i = 0; i < children.length; i++) {
76
                copy(new File(sourceLocation, children[i]), new File(
77
                    targetLocation, children[i]));
78
            }
79
        } else {
80
            targetLocation.getParentFile().mkdirs();
81

  
82
            InputStream in = new FileInputStream(sourceLocation);
83
            OutputStream out = new FileOutputStream(targetLocation);
84

  
85
            // Copy the bits from instream to outstream
86
            byte[] buf = new byte[1024];
87
            int len;
88
            while ((len = in.read(buf)) > 0) {
89
                out.write(buf, 0, len);
90
            }
91
            in.close();
92
            out.close();
93
        }
94
    }
95
}
0 96

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/src/main/java/org/gvsig/installer/main/utils/CreateBoundleFrame.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27

  
28
package org.gvsig.installer.main.utils;
29

  
30
import java.awt.HeadlessException;
31
import java.awt.event.ActionEvent;
32
import java.awt.event.ActionListener;
33
import java.awt.event.WindowEvent;
34
import java.awt.event.WindowListener;
35
import java.io.File;
36
import java.io.FileOutputStream;
37
import java.util.ArrayList;
38
import java.util.List;
39

  
40
import javax.swing.JFrame;
41
import javax.swing.JOptionPane;
42

  
43
import org.gvsig.gui.beans.openfile.FileTextField;
44
import org.gvsig.installer.lib.impl.utils.Compress;
45

  
46
/**
47
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera Llodr&aacute;</a>
48
 */
49
public class CreateBoundleFrame extends JFrame implements WindowListener,
50
    ActionListener {
51

  
52
    /**
53
     * 
54
     */
55
    private static final long serialVersionUID = -2128261599641241144L;
56
    private javax.swing.JButton executeButton;
57
    private javax.swing.JLabel inputLabel;
58
    private FileTextField inputText;
59
    private javax.swing.JLabel jLabel2;
60
    private FileTextField outputText;
61

  
62
    public CreateBoundleFrame() throws HeadlessException {
63
        super();
64
        initializeComponents();
65
        this.addWindowListener(this);
66
        executeButton.addActionListener(this);
67
    }
68

  
69
    private void initializeComponents() {
70
        java.awt.GridBagConstraints gridBagConstraints;
71

  
72
        inputLabel = new javax.swing.JLabel();
73
        executeButton = new javax.swing.JButton();
74
        inputText = new FileTextField();
75
        outputText = new FileTextField();
76
        jLabel2 = new javax.swing.JLabel();
77

  
78
        setLayout(new java.awt.GridBagLayout());
79

  
80
        inputLabel.setText("Input directory");
81
        gridBagConstraints = new java.awt.GridBagConstraints();
82
        gridBagConstraints.gridx = 0;
83
        gridBagConstraints.gridy = 0;
84
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
85
        gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
86
        add(inputLabel, gridBagConstraints);
87

  
88
        executeButton.setText("Execute");
89
        gridBagConstraints = new java.awt.GridBagConstraints();
90
        gridBagConstraints.gridx = 1;
91
        gridBagConstraints.gridy = 2;
92
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
93
        gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
94
        add(executeButton, gridBagConstraints);
95

  
96
        gridBagConstraints = new java.awt.GridBagConstraints();
97
        gridBagConstraints.gridx = 1;
98
        gridBagConstraints.gridy = 0;
99
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
100
        gridBagConstraints.ipadx = 67;
101
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
102
        gridBagConstraints.weightx = 1.0;
103
        gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
104
        add(inputText, gridBagConstraints);
105

  
106
        gridBagConstraints = new java.awt.GridBagConstraints();
107
        gridBagConstraints.gridx = 1;
108
        gridBagConstraints.gridy = 1;
109
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
110
        gridBagConstraints.ipadx = 67;
111
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
112
        gridBagConstraints.weightx = 1.0;
113
        gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
114
        add(outputText, gridBagConstraints);
115

  
116
        jLabel2.setText("Output");
117
        gridBagConstraints = new java.awt.GridBagConstraints();
118
        gridBagConstraints.gridx = 0;
119
        gridBagConstraints.gridy = 1;
120
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
121
        gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
122
        add(jLabel2, gridBagConstraints);
123

  
124
    }
125

  
126
    public void windowActivated(WindowEvent arg0) {
127
        // TODO Auto-generated method stub
128

  
129
    }
130

  
131
    public void windowClosed(WindowEvent arg0) {
132
        System.exit(0);
133

  
134
    }
135

  
136
    public void windowClosing(WindowEvent arg0) {
137
        // TODO Auto-generated method stub
138

  
139
    }
140

  
141
    public void windowDeactivated(WindowEvent arg0) {
142
        // TODO Auto-generated method stub
143

  
144
    }
145

  
146
    public void windowDeiconified(WindowEvent arg0) {
147
        // TODO Auto-generated method stub
148

  
149
    }
150

  
151
    public void windowIconified(WindowEvent arg0) {
152
        // TODO Auto-generated method stub
153

  
154
    }
155

  
156
    public void windowOpened(WindowEvent arg0) {
157
        // TODO Auto-generated method stub
158

  
159
    }
160

  
161
    public void actionPerformed(ActionEvent arg0) {
162
        File inputDirectory = inputText.getSelectedFile();
163
        File outputFile = outputText.getSelectedFile();
164

  
165
        if (!inputDirectory.exists()) {
166
            JOptionPane
167
                .showMessageDialog(this, "Input directory doesn't exist");
168
            return;
169
        }
170

  
171
        if (outputFile.exists()) {
172
            outputFile.delete();
173
        }
174

  
175
        Compress compress = new Compress();
176
        try {
177
            File[] files = inputDirectory.listFiles();
178
            List<File> filesArray = new ArrayList<File>();
179
            List<String> fileNamesArray = new ArrayList<String>();
180
            for (int i = 0; i < files.length; i++) {
181
                if (!files[i].getName().toUpperCase().equals(".SVN")) {
182
                    filesArray.add(files[i]);
183
                    fileNamesArray.add(files[i].getName());
184
                }
185
            }
186
            compress.compressPluginsAsPackageSet(filesArray, fileNamesArray,
187
                new FileOutputStream(outputFile));
188
        } catch (Exception e) {
189
            JOptionPane.showMessageDialog(this, e.toString());
190
        }
191
    }
192
}
0 193

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/src/main/java/org/gvsig/installer/main/utils/CreateBundleLauncher.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27

  
28
package org.gvsig.installer.main.utils;
29

  
30
/**
31
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera Llodr&aacute;</a>
32
 */
33
public class CreateBundleLauncher {
34

  
35
    public static void main(String[] args) {
36
        new CreateBundleLauncher();
37
    }
38

  
39
    public CreateBundleLauncher() {
40
        super();
41
        CreateBoundleFrame createBoundleFrame = new CreateBoundleFrame();
42
        createBoundleFrame.setBounds(0, 0, 500, 150);
43
        createBoundleFrame.setVisible(true);
44
    }
45

  
46
}
0 47

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/src/main/java/org/gvsig/installer/main/utils/FrameWizardListener.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27

  
28
package org.gvsig.installer.main.utils;
29

  
30
import javax.swing.JFrame;
31

  
32
import org.gvsig.installer.swing.api.wizard.InstallerWizardActionListener;
33
import org.gvsig.installer.swing.api.wizard.InstallerWizardPanel;
34

  
35
/**
36
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera Llodr&aacute;</a>
37
 */
38
public class FrameWizardListener implements InstallerWizardActionListener {
39

  
40
    private JFrame frame = null;
41

  
42
    public FrameWizardListener(JFrame frame) {
43
        super();
44
        this.frame = frame;
45
    }
46

  
47
    public void cancel(InstallerWizardPanel installerWizard) {
48
        frame.setVisible(false);
49
        System.exit(0);
50

  
51
    }
52

  
53
    public void finish(InstallerWizardPanel installerWizard) {
54
        frame.setVisible(false);
55
        System.exit(0);
56
    }
57

  
58
}
0 59

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/src/main/java/org/gvsig/installer/main/execution/InstallPackageWizardFromDefaultDirectoryLauncher.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27

  
28
package org.gvsig.installer.main.execution;
29

  
30
import java.io.IOException;
31

  
32
import org.gvsig.installer.lib.api.execution.InstallPackageServiceException;
33
import org.gvsig.installer.main.DefaultLauncher;
34
import org.gvsig.installer.swing.api.execution.InstallPackageWizardException;
35
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
36
import org.gvsig.tools.locator.LocatorException;
37

  
38
/**
39
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera Llodr&aacute;</a>
40
 */
41
public class InstallPackageWizardFromDefaultDirectoryLauncher extends
42
    DefaultLauncher {
43

  
44
    public static void main(String[] args) throws LocatorException,
45
        InstallPackageServiceException, InstallPackageWizardException,
46
        IOException {
47
        new DefaultLibrariesInitializer().fullInitialize();
48
        new InstallPackageWizardFromDefaultDirectoryLauncher();
49
    }
50

  
51
    public InstallPackageWizardFromDefaultDirectoryLauncher()
52
        throws LocatorException, InstallPackageWizardException,
53
        InstallPackageServiceException, IOException {
54

  
55
        InstallPackageServiceFrame frame =
56
            new InstallPackageServiceFrame(getApplicationFolder(),
57
                getPluginsFolder(), getInstallFolder());
58
        frame.installFromDefaultDirectory();
59
        frame.setVisible(true);
60
    }
61
}
0 62

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/src/main/java/org/gvsig/installer/main/execution/InstallPackageWizardLauncher.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27

  
28
package org.gvsig.installer.main.execution;
29

  
30
import java.io.IOException;
31

  
32
import org.gvsig.installer.lib.api.execution.InstallPackageServiceException;
33
import org.gvsig.installer.main.DefaultLauncher;
34
import org.gvsig.installer.swing.api.execution.InstallPackageWizardException;
35
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
36
import org.gvsig.tools.locator.LocatorException;
37

  
38
/**
39
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera Llodr&aacute;</a>
40
 */
41
public class InstallPackageWizardLauncher extends DefaultLauncher {
42

  
43
    public static void main(String[] args) throws LocatorException,
44
        InstallPackageServiceException, InstallPackageWizardException,
45
        IOException {
46
        new DefaultLibrariesInitializer().fullInitialize();
47
        new InstallPackageWizardLauncher();
48
    }
49

  
50
    public InstallPackageWizardLauncher() throws LocatorException,
51
        InstallPackageWizardException, InstallPackageServiceException,
52
        IOException {
53

  
54
        InstallPackageServiceFrame frame =
55
            new InstallPackageServiceFrame(getApplicationFolder(),
56
                getPluginsFolder(), getInstallFolder());
57
        frame.setVisible(true);
58
    }
59
}
0 60

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/src/main/java/org/gvsig/installer/main/execution/InstallPackageServiceFrame.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27

  
28
package org.gvsig.installer.main.execution;
29

  
30
import java.io.File;
31

  
32
import javax.swing.JFrame;
33

  
34
import org.gvsig.installer.lib.api.execution.InstallPackageServiceException;
35
import org.gvsig.installer.main.utils.FrameWizardListener;
36
import org.gvsig.installer.swing.api.SwingInstallerLocator;
37
import org.gvsig.installer.swing.api.execution.AbstractInstallPackageWizard;
38
import org.gvsig.installer.swing.api.execution.InstallPackageWizardException;
39
import org.gvsig.tools.locator.LocatorException;
40

  
41
/**
42
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera Llodr&aacute;</a>
43
 */
44
public class InstallPackageServiceFrame extends JFrame {
45

  
46
    private static final long serialVersionUID = -5107758157530922356L;
47
    private AbstractInstallPackageWizard installerExecutionWizard;
48

  
49
    public InstallPackageServiceFrame(File applicationFolder,
50
        File pluginsFolder, File installFolder) throws LocatorException,
51
        InstallPackageWizardException {
52
        super();
53
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
54
        installerExecutionWizard =
55
            SwingInstallerLocator.getSwingInstallerManager()
56
                .createInstallPackageWizard(applicationFolder, pluginsFolder,
57
                    installFolder);
58
        installerExecutionWizard
59
            .setWizardActionListener(new FrameWizardListener(this));
60
        this.add(installerExecutionWizard);
61
        pack();
62
    }
63

  
64
    public void installFromDefaultDirectory()
65
        throws InstallPackageServiceException {
66
        installerExecutionWizard.installFromDefaultDirectory();
67
    }
68

  
69
}
0 70

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/src/main/java/org/gvsig/installer/main/creation/MakePluginPackageFrame.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27

  
28
package org.gvsig.installer.main.creation;
29

  
30
import java.io.File;
31

  
32
import javax.swing.JFrame;
33

  
34
import org.gvsig.installer.main.utils.FrameWizardListener;
35
import org.gvsig.installer.swing.api.SwingInstallerLocator;
36
import org.gvsig.installer.swing.api.creation.MakePluginPackageWizard;
37
import org.gvsig.installer.swing.api.creation.MakePluginPackageWizardException;
38
import org.gvsig.tools.locator.LocatorException;
39

  
40
/**
41
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera Llodr&aacute;</a>
42
 */
43
public class MakePluginPackageFrame extends JFrame {
44

  
45
    private static final long serialVersionUID = 4144834319158286247L;
46
    private MakePluginPackageWizard installerCreationWizard;
47

  
48
    public MakePluginPackageFrame(File applicationFolder, File pluginsFolder,
49
        File installFolder) throws LocatorException,
50
        MakePluginPackageWizardException {
51
        super();
52
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
53
        installerCreationWizard =
54
            SwingInstallerLocator.getSwingInstallerManager()
55
                .createMakePluginPackageWizard(applicationFolder,
56
                    pluginsFolder, installFolder);
57
        installerCreationWizard
58
            .setWizardActionListener(new FrameWizardListener(this));
59
        this.add(installerCreationWizard);
60
        pack();
61
    }
62

  
63
}
0 64

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/src/main/java/org/gvsig/installer/main/creation/MakePluginPackageWizardLauncher.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27

  
28
package org.gvsig.installer.main.creation;
29

  
30
import java.io.IOException;
31

  
32
import org.gvsig.installer.lib.api.creation.MakePluginPackageServiceException;
33
import org.gvsig.installer.main.DefaultLauncher;
34
import org.gvsig.installer.swing.api.creation.MakePluginPackageWizardException;
35
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
36
import org.gvsig.tools.locator.LocatorException;
37

  
38
/**
39
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera Llodr&aacute;</a>
40
 */
41
public class MakePluginPackageWizardLauncher extends DefaultLauncher {
42

  
43
    public static void main(String[] args) throws LocatorException,
44
        MakePluginPackageWizardException, IOException,
45
        MakePluginPackageServiceException {
46
        new DefaultLibrariesInitializer().fullInitialize();
47
        new MakePluginPackageWizardLauncher();
48
    }
49

  
50
    public MakePluginPackageWizardLauncher() throws LocatorException,
51
        MakePluginPackageWizardException, IOException,
52
        MakePluginPackageServiceException {
53

  
54
        MakePluginPackageFrame frame =
55
            new MakePluginPackageFrame(getApplicationFolder(),
56
                getPluginsFolder(), getInstallFolder());
57
        frame.setVisible(true);
58
    }
59

  
60
}
0 61

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.main/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2
	<modelVersion>4.0.0</modelVersion>
3
	<artifactId>org.gvsig.installer.main</artifactId>
4
	<packaging>jar</packaging>
5
	<name>org.gvsig.installer.main</name>
6
	<parent>
7
		<groupId>org.gvsig</groupId>
8
		<artifactId>org.gvsig.installer</artifactId>
9
		<version>1.0.1-SNAPSHOT</version>
10
	</parent>
11
	<dependencies>
12
		<dependency>
13
			<groupId>org.gvsig</groupId>
14
			<artifactId>org.gvsig.installer.lib.api</artifactId>
15
			<version>1.0.1-SNAPSHOT</version>
16
            <scope>compile</scope>
17
		</dependency>
18
		<dependency>
19
			<groupId>org.gvsig</groupId>
20
			<artifactId>org.gvsig.installer.lib.spi</artifactId>
21
			<version>1.0.1-SNAPSHOT</version>
22
            <scope>compile</scope>
23
		</dependency>
24
		<dependency>
25
			<groupId>org.gvsig</groupId>
26
			<artifactId>org.gvsig.installer.lib.impl</artifactId>
27
			<version>1.0.1-SNAPSHOT</version>
28
			<!-- The scope is not runtime because there is an utility that uses the Compress class directly
29
			     It will be runtime the day that the API supports this functionality
30
			-->
31
			 <scope>compile</scope>
32
		</dependency>
33
		<dependency>
34
			<groupId>org.gvsig</groupId>
35
			<artifactId>org.gvsig.installer.prov.plugin</artifactId>
36
			<version>1.0.1-SNAPSHOT</version>
37
		</dependency>
38
		<dependency>
39
			<groupId>org.gvsig</groupId>
40
			<artifactId>org.gvsig.installer.swing.api</artifactId>
41
			<version>1.0.1-SNAPSHOT</version>
42
            <scope>compile</scope>
43
		</dependency>
44
        <dependency>
45
            <groupId>org.gvsig</groupId>
46
            <artifactId>org.gvsig.installer.swing.impl</artifactId>
47
            <version>1.0.1-SNAPSHOT</version>
48
        </dependency>
49
        <dependency>
50
            <groupId>org.gvsig</groupId>
51
            <artifactId>org.gvsig.tools.lib</artifactId>
52
            <scope>compile</scope>
53
        </dependency>
54
		<dependency>
55
			<groupId>org.gvsig</groupId>
56
			<artifactId>org.gvsig.ui</artifactId>
57
            <scope>compile</scope>
58
		</dependency>
59
	</dependencies>
60
    <properties>
61
        <super.parent.dir>${basedir}/..</super.parent.dir>
62
    </properties>
63
</project>
0 64

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.lib/org.gvsig.installer.lib.impl/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2
	<modelVersion>4.0.0</modelVersion>
3
	<artifactId>org.gvsig.installer.lib.impl</artifactId>
4
	<packaging>jar</packaging>
5
	<name>org.gvsig.installer.lib.impl</name>
6
	<parent>
7
		<groupId>org.gvsig</groupId>
8
		<artifactId>org.gvsig.installer.lib</artifactId>
9
		<version>1.0.1-SNAPSHOT</version>
10
	</parent>  
11
	<dependencies>
12
		<dependency>
13
			<groupId>org.gvsig</groupId>
14
			<artifactId>org.gvsig.installer.lib.api</artifactId>
15
			<version>1.0.1-SNAPSHOT</version>
16
            <scope>compile</scope>
17
		</dependency>
18
		<dependency>
19
			<groupId>org.gvsig</groupId>
20
			<artifactId>org.gvsig.installer.lib.spi</artifactId>
21
			<version>1.0.1-SNAPSHOT</version>
22
            <scope>compile</scope>
23
		</dependency>
24
        <dependency>
25
            <groupId>org.gvsig</groupId>
26
            <artifactId>org.gvsig.tools.lib</artifactId>
27
            <scope>compile</scope>
28
        </dependency>
29
        <dependency>
30
            <groupId>org.slf4j</groupId>
31
            <artifactId>slf4j-api</artifactId>
32
            <scope>compile</scope>
33
        </dependency>
34
		<!-- TEST -->
35
		<dependency>
36
			<groupId>org.gvsig</groupId>
37
			<artifactId>org.gvsig.tools.lib</artifactId>
38
			<type>test-jar</type>
39
		</dependency>
40
		<dependency>
41
			<groupId>org.gvsig</groupId>
42
			<artifactId>org.gvsig.installer.prov.plugin</artifactId>
43
			<version>1.0.1-SNAPSHOT</version>
44
			<scope>test</scope>
45
		</dependency>
46
	</dependencies>
47
    <properties>
48
        <super.parent.dir>${basedir}/../..</super.parent.dir>
49
    </properties>
50
</project>
0 51

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.lib/org.gvsig.installer.lib.impl/src/test/java/org/gvsig/installer/lib/impl/DependencyTest.java
1
package org.gvsig.installer.lib.impl;
2

  
3
import junit.framework.TestCase;
4

  
5
import org.gvsig.installer.lib.api.Dependency;
6

  
7
public class DependencyTest extends TestCase {
8

  
9
	public void testParse() {
10
		Dependency dep = new DefaultDependency();
11
		
12
		dep.parse("required: org.gvsig.app >= 2.0.0-SNAPSHOT-2030");
13
		String s = dep.toString();
14
		assertEquals("required: org.gvsig.app >= 2.0.0-SNAPSHOT-2030", s);
15
	}
16
}
0 17

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.lib/org.gvsig.installer.lib.impl/src/test/java/org/gvsig/installer/lib/impl/InstallerServiceTest.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27

  
28
package org.gvsig.installer.lib.impl;
29

  
30
import java.io.BufferedOutputStream;
31
import java.io.DataOutputStream;
32
import java.io.File;
33
import java.io.FileInputStream;
34
import java.io.FileOutputStream;
35
import java.io.IOException;
36
import java.io.InputStream;
37
import java.io.OutputStream;
38

  
39
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
40

  
41
/**
42
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera Llodr&aacute;</a>
43
 */
44
public abstract class InstallerServiceTest extends
45
    AbstractLibraryAutoInitTestCase {
46

  
47
    public File getApplicationDirectory() throws IOException {
48
        File templateFile =
49
            new File(getClass().getClassLoader().getResource("application")
50
                .getFile());
51
        File applicationDirectory =
52
            new File(System.getProperty("java.io.tmpdir") + File.separator
53
                + "tmp_gvsig_installer");
54

  
55
        if (applicationDirectory.exists()) {
56
            deleteDir(applicationDirectory);
57
        }
58
        copy(templateFile, applicationDirectory);
59

  
60
        return applicationDirectory;
61
    }
62

  
63
    public File getTemporalFile() {
64
        return new File(System.getProperty("java.io.tmpdir") + File.separator
65
            + "installer" + Math.random());
66
    }
67

  
68
    public File getInstallersDirectory() throws IOException {
69
        File applicationDirectory = getApplicationDirectory();
70
        return new File(applicationDirectory + File.separator + "install");
71
    }
72

  
73
    public File getPluginsDirectory() throws IOException {
74
        File applicationDirectory = getApplicationDirectory();
75
        return new File(applicationDirectory + File.separator + "gvSIG"
76
            + File.separator + "extensiones");
77
    }
78

  
79
    public boolean deleteDir(File dir) {
80
        if (dir.isDirectory()) {
81
            String[] children = dir.list();
82
            for (int i = 0; i < children.length; i++) {
83
                boolean success = deleteDir(new File(dir, children[i]));
84
                if (!success) {
85
                    return false;
86
                }
87
            }
88
        }
89
        return dir.delete();
90
    }
91

  
92
    public void copy(File sourceLocation, File targetLocation)
93
        throws IOException {
94
        if (sourceLocation.isDirectory()) {
95
            if (!targetLocation.exists()) {
96
                targetLocation.mkdir();
97
            }
98

  
99
            String[] children = sourceLocation.list();
100
            for (int i = 0; i < children.length; i++) {
101
                copy(new File(sourceLocation, children[i]), new File(
102
                    targetLocation, children[i]));
103
            }
104
        } else {
105
            targetLocation.getParentFile().mkdirs();
106

  
107
            InputStream in = new FileInputStream(sourceLocation);
108
            OutputStream out = new FileOutputStream(targetLocation);
109

  
110
            // Copy the bits from instream to outstream
111
            byte[] buf = new byte[1024];
112
            int len;
113
            while ((len = in.read(buf)) > 0) {
114
                out.write(buf, 0, len);
115
            }
116
            in.close();
117
            out.close();
118
        }
119
    }
120

  
121
    public void writeToFile(InputStream is, File file) {
122
        try {
123
            DataOutputStream out =
124
                new DataOutputStream(new BufferedOutputStream(
125
                    new FileOutputStream(file)));
126
            InputStream is2 = is;
127
            boolean again = true;
128
            while (again) {
129
                if (is2.read() > -1) {
130
                    out.writeByte(is.read());
131
                } else {
132
                    again = false;
133
                }
134
            }
135
            is.close();
136
            out.close();
137
        } catch (IOException e) {
138
            System.err.println("Error Writing/Reading Streams.");
139
        }
140
    }
141

  
142
}
0 143

  
tags/v2_0_0_Build_2031/extensions/org.gvsig.installer/org.gvsig.installer.lib/org.gvsig.installer.lib.impl/src/test/java/org/gvsig/installer/lib/impl/execution/DependencyCalculatorTest.java
1
package org.gvsig.installer.lib.impl.execution;
2

  
3
import java.util.ArrayList;
4
import java.util.LinkedHashMap;
5
import java.util.List;
6
import java.util.Map;
7

  
8
import junit.framework.TestCase;
9

  
10
import org.gvsig.installer.lib.api.PackageInfo;
11
import org.gvsig.installer.lib.api.Version;
12
import org.gvsig.installer.lib.impl.DefaultDependenciesCalculator;
13
import org.gvsig.installer.lib.impl.DefaultPackageInfo;
14
import org.gvsig.installer.lib.impl.DefaultVersion;
15

  
16
public class DependencyCalculatorTest extends TestCase {
17

  
18
	private MyInstallPackageService getInstallService() {
19
		MyInstallPackageService serv = new MyInstallPackageService();
20
		serv.addPackage("p1", "1.0.0", null);
21
		serv.addPackage("p1", "2.0.0", null);
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff