Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org/gvsig/raster/principalcomponents/PrincipalComponentsSextanteLibrary.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org/gvsig/raster/principalcomponents/PrincipalComponentsSextanteLibrary.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org/gvsig/raster/principalcomponents/PrincipalComponentsSextanteLibrary.java	(revision 15568)
@@ -0,0 +1,25 @@
+package org.gvsig.raster.principalcomponents;
+
+import org.gvsig.geoprocess.algorithm.base.core.AlgorithmAbstractLibrary;
+import org.gvsig.i18n.Messages;
+import org.gvsig.tools.library.LibraryException;
+
+/**
+ * Initialization of <code>PrincipalComponentsSextanteLibrary</code> library.
+ */
+public class PrincipalComponentsSextanteLibrary extends AlgorithmAbstractLibrary {
+
+    @Override
+    protected void doInitialize() throws LibraryException {
+        // Nothing to do
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+        Messages.addResourceFamily(
+            "org.gvsig.raster.principalcomponents.sextante.i18n.text", PrincipalComponentsSextanteLibrary.class
+                .getClassLoader(), PrincipalComponentsSextanteLibrary.class.getClass().getName());
+        registerGeoProcess(new PrincipalComponentsSextanteAlgorithm());
+    }
+
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org/gvsig/raster/principalcomponents/PrincipalComponentsSextanteLibrary.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org/gvsig/raster/principalcomponents/PrincipalComponentsSextanteAlgorithm.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org/gvsig/raster/principalcomponents/PrincipalComponentsSextanteAlgorithm.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org/gvsig/raster/principalcomponents/PrincipalComponentsSextanteAlgorithm.java	(revision 15568)
@@ -0,0 +1,214 @@
+package org.gvsig.raster.principalcomponents;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.gvsig.fmap.dal.coverage.RasterLocator;
+import org.gvsig.fmap.dal.coverage.datastruct.Extent;
+import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
+import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
+import org.gvsig.geoprocess.lib.sextante.AbstractSextanteGeoProcess;
+import org.gvsig.geoprocess.lib.sextante.dataObjects.FLyrRasterIRasterLayer;
+import org.gvsig.raster.algorithm.RasterBaseAlgorithmLibrary;
+import org.gvsig.raster.algorithm.process.DataProcess;
+import org.gvsig.raster.algorithm.process.IProcessActions;
+import org.gvsig.raster.algorithm.process.ProcessException;
+import org.gvsig.raster.fmap.layers.FLyrRaster;
+import org.gvsig.raster.principalcomponents.algorithm.PCStatsDataStructure;
+import org.gvsig.raster.principalcomponents.algorithm.PrincipalComponentsAlgorithmLibrary;
+import org.gvsig.raster.principalcomponents.algorithm.PrincipalComponentsProcess;
+
+import es.unex.sextante.core.AnalysisExtent;
+import es.unex.sextante.core.Sextante;
+import es.unex.sextante.dataObjects.IRasterLayer;
+import es.unex.sextante.exceptions.GeoAlgorithmExecutionException;
+import es.unex.sextante.exceptions.RepeatedParameterNameException;
+
+/**
+ * ...
+ */
+public class PrincipalComponentsSextanteAlgorithm extends AbstractSextanteGeoProcess implements IProcessActions {
+    public static final String RESULT            = "RESULT";
+    public static final String LAYER             = PrincipalComponentsProcess.RASTER_STORE;
+    public static final String USE_ROI           = "USE_ROI";
+
+    private boolean            useROI            = false;
+    private DataProcess        taskStats         = null;
+    private DataProcess        taskPC            = null;
+
+
+    public void defineCharacteristics() {
+        setName(getTranslation("principalcomponents"));
+        setGroup(getTranslation("multispectral"));
+
+        try {
+            m_Parameters.addInputRasterLayer(LAYER, getTranslation("Input_layer"), true);
+            m_Parameters.addBoolean(USE_ROI, getTranslation("use_roi"), false);
+        } catch (RepeatedParameterNameException e) {
+            Sextante.addErrorToLog(e);
+        }
+        addOutputRasterLayer(RESULT, getTranslation("principalcomponents"));
+    }
+
+    public boolean processAlgorithm() throws GeoAlgorithmExecutionException {
+
+    	if(existsOutPutFile(PrincipalComponentsSextanteAlgorithm.RESULT, 0)) {
+    		throw new GeoAlgorithmExecutionException(getTranslation("file_exists"));
+    	}
+
+    	IRasterLayer input = m_Parameters.getParameterValueAsRasterLayer(LAYER);
+		useROI = m_Parameters.getParameterValueAsBoolean(USE_ROI);
+
+    	FLyrRaster lyrRaster = ((FLyrRaster)input.getBaseDataObject());
+    	IRasterLayer output = null;
+
+    	output = getNewRORasterLayer(
+    			RESULT,
+    			Sextante.getText("principalcomponents_description"),
+    			input.getDataType(),
+    			input.getBandsCount());
+
+    	String fileName = ((FLyrRasterIRasterLayer)output).getName();
+
+    	try {
+    		setProgressText(getTranslation("stadistics"));
+			taskStats = createStatisticsProcess(lyrRaster.getDataStore());
+			taskStats.execute();
+			HashMap<String, Object> params = taskStats.getResult();
+			PCStatsDataStructure stats = (PCStatsDataStructure)params.get("STATS_RESULT");
+
+			setProgressText(getTranslation("calc_components"));
+			taskPC = createPCAProcess(lyrRaster.getDataStore(), fileName, stats);
+			taskPC.execute();
+			params = taskPC.getResult();
+
+			((FLyrRasterIRasterLayer)output).setBaseDataObject(fileName);
+		} catch (ProcessInterruptedException e) {
+			Sextante.addErrorToLog(e);
+		} catch (ProcessException e) {
+			Sextante.addErrorToLog(e);
+		}
+
+		if(getTaskMonitor().isCanceled())
+			return false;
+
+        return true;
+    }
+
+    /**
+     * Creates a process to calculate statistics
+     * @param inputStore
+     * @return
+     * @throws ProcessException
+     */
+    private DataProcess createStatisticsProcess(RasterDataStore inputStore) throws ProcessException {
+    	DataProcess taskStats = RasterBaseAlgorithmLibrary.getManager().createRasterTask(PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+    	taskStats.setActions(this);
+    	List<String> params = taskStats.getRasterTaskInputParameters(PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+    	for (int i = 0; i < params.size(); i++) {
+    		String paramName = params.get(i);
+    		Class<?> paramType = taskStats.getParameterTypeByProcess(PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL, paramName);
+    		if(paramType == RasterDataStore.class) {
+    			taskStats.addParam(paramName, (RasterDataStore)inputStore);
+    		}
+    		if(paramName.equals("BANDS")) {
+    			boolean[] bands = new boolean[inputStore.getBandCount()];
+    			for (int j = 0; j < bands.length; j++) {
+					bands[j] = true;
+				}
+    			taskStats.addParam(paramName, bands);
+    		}
+
+    		if(paramName.equals("ROI_EPSG") && useROI) {
+    			taskStats.addParam(paramName, "EPSG:4326");
+    		}
+
+    		if(paramName.equals("WINDOW")) {
+    			AnalysisExtent ext = getAnalysisExtent();
+    			Extent bbox = RasterLocator.getManager().getDataStructFactory().createExtent(
+    					ext.getXMin(), ext.getYMax(), ext.getXMax(), ext.getYMin());
+    			Extent inputBbox = inputStore.getExtent();
+    			if(bbox.getULX() != inputBbox.getULX() ||
+    				bbox.getULY() != inputBbox.getULY() ||
+    				bbox.getLRX() != inputBbox.getLRX() ||
+    				bbox.getLRY() != inputBbox.getLRY()) {
+    				taskStats.addParam(paramName, bbox);
+    			}
+    		}
+    	}
+    	return taskStats;
+    }
+
+    private DataProcess createPCAProcess(RasterDataStore inputStore, String fileName, PCStatsDataStructure stats) throws ProcessException {
+    	DataProcess taskPC = RasterBaseAlgorithmLibrary.getManager().createRasterTask(PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL);
+    	taskPC.setActions(this);
+    	List<String> params = taskPC.getRasterTaskInputParameters(PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL);
+    	for (int i = 0; i < params.size(); i++) {
+    		String paramName = params.get(i);
+    		Class<?> paramType = taskPC.getParameterTypeByProcess(PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL, paramName);
+    		if(paramType == RasterDataStore.class) {
+    			taskPC.addParam(paramName, (RasterDataStore)inputStore);
+    		}
+
+			if(paramType == Boolean[].class) {
+    			boolean[] bands = new boolean[inputStore.getBandCount()];
+    			for (int j = 0; j < bands.length; j++) {
+					bands[j] = true;
+				}
+    			taskPC.addParam(paramName, bands);
+			}
+
+			if(paramType == PCStatsDataStructure.class) {
+				taskPC.addParam(paramName, stats);
+			}
+
+			if(paramName.equals("PATH")) {
+				taskPC.addParam(paramName, fileName);
+			}
+
+			if(paramName.equals("ROI_EPSG") && useROI) {
+				taskPC.addParam(paramName, "EPSG:4326");
+    		}
+
+			if(paramName.equals("WINDOW")) {
+    			AnalysisExtent ext = getAnalysisExtent();
+    			Extent bbox = RasterLocator.getManager().getDataStructFactory().createExtent(
+    					ext.getXMin(), ext.getYMax(), ext.getXMax(), ext.getYMin());
+    			Extent inputBbox = inputStore.getExtent();
+    			if(bbox.getULX() != inputBbox.getULX() ||
+    				bbox.getULY() != inputBbox.getULY() ||
+    				bbox.getLRX() != inputBbox.getLRX() ||
+    				bbox.getLRY() != inputBbox.getLRY()) {
+    				taskPC.addParam(paramName, bbox);
+    			}
+    		}
+    	}
+    	return taskPC;
+    }
+
+	public void interrupted() {
+
+	}
+
+	public void end(Object param) {
+
+	}
+
+	public void updateProgress(int current, int total) {
+		boolean cancelled = setProgress(current, total);
+
+		if(!cancelled) {
+			if(taskStats != null)
+				taskStats.actionCanceled(null);
+			if(taskPC != null)
+				taskPC.actionCanceled(null);
+		}
+	}
+
+    /*
+     * TODO: Customized panels
+    @Override
+    public Class<? extends GeoAlgorithmParametersPanel> getCustomParametersPanelClass() {
+        return PrincipalComponentsParametersPanel.class;
+    }*/
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org/gvsig/raster/principalcomponents/PrincipalComponentsSextanteAlgorithm.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/java
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text.properties	(revision 15568)
@@ -0,0 +1,3 @@
+multispectral=Raster multiespectral
+principalcomponents=Componentes principales
+use_roi=Usar las regiones de interés de la capa de entrada
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_zh.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_zh.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_en.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_en.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_en.properties	(revision 15568)
@@ -0,0 +1,3 @@
+multispectral=Multispectral raster
+principalcomponents=Principal components
+use_roi=Use regions of interest of the input layer
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_en.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_gl.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_gl.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_ca.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_ca.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_pt.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_pt.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_cs.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_cs.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_fr.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_fr.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_de.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_de.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_eu.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_eu.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_it.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n/text_it.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante/i18n
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/sextante
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources-plugin
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 15568)
@@ -0,0 +1 @@
+org.gvsig.raster.principalcomponents.PrincipalComponentsSextanteLibrary
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/META-INF/services
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/META-INF
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_it.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_it.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text.properties	(revision 15568)
@@ -0,0 +1,5 @@
+multispectral=Raster multiespectral
+principalcomponents=Componentes Principales
+use_roi=Usar las regiones de interés
+stadistics=Estadísticas
+calc_components=Calculando componentes
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_zh.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_zh.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_en.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_en.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_en.properties	(revision 15568)
@@ -0,0 +1,5 @@
+multispectral=Multispectral raster
+principalcomponents=Principal Components
+use_roi=Use regions of interest
+stadistics=Stadistics
+calc_components=Calculating components
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_en.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_gl.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_gl.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_ca.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_ca.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_pt.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_pt.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_cs.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_cs.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_fr.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_fr.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_de.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_de.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_eu.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n/text_eu.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante/i18n
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/sextante
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/help/PrincipalComponentsSextanteAlgorithm_en.xml
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/help/PrincipalComponentsSextanteAlgorithm_en.xml	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/help/PrincipalComponentsSextanteAlgorithm_en.xml	(revision 15568)
@@ -0,0 +1,21 @@
+<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
+<help>
+	<element name="DESCRIPTION"
+		text=""
+		description="Descripci&#243;n" type="0">
+		<image description="" file="">
+		</image>
+	</element>
+	<element name="ADDITIONAL_INFO" text=""
+		description="Informaci&#243;n adicional" type="0">
+	</element>
+	<element name="EXTENSION_AUTHOR" text=""
+		description="Algoritmo creado por" type="0">
+	</element>
+	<element name="HELP_AUTHOR" text="" description="Ayuda creada por"
+		type="0">
+	</element>
+	<element name="USER_NOTES" text="" description="Notas de usuario"
+		type="0">
+	</element>
+</help>

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/help/PrincipalComponentsSextanteAlgorithm_en.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/help/PrincipalComponentsSextanteAlgorithm.xml
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/help/PrincipalComponentsSextanteAlgorithm.xml	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/help/PrincipalComponentsSextanteAlgorithm.xml	(revision 15568)
@@ -0,0 +1,21 @@
+<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
+<help>
+	<element name="DESCRIPTION"
+		text=""
+		description="Descripci&#243;n" type="0">
+		<image description="" file="">
+		</image>
+	</element>
+	<element name="ADDITIONAL_INFO" text=""
+		description="Informaci&#243;n adicional" type="0">
+	</element>
+	<element name="EXTENSION_AUTHOR" text=""
+		description="Algoritmo creado por" type="0">
+	</element>
+	<element name="HELP_AUTHOR" text="" description="Ayuda creada por"
+		type="0">
+	</element>
+	<element name="USER_NOTES" text="" description="Notas de usuario"
+		type="0">
+	</element>
+</help>

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/help/PrincipalComponentsSextanteAlgorithm.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources/help
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main/resources
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src/main
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/src
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/pom.xml
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/pom.xml	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/pom.xml	(revision 15568)
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="ISO-8859-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/xsd/maven-4.0.0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>org.gvsig.raster.principalcomponents.toolbox.algorithm</artifactId>
+    <packaging>jar</packaging>
+    <name>org.gvsig.raster.principalcomponents.toolbox.algorithm</name>
+    <parent>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.raster.principalcomponents</artifactId>
+        <version>2.2.155</version>
+    </parent>
+    <dependencies>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.raster.algorithm</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.geoprocess.algorithm.base</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.raster.principalcomponents.algorithm</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.geoprocess.lib.sextante</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.tools.lib</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.ui</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.i18n</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.mapcontext.impl</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.projection.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.projection.cresques.impl</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+</project>

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.toolbox.algorithm
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath
target


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/pom.xml
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/pom.xml	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/pom.xml	(revision 15568)
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.raster.principalcomponents</artifactId>
+	<packaging>pom</packaging>
+	<version>2.2.155</version>
+	<name>${project.artifactId}</name>
+	<description />
+	<inceptionYear>2011</inceptionYear>
+	<parent>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.desktop</artifactId>
+      <version>2.0.343</version>
+  </parent>
+
+        <properties>
+            <!-- El plugin versions:use-latest-versions falla con scope import -->
+            <!-- asi que toca usar el versions:update-properties que si que funciona -->
+            <org.gvsig.raster.version>2.2.174</org.gvsig.raster.version>
+            <org.gvsig.geoprocess.version>2.2.183</org.gvsig.geoprocess.version>
+        </properties>
+
+    <repositories>
+      <repository>
+        <id>gvsig-public-http-repository</id>
+        <name>gvSIG maven public HTTP repository</name>
+        <url>http://devel.gvsig.org/m2repo/j2se</url>
+        <releases>
+          <enabled>true</enabled>
+          <updatePolicy>daily</updatePolicy>
+          <checksumPolicy>warn</checksumPolicy>
+        </releases>
+        <snapshots>
+          <enabled>true</enabled>
+          <updatePolicy>daily</updatePolicy>
+          <checksumPolicy>warn</checksumPolicy>
+        </snapshots>
+      </repository>
+    </repositories>
+
+    <scm>
+        <connection>scm:svn:https://devel.gvsig.org/svn/gvsig-raster/org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155</connection>
+        <developerConnection>scm:svn:https://devel.gvsig.org/svn/gvsig-raster/org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155</developerConnection>
+        <url>https://devel.gvsig.org/redmine/projects/gvsig-raster/repository/show/org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155</url>
+    </scm>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-release-plugin</artifactId>
+                <configuration>
+                    <tagBase>https://devel.gvsig.org/svn/gvsig-raster/org.gvsig.raster.principalcomponents/tags/</tagBase>
+                    <goals>deploy</goals>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+	<dependencyManagement>
+		<dependencies>
+
+			<dependency>
+				<groupId>org.gvsig.legacy</groupId>
+				<artifactId>jama</artifactId>
+				<version>1.0.3</version>
+			</dependency>
+
+    	<!--
+    	Versions of other gvSIG projects
+    	-->
+                        <dependency>
+                                <groupId>org.gvsig</groupId>
+                                <artifactId>org.gvsig.raster</artifactId>
+                                <version>${org.gvsig.raster.version}</version>
+                                <type>pom</type>
+                                <scope>import</scope>
+                        </dependency>
+
+                        <dependency>
+                                <groupId>org.gvsig</groupId>
+                                <artifactId>org.gvsig.geoprocess</artifactId>
+                                <version>${org.gvsig.geoprocess.version}</version>
+                                <type>pom</type>
+                                <scope>import</scope>
+                        </dependency>
+    	<!--
+    	Versions of child projects
+    	-->
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.raster.principalcomponents.swing.api</artifactId>
+				<version>2.2.155</version>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.raster.principalcomponents.swing.impl</artifactId>
+				<version>2.2.155</version>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.raster.principalcomponents.algorithm</artifactId>
+				<version>2.2.155</version>
+			</dependency>
+ 			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.raster.principalcomponents.toolbox.algorithm</artifactId>
+				<version>2.2.155</version>
+			</dependency>
+
+		</dependencies>
+	</dependencyManagement>
+	<modules>
+		<module>org.gvsig.raster.principalcomponents.algorithm</module>
+		<module>org.gvsig.raster.principalcomponents.toolbox.algorithm</module>
+		<module>org.gvsig.raster.principalcomponents.swing</module>
+		<module>org.gvsig.raster.principalcomponents.app.principalcomponentsclient</module>
+	</modules>
+</project>

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/buildNumber.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/buildNumber.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/buildNumber.properties	(revision 15568)
@@ -0,0 +1,2 @@
+#Fri Nov 26 01:17:11 CET 2021
+buildNumber=163

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/buildNumber.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/assembly/gvsig-plugin-package.xml
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/assembly/gvsig-plugin-package.xml	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/assembly/gvsig-plugin-package.xml	(revision 15568)
@@ -0,0 +1,49 @@
+<assembly>
+  <id>gvsig-plugin-package</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <baseDirectory>.</baseDirectory>
+  <includeBaseDirectory>true</includeBaseDirectory>
+  <files>
+    <file>
+      <source>target/${project.artifactId}-${project.version}.jar</source>
+      <outputDirectory>${project.artifactId}/lib</outputDirectory>
+    </file>
+    <file>
+      <source>target/package.info</source>
+      <outputDirectory>${project.artifactId}</outputDirectory>
+    </file>
+   
+    <!-- <file>
+      <source>${user.home}/.m2/repository/org/gvsig/org.gvsig.raster.principalcomponents.toolbox.algorithm/${project.version}/org.gvsig.raster.principalcomponents.toolbox.algorithm-${project.version}.jar</source>
+      <outputDirectory>org.gvsig.raster.tools.toolbox.app.client/lib</outputDirectory>
+    </file>-->
+  </files>
+
+  <fileSets>
+    <fileSet>
+      <directory>src/main/resources-plugin</directory>
+      <outputDirectory>${project.artifactId}</outputDirectory>
+    </fileSet>
+  </fileSets>
+
+
+  <dependencySets>
+    <dependencySet>
+      <useProjectArtifact>false</useProjectArtifact>
+	  <useTransitiveDependencies>false</useTransitiveDependencies>
+      <outputDirectory>${project.artifactId}/lib</outputDirectory>
+      <includes> 
+			<include>org.gvsig:org.gvsig.raster.principalcomponents.app.principalcomponentsclient:jar</include>
+			<include>org.gvsig:org.gvsig.raster.principalcomponents.lib.api:jar</include>
+			<include>org.gvsig:org.gvsig.raster.principalcomponents.lib.impl:jar</include>
+			<include>org.gvsig:org.gvsig.raster.principalcomponents.swing.api:jar</include>
+			<include>org.gvsig:org.gvsig.raster.principalcomponents.swing.impl:jar</include>
+			<include>org.gvsig:org.gvsig.raster.principalcomponents.algorithm:jar</include>
+			<include>org.gvsig:org.gvsig.raster.principalcomponents.toolbox.algorithm:jar</include>
+	  </includes>
+	</dependencySet>
+	
+  </dependencySets>
+</assembly>
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/assembly/gvsig-plugin-package.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/assembly
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/PrincipalComponentsExtension.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/PrincipalComponentsExtension.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/PrincipalComponentsExtension.java	(revision 15568)
@@ -0,0 +1,260 @@
+package org.gvsig.raster.principalcomponents.app;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.HashMap;
+
+import javax.swing.JPanel;
+
+import org.gvsig.andami.IconThemeHelper;
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.plugins.Extension;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.app.project.documents.view.gui.IView;
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.fmap.mapcontrol.MapControl;
+import org.gvsig.gui.beans.buttonspanel.ButtonsPanel;
+import org.gvsig.gui.beans.defaultbuttonspanel.DefaultButtonsPanel;
+import org.gvsig.i18n.Messages;
+import org.gvsig.raster.algorithm.BasicAPISwingPanel;
+import org.gvsig.raster.algorithm.process.DataProcess;
+import org.gvsig.raster.algorithm.process.IProcessActions;
+import org.gvsig.raster.algorithm.process.ProcessParamsManagement;
+import org.gvsig.raster.fmap.layers.*;
+import org.gvsig.raster.principalcomponents.algorithm.PCStatsDataStructure;
+import org.gvsig.raster.principalcomponents.algorithm.PrincipalComponentsAlgorithmLibrary;
+import org.gvsig.raster.principalcomponents.app.toolbox.ToolboxPCLoader;
+import org.gvsig.raster.principalcomponents.swing.PrincipalComponentsSwingLibrary;
+import org.gvsig.raster.principalcomponents.swing.PrincipalComponentsSwingLocator;
+import org.gvsig.raster.swing.RasterSwingLibrary;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.extensionpoint.ExtensionPoint;
+import org.gvsig.tools.extensionpoint.ExtensionPointManager;
+
+
+public class PrincipalComponentsExtension extends Extension implements ActionListener, IProcessActions {
+    private BasicAPISwingPanel   mainPanel              = null;
+    private BasicAPISwingPanel   componentsPanel        = null;
+    private MainWindow           windowMainPanel        = null;
+    private MainWindow           windowComponentsPanel  = null;
+    private MainWindow           statisticsPanel        = null;
+    private FLyrRaster           lyr                    = null;
+    private PCStatsDataStructure stats                  = null;
+
+    public void initialize() {
+
+    	// Adds an entry to the TOC's floating menu to those layers defined in this extension
+
+		//ExtensionPoint exPoint = ToolsLocator.getExtensionPointManager().add("My_TocActions");
+		//exPoint.append("MyMenuEntry", "", new PrincipalComponentsTocMenuEntry());
+
+        // Adds a new tab to the "add layer" dialog
+
+    	//AddLayer.addWizard(PrincipalComponentsWizard.class);
+
+    	// Adds a new button in the raster bar
+    	// TODO: Remove for providers
+		ExtensionPointManager extensionPoints = ToolsLocator.getExtensionPointManager();
+		ExtensionPoint point = extensionPoints.add("GenericToolBarMenu");
+		point.append("PrincipalComponents", "", PrincipalComponentsTocMenuEntry.getSingleton());
+		PrincipalComponentsTocMenuEntry.setExtension(this);
+
+        Messages.addResourceFamily("org.gvsig.raster.principalcomponents.app.i18n.text",
+        		PrincipalComponentsExtension.class.getClassLoader(),
+        		PrincipalComponentsExtension.class.getClass().getName());
+
+    	initilizeIcons();
+    }
+
+	public void postInitialize() {
+		new ToolboxPCLoader().registerTool();
+	}
+
+    public void execute(String actionCommand) {
+    	if (actionCommand.compareTo("PrincipalComponents") == 0) {
+    		lyr = getSelectedLayer();
+    		if(lyr == null) {
+    			RasterSwingLibrary.messageBoxError(Messages.getText("layer_not_found"), null);
+    			return;
+    		}
+
+			String defaultROIEPSG = getFirstMapCtrl().getProjection().getAbrev();
+
+    		mainPanel = PrincipalComponentsSwingLocator.getSwingManager().createPCAMainPanel(
+    				lyr.getDataStore(),
+    				lyr.getName(),
+    				lyr.getDataStore().getBandCount(),
+    				defaultROIEPSG);
+
+    		windowMainPanel = new MainWindow(mainPanel.getComponent(),
+    				Messages.getText("principal_components"),
+    				400, 350,
+    				this);
+
+    		PluginServices.getMDIManager().addCentredWindow(windowMainPanel);
+
+    		mainPanel.initialize();
+    	}
+    }
+
+	/**
+	 * Gets the Mapcontrol for the first view found.
+	 * @return
+	 */
+    private MapControl getFirstMapCtrl() {
+    	IWindow[] windowList = PluginServices.getMDIManager().getOrderedWindows();
+    	for (int i = 0; i < windowList.length; i++) {
+    		if(windowList[i] instanceof IView) {
+    			return ((IView)windowList[i]).getMapControl();
+    		}
+    	}
+    	return null;
+    }
+
+    /**
+     * Gets the selected and valid layer
+     * @return
+	 */
+	private FLyrRaster getSelectedLayer() {
+
+		MapControl firstMapCtrl = getFirstMapCtrl();
+        if (firstMapCtrl != null) {
+            FLayer[] lyrList =
+                firstMapCtrl.getMapContext().getLayers().getActives();
+            for (int i = 0; i < lyrList.length; i++) {
+                if (lyrList[i] instanceof FLyrRaster)
+                    return (FLyrRaster) lyrList[i];
+            }
+        }
+		return null;
+	}
+
+    public boolean isEnabled() {
+      FLyrRaster selectedLayer = getSelectedLayer();
+      if (selectedLayer == null)
+        return false;
+
+      if (!(selectedLayer instanceof ILayerState))
+        return false;
+
+      if (!((ILayerState) selectedLayer).isOpen())
+        return false;
+
+      if(((FLyrRaster) selectedLayer).getRender().getFilterList().get("colortable") != null)
+        return false;
+
+      return true;
+    }
+
+    public boolean isVisible() {
+      FLyrRaster selectedLayer = getSelectedLayer();
+      if (selectedLayer == null) {
+        return false;
+      }
+
+      if (!(selectedLayer instanceof IRasterLayerActions))
+        return false;
+
+      return ((IRasterLayerActions) selectedLayer).isActionEnabled(IRasterLayerActions.ENHANCED);
+    }
+
+    void initilizeIcons(){
+		IconThemeHelper.registerIcon(null, "principal-components", this);
+		IconThemeHelper.registerIcon(null, "gvsig-icon", this);
+		IconThemeHelper.registerIcon(null, "gvsig-icon16x16", this);
+    }
+
+	public void actionPerformed(ActionEvent e) {
+		//ACCEPT MAIN PANEL
+		if( e.getSource() == ((DefaultButtonsPanel)windowMainPanel).getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY) ||
+			e.getSource() == ((DefaultButtonsPanel)windowMainPanel).getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT)) {
+			DataProcess task = null;
+			try {
+				task = (DataProcess)mainPanel.getResult();
+			} catch (Exception e1) {
+				RasterSwingLibrary.messageBoxError(Messages.getText("problems_creating_process"), null);
+				return;
+			}
+			task.setActions(this);
+			task.init();
+			task.start();
+		}
+
+		//GENERATE STATISTICS BUTTON
+		if( componentsPanel != null &&
+			PrincipalComponentsSwingLibrary.GENERATE_STATIST == componentsPanel.getComponentIDByObject(e.getSource())) {
+			try {
+				Object[] result = (Object[])componentsPanel.getResult();
+				JPanel statsPanel = PrincipalComponentsSwingLocator.getSwingManager().createStatisticsPanel(
+						stats,
+						(Boolean)result[1],
+						(Boolean)result[2],
+						(Boolean)result[3]);
+				statisticsPanel = new MainWindow(statsPanel,
+	    				Messages.getText("stats"),
+	    				800, 500,
+	    				this,
+	    				true);
+
+	    		PluginServices.getMDIManager().addWindow(statisticsPanel);
+			} catch (Exception e1) {
+				RasterSwingLibrary.messageBoxError(Messages.getText("problems_creating_process"), null);
+				return;
+			}
+		}
+
+		//ACCEPT COMPONENTS PANEL
+		if( windowComponentsPanel != null &&
+			(e.getSource() == ((DefaultButtonsPanel)windowComponentsPanel).getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY) ||
+			e.getSource() == ((DefaultButtonsPanel)windowComponentsPanel).getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT))) {
+			DataProcess task = null;
+			try {
+				Object[] result = (Object[])componentsPanel.getResult();
+				task = (DataProcess)result[0];
+				task.setActions(new ProcessEndActions(windowComponentsPanel, lyr));
+				task.init();
+				task.start();
+			} catch (Exception e1) {
+				RasterSwingLibrary.messageBoxError(Messages.getText("problems_creating_process"), null);
+				return;
+			}
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	public void end(Object param) {
+		HashMap<String, Object> params = (HashMap<String, Object>)param;
+		String processName = (String)params.get(ProcessParamsManagement.PROCESS_NAME);
+
+		//END STATISTICS PROCESS (after accept main dialog)
+		if (processName.equals(PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL)) {
+			PluginServices.getMDIManager().closeWindow(windowMainPanel);
+			stats = (PCStatsDataStructure)params.get("STATS_RESULT");
+			String fileName = (String)params.get("PATH");
+			boolean[] bands = (boolean[])params.get("BANDS");
+			String rois = (String)params.get("ROI_EPSG");
+
+			componentsPanel = PrincipalComponentsSwingLocator.getSwingManager().createPCAComponentsListPanel(
+					lyr.getDataStore(),
+					stats,
+					fileName,
+					bands,
+					rois);
+			componentsPanel.addListener(this);
+			windowComponentsPanel = new MainWindow(componentsPanel.getComponent(),
+    				Messages.getText("principal_components"),
+    				400, 350,
+    				this);
+    		PluginServices.getMDIManager().addCentredWindow(windowComponentsPanel);
+    		componentsPanel.initialize();
+		}
+	}
+
+	public void interrupted() {
+
+	}
+
+	public void updateProgress(int current, int total) {
+
+	}
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/PrincipalComponentsExtension.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/PrincipalComponentsTocMenuEntry.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/PrincipalComponentsTocMenuEntry.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/PrincipalComponentsTocMenuEntry.java	(revision 15568)
@@ -0,0 +1,83 @@
+package org.gvsig.raster.principalcomponents.app;
+
+import javax.swing.Icon;
+
+import org.gvsig.andami.IconThemeHelper;
+import org.gvsig.andami.plugins.Extension;
+import org.gvsig.app.project.documents.view.toc.AbstractTocContextMenuAction;
+import org.gvsig.app.project.documents.view.toc.ITocItem;
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.i18n.Messages;
+import org.gvsig.raster.fmap.layers.FLyrRaster;
+import org.gvsig.raster.fmap.layers.ILayerState;
+import org.gvsig.raster.fmap.layers.IRasterLayerActions;
+import org.gvsig.raster.mainplugin.toolbar.IGenericToolBarMenuItem;
+
+public class PrincipalComponentsTocMenuEntry extends AbstractTocContextMenuAction implements IGenericToolBarMenuItem {
+	static private PrincipalComponentsTocMenuEntry singleton  = null;
+	private static Extension                     extension  = null;
+	
+	
+	public static void setExtension(Extension ext) {
+		extension = ext;
+	}
+
+	private PrincipalComponentsTocMenuEntry() {}
+
+	static public PrincipalComponentsTocMenuEntry getSingleton() {
+		if (singleton == null)
+			singleton = new PrincipalComponentsTocMenuEntry();
+		return singleton;
+	}
+	
+	public String getGroup() {
+		return "Multispectral";
+	}
+
+	public int getGroupOrder() {
+		return 55;
+	}
+
+	public int getOrder() {
+		return 0;
+	}
+
+	public String getText() {
+		return Messages.getText("principalcomponents");
+	}
+
+	public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
+		if ((selectedItems == null) || (selectedItems.length != 1))
+			return false;
+
+		if (!(selectedItems[0] instanceof ILayerState))
+			return false;
+
+		if (!((ILayerState) selectedItems[0]).isOpen())
+			return false;
+		
+		if(((FLyrRaster) selectedItems[0]).getRender().getFilterList().get("colortable") != null)
+			return false;
+		
+		return true;
+	}
+
+	public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
+		if ((selectedItems == null) || (selectedItems.length != 1))
+			return false;
+
+		if (!(selectedItems[0] instanceof IRasterLayerActions))
+			return false;
+		
+		return ((IRasterLayerActions) selectedItems[0]).isActionEnabled(IRasterLayerActions.ENHANCED);
+	}
+
+	public void execute(ITocItem item, FLayer[] selectedItems) {
+		extension.execute("PrincipalComponents");
+	}
+	
+	public Icon getIcon() {
+		return IconThemeHelper.getImageIcon("principal-components");
+	}
+	
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/PrincipalComponentsTocMenuEntry.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/ProcessEndActions.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/ProcessEndActions.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/ProcessEndActions.java	(revision 15568)
@@ -0,0 +1,181 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2011-2012 Prodevelop S.L
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+package org.gvsig.raster.principalcomponents.app;
+
+import java.io.File;
+import java.util.HashMap;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.app.project.documents.view.gui.AbstractViewPanel;
+import org.gvsig.fmap.dal.DALLocator;
+import org.gvsig.fmap.dal.DataManager;
+import org.gvsig.fmap.dal.DataStore;
+import org.gvsig.fmap.dal.coverage.RasterLocator;
+import org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters;
+import org.gvsig.fmap.dal.coverage.util.ProviderServices;
+import org.gvsig.fmap.dal.exception.InitializeException;
+import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
+import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
+import org.gvsig.fmap.mapcontext.MapContextLocator;
+import org.gvsig.fmap.mapcontext.MapContextManager;
+import org.gvsig.fmap.mapcontext.exceptions.LoadLayerException;
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.fmap.mapcontext.layers.FLayers;
+import org.gvsig.raster.algorithm.process.IProcessActions;
+import org.gvsig.raster.algorithm.process.ProcessParamsManagement;
+import org.gvsig.raster.principalcomponents.algorithm.PrincipalComponentsAlgorithmLibrary;
+import org.gvsig.raster.swing.RasterSwingLibrary;
+import org.gvsig.raster.swing.RasterSwingLocator;
+import org.gvsig.raster.util.RasterNotLoadException;
+
+/**
+ * Actions when the process finalizes or is interrupted
+ *
+ * Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class ProcessEndActions implements IProcessActions {
+	private IWindow     window        = null;
+	private FLayer      inputLyr      = null;
+
+	/**
+	 * Constructor
+	 * @param window
+	 * @param lyr
+	 *        The input layer is only used to select the view where the new layer be loaded
+	 */
+	public ProcessEndActions(IWindow window, FLayer lyr) {
+		this.window = window;
+		this.inputLyr = lyr;
+	}
+
+	@SuppressWarnings("unchecked")
+	public void end(Object param) {
+		if(window != null) {
+			PluginServices.getMDIManager().closeWindow(window);
+			window = null;
+		}
+
+		HashMap<String, Object> params = (HashMap<String, Object>)param;
+		String processName = (String)params.get(ProcessParamsManagement.PROCESS_NAME);
+
+		//End the process to get statistics (accept main dialog)
+		if (processName.equals(PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL)) {
+			String fileName = (String)params.get("FILENAME");
+			long milis = (Long)params.get("TIME");
+			processFinalize(fileName, milis);
+			RasterSwingLocator.getSwingManager().showSummaryProcessDialog(fileName, milis);
+		}
+	}
+
+	/**
+	 * Acciones que se realizan al finalizar de crear los recortes de imagen.
+	 * Este método es llamado por el thread TailRasterProcess al finalizar.
+	 */
+	private void processFinalize(String fileName, long milis) {
+		if (!new File(fileName).exists())
+			return;
+
+		if (RasterSwingLibrary.messageBoxYesOrNot("cargar_toc", null)) {
+			try {
+				loadLayer(fileName, fileName.substring(fileName.lastIndexOf(File.separator) + 1));
+			} catch (RasterNotLoadException e) {
+				RasterSwingLibrary.messageBoxError("error_load_layer", e);
+			}
+		}
+	}
+
+	/**
+	 * Gets the view
+	 * @return
+	 */
+	private AbstractViewPanel getView() {
+		IWindow[] w = PluginServices.getMDIManager().getAllWindows();
+		for (int i = 0; i < w.length; i++) {
+			if(w[i] instanceof AbstractViewPanel) {
+				FLayers lyrs = ((AbstractViewPanel)w[i]).getMapControl().getMapContext().getLayers();
+				for (int j = 0; j < lyrs.getLayersCount(); j++) {
+					FLayer lyr = lyrs.getLayer(j);
+					if(inputLyr == lyr) {
+						return ((AbstractViewPanel) w[i]);
+					}
+				}
+			}
+		}
+		return null;
+	}
+
+	@SuppressWarnings("deprecation")
+	private void loadLayer(String fileName, String layerName) throws RasterNotLoadException {
+		if(fileName ==  null)
+			return;
+
+		//Seleccionamos la vista de gvSIG
+		AbstractViewPanel theView = getView();
+
+		theView.getMapControl().getMapContext().beginAtomicEvent();
+
+		try {
+			DataManager dataManager = DALLocator.getDataManager();
+
+			ProviderServices provServ = RasterLocator.getManager().getProviderServices();
+			RasterDataParameters storeParameters = provServ.createParameters(fileName);
+			storeParameters.setURI(new File(fileName).toURI());
+
+			MapContextManager mcm = MapContextLocator.getMapContextManager();
+
+			DataStore dataStore = null;
+			try {
+				dataStore = dataManager.createStore(storeParameters);
+			} catch (ValidateDataParametersException e) {
+				throw new RasterNotLoadException("Error al cargar la capa.");
+			} catch (InitializeException e) {
+				throw new RasterNotLoadException("Error al cargar la capa.");
+			} catch (ProviderNotRegisteredException e) {
+				throw new RasterNotLoadException("Error al cargar la capa.");
+			}
+
+			if(layerName == null) {
+				int endIndex = fileName.lastIndexOf(".");
+				if (endIndex < 0)
+					endIndex = fileName.length();
+
+				layerName = fileName.substring(fileName.lastIndexOf(File.separator) + 1, endIndex);
+			}
+
+			FLayer lyr = mcm.createLayer(layerName, dataStore);
+			theView.getMapControl().getMapContext().getLayers().addLayer(lyr);
+
+		} catch (LoadLayerException e) {
+			throw new RasterNotLoadException("Error al cargar la capa.");
+		}
+		theView.getMapControl().getMapContext().invalidate();
+		theView.getMapControl().getMapContext().endAtomicEvent();
+	}
+
+	public void interrupted() {
+
+    }
+
+	public void updateProgress(int current, int total) {
+
+	}
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/ProcessEndActions.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/ToolboxPCLoader.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/ToolboxPCLoader.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/ToolboxPCLoader.java	(revision 15568)
@@ -0,0 +1,42 @@
+package org.gvsig.raster.principalcomponents.app.toolbox;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Loader for this tool in the toolbox dialog
+ * 
+ * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
+ */
+public class ToolboxPCLoader {
+	private Logger log      = LoggerFactory.getLogger(ToolboxPCLoader.class); 
+	private String errorMsg = "The tool Principal components are not been added in the toolbox";
+
+	public void registerTool() {
+		try {
+			Class<?> c = Class.forName("org.gvsig.raster.principalcomponents.app.toolbox.PCToolboxAction");
+			Constructor<?> constructor = c.getConstructor();
+			constructor.newInstance();
+		} catch (ClassNotFoundException e) {
+			log.info(errorMsg, e);
+		} catch (SecurityException e) {
+			log.info(errorMsg, e);
+		} catch (NoSuchMethodException e) {
+			log.info(errorMsg, e);
+		} catch (IllegalArgumentException e) {
+			log.info(errorMsg, e);
+		} catch (InstantiationException e) {
+			log.info(errorMsg, e);
+		} catch (IllegalAccessException e) {
+			log.info(errorMsg, e);
+		} catch (InvocationTargetException e) {
+			log.info(errorMsg, e);
+		} catch (NoClassDefFoundError e) {
+			log.info("Geoprocess are not installed." + errorMsg, e);
+		}
+	}
+
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/ToolboxPCLoader.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/PCToolboxAction.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/PCToolboxAction.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/PCToolboxAction.java	(revision 15568)
@@ -0,0 +1,79 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+
+
+package org.gvsig.raster.principalcomponents.app.toolbox;
+
+import javax.swing.ImageIcon;
+
+import org.gvsig.andami.IconThemeHelper;
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.geoprocess.sextante.gui.core.GUIFactory;
+import org.gvsig.i18n.Messages;
+import org.gvsig.raster.principalcomponents.app.PrincipalComponentsTocMenuEntry;
+
+/**
+ * Input in Sextante framework for Principal Components tool
+ * 
+ * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
+ */
+public class PCToolboxAction extends AbstractToolboxAction {
+	
+	public PCToolboxAction() {
+		ImageIcon ico = IconThemeHelper.getImageIcon("gvsig-icon16x16");
+		GUIFactory.registerExternalTool(Messages.getText("gv_tools"), ico, this);
+	}
+	
+	@Override
+	public String getGroup() {
+		return Messages.getText("multispectral");
+	}
+	
+	@Override
+	public void execute() {
+		if(!super.loadLayer())
+			return;
+		PrincipalComponentsTocMenuEntry.getSingleton().execute(null, new FLayer[]{lyr}); 
+	}
+
+	@Override
+	public String getName() {
+		return Messages.getText("principalcomponents");
+	}
+
+	public ImageIcon getIcon() {
+		return (ImageIcon)PrincipalComponentsTocMenuEntry.getSingleton().getIcon();
+	}
+	
+	public boolean isPluginInstalled() {
+		try {
+			PrincipalComponentsTocMenuEntry.getSingleton();
+		} catch(Exception e) {
+			return false;
+		} catch(Error e) {
+			return false;
+		}
+		return true;
+	}
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/PCToolboxAction.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/AbstractToolboxAction.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/AbstractToolboxAction.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/AbstractToolboxAction.java	(revision 15568)
@@ -0,0 +1,122 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+
+package org.gvsig.raster.principalcomponents.app.toolbox;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.app.project.documents.view.gui.AbstractViewPanel;
+import org.gvsig.fmap.mapcontext.MapContext;
+import org.gvsig.fmap.mapcontext.layers.FLayers;
+import org.gvsig.geoprocess.lib.sextante.dataObjects.FLyrRasterIRasterLayer;
+import org.gvsig.i18n.Messages;
+import org.gvsig.raster.fmap.layers.FLyrRaster;
+import org.gvsig.raster.swing.RasterSwingLibrary;
+
+import es.unex.sextante.dataObjects.IRasterLayer;
+import es.unex.sextante.gui.core.SextanteGUI;
+import es.unex.sextante.gui.core.ToolboxAction;
+
+/**
+ * Base class for toolBox actions
+ *
+ * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
+ */
+public abstract class AbstractToolboxAction extends ToolboxAction {
+	protected FLyrRaster             lyr = null;
+
+	@Override
+	public String getGroup() {
+		return Messages.getText("group_tools");
+	}
+
+
+	@Override
+	public boolean isActive() {
+		IWindow[] windows = PluginServices.getMDIManager().getAllWindows();
+		for (int i = 0; i < windows.length; i++) {
+			if(windows[i] instanceof AbstractViewPanel) {
+				FLayers lyrs = ((AbstractViewPanel)windows[i]).getMapControl().getMapContext().getLayers();
+				for (int j = 0; j < lyrs.getLayersCount(); j++) {
+					if(lyrs.getLayer(j) instanceof FLyrRaster)
+						return true;
+				}
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * Returns true if the plugin which gives the functionality is installed
+	 * in gvSIG
+	 * @return
+	 */
+	public abstract boolean isPluginInstalled();
+
+	/**
+	 * Loads the raster layer for the tool
+	 * @return
+	 */
+	public boolean loadLayer() {
+		if(!isPluginInstalled()) {
+			RasterSwingLibrary.messageBoxError(Messages.getText("plugin_not_installed"), null);
+			return false;
+		}
+
+		if(!isActive()) {
+			RasterSwingLibrary.messageBoxError(Messages.getText("layer_not_valid"), null);
+			return false;
+		}
+
+		boolean existsRasterButNotActive = false;
+		lyr = null;
+		IWindow[] windows = PluginServices.getMDIManager().getOrderedWindows();
+		MapContext mapCtx = null;
+		for (int i = 0; i < windows.length; i++) {
+			if(windows[i] instanceof AbstractViewPanel) {
+				mapCtx = ((AbstractViewPanel)windows[i]).getMapControl().getMapContext();
+				break;
+			}
+		}
+
+		IRasterLayer[] layers = SextanteGUI.getInputFactory().getRasterLayers();
+		for (int i = 0; i < layers.length; i++) {
+			FLyrRaster l = (FLyrRaster)((FLyrRasterIRasterLayer)layers[i]).getBaseDataObject();
+			existsRasterButNotActive = true;
+			if(l.isActive() && mapCtx == l.getMapContext()) {
+				existsRasterButNotActive = false;
+				lyr = l;
+				break;
+			}
+		}
+
+		if(existsRasterButNotActive) {
+			RasterSwingLibrary.messageBoxError(Messages.getText("raster_layer_not_active"), null);
+			return false;
+		}
+
+		return true;
+	}
+
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox/AbstractToolboxAction.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/toolbox
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/MainWindow.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/MainWindow.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/MainWindow.java	(revision 15568)
@@ -0,0 +1,116 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2011-2012 Prodevelop S.L
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+package org.gvsig.raster.principalcomponents.app;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JComponent;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.WindowInfo;
+import org.gvsig.gui.beans.buttonspanel.ButtonsPanel;
+import org.gvsig.gui.beans.defaultbuttonspanel.DefaultButtonsPanel;
+
+
+/**
+ * Basic frame for a gvSIG <code>IWindow</code> object. This frame adds buttons 
+ * of Cancel, Accept and others.
+ * 
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class MainWindow extends DefaultButtonsPanel implements IWindow, ActionListener {
+    
+    private static final long  serialVersionUID = -4401123724140025094L;
+    private ActionListener     listener         = null;
+    private WindowInfo         info             = null;
+
+    private Object profile = WindowInfo.EDITOR_PROFILE;
+
+    public MainWindow(JComponent panel, String title, int w, int h, ActionListener actionListener) {
+    	this.listener = actionListener;
+    	
+    	setLayout(new BorderLayout());
+		add(panel, BorderLayout.CENTER);
+
+		getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY).setVisible(false);
+        getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT).addActionListener(this);
+        getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL).addActionListener(this);
+        
+        info = new WindowInfo(WindowInfo.PALETTE | WindowInfo.RESIZABLE);
+        info.setTitle(title);
+        info.setWidth(w);
+        info.setHeight(h);
+    }
+    
+    public MainWindow(JComponent panel, String title, int w, int h, ActionListener actionListener, boolean closeButton) {
+    	this.listener = actionListener;
+    	
+    	setLayout(new BorderLayout());
+		add(panel, BorderLayout.CENTER);
+
+		getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY).setVisible(false);
+		
+		if(closeButton) {
+			getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT).setVisible(false);
+			getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL).setVisible(false);
+			getButtonsPanel().addClose();
+			getButtonsPanel().getButton(ButtonsPanel.BUTTON_CLOSE).addActionListener(this);
+		} else {
+			getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT).addActionListener(this);
+			getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL).addActionListener(this);
+		}
+        
+        info = new WindowInfo(WindowInfo.PALETTE | WindowInfo.RESIZABLE);
+        info.setTitle(title);
+        info.setWidth(w);
+        info.setHeight(h);
+    }
+
+    public WindowInfo getWindowInfo() {
+        return info;
+    }
+
+    public Object getWindowProfile() {
+        return profile;
+    }
+
+    public void actionPerformed(ActionEvent e) {
+    	if(e.getSource() == getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT)) {
+    		listener.actionPerformed(e);
+    		PluginServices.getMDIManager().closeWindow(this);
+    	}
+    	
+    	if(e.getSource() == getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY)) {
+    		listener.actionPerformed(e);
+    	}
+    	
+    	if(e.getSource() == getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL)) {
+    		PluginServices.getMDIManager().closeWindow(this);
+    	}
+    	
+    	if(e.getSource() == getButtonsPanel().getButton(ButtonsPanel.BUTTON_CLOSE)) {
+    		PluginServices.getMDIManager().closeWindow(this);
+    	}
+    }
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app/MainWindow.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents/app
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/java
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/config.xml
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/config.xml	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/config.xml	(revision 15568)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<plugin-config>
+	<depends plugin-name="org.gvsig.raster.mainplugin" />
+	
+	<depends plugin-name="org.gvsig.geoprocess.app.mainplugin" optional="true" />
+	<depends plugin-name="org.gvsig.geoprocess.app.algorithm" optional="true" />
+	
+	<resourceBundle name="text"/>
+	<libraries library-dir="lib"/>
+	<extensions>
+		<extension class-name="org.gvsig.raster.principalcomponents.app.PrincipalComponentsExtension"
+			description="" 
+			active="true" 
+			priority="1">
+			
+			<menu text="Layer/multispectral/principal_components"
+				name="PrincipalComponents"/>
+				
+			<action 
+        		name="PrincipalComponents"
+        		label="principal_components"
+        		action-command="PrincipalComponents" 
+        		icon="principal-components"
+        		position="000601600"
+        		accelerator=""
+        	/>        	
+		</extension>	
+	</extensions>
+</plugin-config>

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/config.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/images/action
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/images/cursor
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/images/gvsig-icon16x16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/images/gvsig-icon16x16.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/images/principal-components.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/images/principal-components.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/images/gvsig-icon.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/images/gvsig-icon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/images
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_it.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_it.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text.properties	(revision 15568)
@@ -0,0 +1,7 @@
+principalcomponents=Componentes principales
+layer_not_found=No hay seleccionada una capa válida
+problems_creating_process=No se ha podido crear el proceso
+gv_tools=gvSIG Herramientas
+group_tools=Capas raster
+raster_layer_not_active=Esta herramienta necesita una capa raster seleccionada en la vista
+multispectral=Raster multiespectral
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_zh.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_zh.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_en.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_en.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_en.properties	(revision 15568)
@@ -0,0 +1,7 @@
+principalcomponents=Principal components
+layer_not_found=There is not selected a valid layer
+problems_creating_process=The process has not be created
+gv_tools=gvSIG Tools
+group_tools=Tools for raster layers
+raster_layer_not_active=This tool needs a raster layer selected in the view
+multispectral=Multispectral raster
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_en.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_gl.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_gl.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_ca.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_ca.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_pt.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_pt.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_cs.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_cs.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_fr.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_fr.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_de.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_de.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_eu.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n/text_eu.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app/i18n
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents/app
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources-plugin
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main/resources
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/main
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/test/java/org/gvsig/raster/principalcomponents/app
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/test/java/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/test/java/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/test/java/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/test/java/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/test/java
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src/test
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/src
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/pom.xml
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/pom.xml	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/pom.xml	(revision 15568)
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="ISO-8859-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">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.raster.principalcomponents.app.principalcomponentsclient</artifactId>
+	<packaging>jar</packaging>
+	<name>Principal components</name>
+	<description>Principal components for remote sensing images</description>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.raster.principalcomponents</artifactId>
+		<version>2.2.155</version>
+	</parent>
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.app.common</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.principalcomponents.swing.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.principalcomponents.swing.impl</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.principalcomponents.algorithm</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.principalcomponents.toolbox.algorithm</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.app.mainplugin</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.lib.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.lib.impl</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.fmap</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.control</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.utils</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.ui</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.symbology.lib.impl</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
+			<scope>compile</scope>
+		</dependency>		
+		<dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.mapcontext.impl</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+		<dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.projection.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.projection.cresques.impl</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.compat.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.compat.se</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.impl</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.file.lib</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.spi</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.geometry.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+    <!--
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.geometry.generalpath</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.geometry.operation</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+    -->
+        <dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.geoprocess.lib.sextante</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.geoprocess.app.mainplugin</artifactId>
+			<scope>compile</scope>
+		</dependency>
+	</dependencies>
+	<properties>
+		<gvsig.package.info.state>final</gvsig.package.info.state>
+		<gvsig.package.info.dependencies>required: org.gvsig.raster.tilecache.app -ge 2, required: org.gvsig.raster.mainplugin -ge 2</gvsig.package.info.dependencies>
+		<gvsig.package.info.poolURL>https://devel.gvsig.org/download/projects/Raster/pool</gvsig.package.info.poolURL>
+		<gvsig.package.info.categories>OGC,Remote Services,Raster</gvsig.package.info.categories>
+		<gvsig.package.info.official>true</gvsig.package.info.official>
+	</properties>
+</project>

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.app.principalcomponentsclient
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath
target



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/images/action
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/images/cursor
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/images
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_it.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_it.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text.properties	(revision 15568)
@@ -0,0 +1,5 @@
+layers_dont_intersect=Las capas no intersectan
+roi_not_inside=La zona de estudio no esta contenida en la extensión de las capas
+calc_stats="Calculando estadísticas para PCA"
+error_covarianza_optimize="Error en el covarianceOptimize() : Cálculo de la matriz varianza covarianza de las bandas de un Grid."
+preparing_buffers=Preparando buffers

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_zh.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_zh.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_en.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_en.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_en.properties	(revision 15568)
@@ -0,0 +1,5 @@
+layers_dont_intersect=Layers do not intersect
+roi_not_inside=The region of interest are not inside the extension of the layers
+calc_stats="Calculating statistics to PCA"
+error_covarianza_optimize="Error in covarianceOptimize."
+preparing_buffers=Preparing buffers
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_en.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_gl.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_gl.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_ca.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_ca.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_pt.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_pt.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_cs.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_cs.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_fr.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_fr.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_de.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_de.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_eu.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n/text_eu.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm/i18n
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents/algorithm
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources-plugin
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_it.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_it.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text.properties	(revision 15568)
@@ -0,0 +1,8 @@
+layers_dont_intersect=Las capas no intersectan
+roi_not_inside=La zona de estudio no esta contenida en la extensión de las capas
+calc_stats="Calculando estadísticas para PCA"
+error_covarianza_optimize="Error en el covarianceOptimize() : Cálculo de la matriz varianza covarianza de las bandas de un Grid."
+preparing_buffers=Preparando buffers
+writting_in_buffer=Escribiendo en buffer de salida
+processing_pc=Procesando Componentes Principales
+principal_components=Componentes Principales

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_zh.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_zh.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_en.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_en.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_en.properties	(revision 15568)
@@ -0,0 +1,8 @@
+layers_dont_intersect=Layers do not intersect
+roi_not_inside=The region of interest are not inside the extension of the layers
+calc_stats="Calculating statistics to PCA"
+error_covarianza_optimize="Error in covarianceOptimize."
+preparing_buffers=Preparing buffers
+writting_in_buffer=Writing in the output buffer
+processing_pc=Processing Principal Components
+principal_components=Principal Components
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_en.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_gl.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_gl.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_ca.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_ca.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_pt.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_pt.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_cs.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_cs.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_fr.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_fr.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_de.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_de.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_eu.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n/text_eu.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm/i18n
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents/algorithm
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 15568)
@@ -0,0 +1 @@
+org.gvsig.raster.principalcomponents.algorithm.PrincipalComponentsAlgorithmLibrary

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/META-INF/services
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources/META-INF
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/resources
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsException.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsException.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsException.java	(revision 15568)
@@ -0,0 +1,19 @@
+package org.gvsig.raster.principalcomponents.algorithm;
+
+import org.gvsig.raster.algorithm.process.ProcessException;
+
+
+/**
+ * This exception is thrown if happen problems processing data with this algorithm.
+ */
+public class PrincipalComponentsException extends ProcessException {
+	private static final long serialVersionUID = -3022090543908771484L;
+	
+	public PrincipalComponentsException(String msg){
+		super(msg);
+	}
+	
+	public PrincipalComponentsException(String msg, Throwable e){
+		super(msg, e);
+	}
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsException.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsProcess.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsProcess.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsProcess.java	(revision 15568)
@@ -0,0 +1,207 @@
+package org.gvsig.raster.principalcomponents.algorithm;
+
+import java.awt.geom.Rectangle2D;
+import java.util.List;
+
+import org.gvsig.fmap.dal.coverage.RasterLocator;
+import org.gvsig.fmap.dal.coverage.dataset.Buffer;
+import org.gvsig.fmap.dal.coverage.datastruct.Extent;
+import org.gvsig.fmap.dal.coverage.datastruct.NoData;
+import org.gvsig.fmap.dal.coverage.exception.CloneException;
+import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
+import org.gvsig.fmap.dal.coverage.exception.ROIException;
+import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
+import org.gvsig.i18n.Messages;
+import org.gvsig.raster.algorithm.process.DataProcess;
+import org.gvsig.raster.algorithm.process.ProcessException;
+import org.gvsig.raster.roi.ROI;
+
+import Jama.Matrix;
+
+/**
+ * PCA Process 
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class PrincipalComponentsProcess extends DataProcess {
+	public static String          RASTER_STORE       = "RASTER_STORE";
+	public static String          PATH               = "PATH";
+	public static String          FILENAME           = "FILENAME";
+	
+	public static final String    BUFFERS            = "BUFFERS";
+	public static final String    SELECTEDPCS        = "SELECTEDPCS";
+	public static final String    PCSTATISTICS       = "PCSTATISTICS";
+	public static final String    GRAPHIC_DATA       = "GRAPHIC_DATA";
+	public static final String    BANDS              = "BANDS";
+	
+	private RasterDataStore       store              = null;
+	private String                filename           = null;
+	
+	private PCStatsDataStructure  pcStatistics       = null;
+	private List<ROI>             rois               = null;
+	private Extent                extentResult       = null;
+	private boolean[]             selectedPCs        = null;
+	private boolean[]             bands              = null;
+	private int[]                 selectedBands      = null;
+	private NoData                nodata             = null;
+	
+	
+	public static void registerParameters() {
+		registerInputParameter(RASTER_STORE, RasterDataStore.class, PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL);
+		registerInputParameter(PCSTATISTICS, PCStatsDataStructure.class, PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL);
+		registerInputParameter(PATH, String.class, PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL);
+		registerInputParameter(SELECTEDPCS, Boolean[].class, PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL);
+		registerInputParameter(BANDS, Boolean[].class, PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL);
+		
+		registerOutputParameter(FILENAME, String.class, PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL);
+		registerOutputParameter(GRAPHIC_DATA, Double[].class, PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL);
+	}
+	
+	public void init() {
+		store = getParam(RASTER_STORE) != null ? (RasterDataStore)getParam(RASTER_STORE) : null;
+		filename = getStringParam(PATH);
+		selectedPCs = (boolean[]) getParam(SELECTEDPCS);
+		bands = (boolean[]) getParam(BANDS);
+		pcStatistics = (PCStatsDataStructure) getParam(PCSTATISTICS);
+	}
+
+	public void process() throws ProcessInterruptedException, ProcessException {
+		insertLineLog(Messages.getText("processing_pc"));
+		try {
+			if (store == null)
+				throw new PrincipalComponentsException(Messages.getText("need_a_input"));
+			
+			if(getROIEPSG() != null) {
+				try {
+					rois = store.getRois(getROIEPSG());
+				} catch (ROIException e2) {
+					logger.error(Messages.getText("error_getting_rois"), e2);
+				}
+			}
+			
+			try {
+				store = ((RasterDataStore)store).cloneDataStore();
+			} catch (CloneException e) {
+				new PrincipalComponentsException("Error cloning the input DataStore", e);
+			}
+			
+			extentResult = getExtentResult(getOutputWindow(), rois, store);
+			Rectangle2D sourcePxBBox = getSourcePxBox(extentResult, store);
+			
+			double cellSize = store.getCellSize();
+			
+			nodata = RasterLocator.getManager().getDataStructFactory().createDefaultNoData(1, Buffer.TYPE_DOUBLE);
+			double nodataValue = nodata.getValue().doubleValue();
+			
+			int numberOfOutputBands = getNumberOfOutputBands(selectedPCs);
+			
+			Buffer outputBuffer = createOutputBuffer((int)sourcePxBBox.getWidth(), (int)sourcePxBBox.getHeight(), numberOfOutputBands);
+			Buffer sourceBuffer = createSourceBuffer(store, sourcePxBBox, bands);
+			
+			// Matriz Autovectores
+			// Colocamos la matriz en el orden correcto:
+			/*
+			 * b3 b2 b1 c1 c2 c3 | | | | Cambio de orden de columnas de la matriz
+			 * transpuesta ___ \ / V c1 c2 c3 b1 b2 b3
+			 */
+			Matrix autovect = changeColumns((pcStatistics.getAutoVectorsMatrix().transpose()));
+			insertLineLog(Messages.getText("writting_in_buffer"));
+			
+			for (int i = 0; i < sourceBuffer.getHeight(); i++) {
+				for (int j = 0; j < sourceBuffer.getWidth(); j++) {
+
+					if (isInsideOfROI(j, i, rois, extentResult)) {
+						for (int iComponent = 0; iComponent < sourceBuffer.getBandCount(); iComponent++) {
+							if(selectedPCs[iComponent]) {
+								double valor = 0;
+								for (int iBand = 0; iBand < sourceBuffer.getBandCount(); iBand++) {
+									valor += getData(sourceBuffer, i, j, iBand) * autovect.get(iBand, iComponent);
+								}
+								int indexBandResult = indexBandResult(selectedPCs, iComponent);
+								outputBuffer.setElem(i, j, indexBandResult, (double) valor);
+							}
+						}
+						
+					} else {
+						for (int iBand = 0; iBand < outputBuffer.getBandCount(); iBand++) {
+							outputBuffer.setElem(i, j, iBand, nodataValue);
+						}
+					}
+				}
+				updatePercent((int)(i * 100 / sourcePxBBox.getHeight()), 100);
+			}
+			
+            super.exportRaster(filename, outputBuffer, cellSize, extentResult.getULX(),
+                extentResult.getULY(), nodata, store.getProjection());
+			
+			addOutputValue(FILENAME, filename);
+			addOutputValue(GRAPHIC_DATA, filename);
+		} catch (PrincipalComponentsException e) {
+			if (incrementableTask != null)
+				incrementableTask.processFinalize();
+			messageBoxError("principal_components", null, e);
+		}
+	}
+	
+	
+	/**
+	 * Gets the number of the selected bands
+	 * @param bandsPCs
+	 * @return
+	 */
+	private int getNumberOfOutputBands(boolean[] b) {
+		int bandCount = 0;
+        for (int i = 0; i < b.length; i++) {
+			if(b[i])
+				bandCount++;
+		}
+        return bandCount;
+	}
+	
+	/**
+	 * Gets the band index of the result buffer 
+	 * @param bandsPCs
+	 * @param indexIn
+	 * @return
+	 */
+	private int indexBandResult(boolean[] bandsPCs, int indexIn) {
+		if(selectedBands == null) {
+			selectedBands = new int[bandsPCs.length];
+			int indexOut = 0;
+			for (int i = 0; i < bandsPCs.length; i++) {
+				if(bandsPCs[i]) {
+					selectedBands[i] = indexOut;
+					indexOut++;
+				} else
+					selectedBands[i] = -1;
+			}
+		}
+		return selectedBands[indexIn];
+	}
+	
+	public double getScaleFactor(Buffer buffer, int sizePreview) {
+		double x = 0, y = 0;
+		x = 200.0 / buffer.getWidth();
+		y = 200.0 / buffer.getHeight();
+
+		if (x > y) {
+			return y;
+		} else {
+			return x;
+		}
+	}
+	
+	private Matrix changeColumns(Matrix m) {
+		Matrix result = new Matrix(m.getRowDimension(), m.getColumnDimension());
+		int k = m.getColumnDimension() - 1;
+		for (int i = 0; i < m.getRowDimension(); i++) {
+			for (int j = 0; j < m.getColumnDimension(); j++) {
+				result.set(i, j, m.get(k - i, j));
+			}
+		}
+		return result;
+	}
+	
+	public String getTitle() {
+		return Messages.getText("...");
+	}
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsProcess.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCStatsDataStructure.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCStatsDataStructure.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCStatsDataStructure.java	(revision 15568)
@@ -0,0 +1,89 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2007-2008 Infrastructures and Transports Department
+ * of the Valencian Government (CIT)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+
+package org.gvsig.raster.principalcomponents.algorithm;
+
+import Jama.Matrix;
+
+/**
+ * Represents statistics needed to generate a transformated raster by PCA method
+ * @author seriznue
+ */
+public class PCStatsDataStructure {
+	
+	private Matrix 			autoVectorsMatrix 	= null;
+	private Matrix 			coVarMatrix 		= null;
+	private double			autovalues[]		= null;
+	private double[][]      maxminmean			= null;
+	
+	/**
+	 * Constructor.
+	 * 
+	 * @param autoVectorsMatrix Matrix of autovectors.
+	 * @param autovalues Array of eigenvalues.
+	 * @param coVarMatrix Matrix of Covariance.
+	 */
+	public PCStatsDataStructure(Matrix autoVectorsMatrix, double[] autovalues, Matrix coVarMatrix) {
+		this.autoVectorsMatrix = autoVectorsMatrix;
+		this.autovalues = autovalues;
+		this.coVarMatrix = coVarMatrix;
+	}
+
+
+	public Matrix getAutoVectorsMatrix() {
+		return autoVectorsMatrix;
+	}
+
+
+	public void setAutoVectorsMatrix(Matrix autoVectorsMatrix) {
+		this.autoVectorsMatrix = autoVectorsMatrix;
+	}
+	
+	public double[][] getMaxMinMean() {
+		return maxminmean;
+	}
+
+	public void setMaxMinMean(double[][] maxminmean) {
+		this.maxminmean = maxminmean;
+	}
+
+
+	public Matrix getCoVarMatrix() {
+		return coVarMatrix;
+	}
+
+
+	public void setCoVarMatrix(Matrix coVarMatrix) {
+		this.coVarMatrix = coVarMatrix;
+	}
+
+
+	public double[] getAutovalues() {
+		return autovalues;
+	}
+
+
+	public void setAutovalors(double[] autovalors) {
+		this.autovalues = autovalors;
+	}
+	
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCStatsDataStructure.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCAStatisticsProcess.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCAStatisticsProcess.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCAStatisticsProcess.java	(revision 15568)
@@ -0,0 +1,326 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2007-2008 Infrastructures and Transports Department
+ * of the Valencian Government (CIT)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+package org.gvsig.raster.principalcomponents.algorithm;
+
+
+import java.awt.geom.Rectangle2D;
+import java.util.List;
+
+import org.cresques.Messages;
+import org.gvsig.fmap.dal.coverage.RasterLocator;
+import org.gvsig.fmap.dal.coverage.dataset.Buffer;
+import org.gvsig.fmap.dal.coverage.datastruct.Extent;
+import org.gvsig.fmap.dal.coverage.datastruct.NoData;
+import org.gvsig.fmap.dal.coverage.exception.CloneException;
+import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
+import org.gvsig.fmap.dal.coverage.exception.ROIException;
+import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
+import org.gvsig.fmap.dal.exception.CloseException;
+import org.gvsig.raster.algorithm.process.DataProcess;
+import org.gvsig.raster.algorithm.process.ProcessException;
+import org.gvsig.raster.roi.ROI;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import Jama.EigenvalueDecomposition;
+import Jama.Matrix;
+
+/**
+ * This Process computes a <code>PCStatsDataStructure</code> Object from bands of two images in a study zone.
+ * <code>PCStatsDataStructure</code> is a object that contains the needed statistics to Principal Components decomposition
+ * of images.
+ * 
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ * 
+ */
+public class PCAStatisticsProcess extends DataProcess {
+    public static final String 	 LAYER_ZONA_ESTUDIO 			= "LAYER_ZONA_ESTUDIO";
+    public static String         BANDS 							= "BANDS";
+    public static String         PATH 							= "PATH";
+    public static String         ROI_EPSG                       = "ROI_EPSG";
+    public static String         WINDOW                         = "WINDOW";
+    
+	public static String         RASTER_STORE                   = "RASTER_STORE";
+	public static String         STATS_RESULT                   = "STATS_RESULT";
+	
+    private boolean[] 			 bands 							= null;
+    private RasterDataStore      store 							= null;
+    private Buffer               buffer 						= null;
+    private Buffer               roiBuffer 						= null;
+    private boolean              roiBufferCalculated            = false;
+	private double				 autovalors[]					= null;
+	private Matrix 				 coVarMatrix					= null;
+	private Matrix 				 autoVectorMatrix				= null;
+	private double 				 coVar[][] 						= null;
+	private static Logger 		 logger    		   				= LoggerFactory.getLogger(PCAStatisticsProcess.class.getName());
+    private double[][] 			 maxminmean						= null;
+    private	Extent 				 extentResult					= null; 
+    private String               path                           = null;
+    private List<ROI>            rois                           = null;
+    
+    private boolean[]            statsByBandCalculated          = null;
+	 
+	public static void registerParameters() {
+		registerInputParameter(RASTER_STORE, RasterDataStore.class, PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+		registerInputParameter(BANDS, Boolean[].class, PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+		registerInputParameter(PATH, String.class, PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+		
+		registerOutputParameter(STATS_RESULT, PCStatsDataStructure.class, PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+		registerOutputParameter(PATH, String.class, PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+		registerOutputParameter(BANDS, Boolean[].class, PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+		registerOutputParameter(ROI_EPSG, String.class, PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+	}
+	
+	@Override
+	public void init() {
+		store = (RasterDataStore)getParam(RASTER_STORE);
+		bands = (boolean[])getParam(BANDS);
+		path = getStringParam(PATH);
+	}
+	
+	public double[] getAutoValors() {
+		return  autovalors;
+	}
+	
+	/**
+	 * @return Autovectors Matrix
+	 */
+	public Matrix getAutoVectorMatrix() {
+		return autoVectorMatrix;
+	}
+	
+	/**
+	 * @return Varianze-covarianze Matrix
+	 */
+	public Matrix getcoVarMatrix() {
+		return coVarMatrix;
+	}
+	
+	public boolean isInsideOfROI(int x, int y, List<ROI> rois, Extent extentResult) {
+		if(roiBufferCalculated)
+			return (roiBuffer.getElemByte(y, x, 0) == 1);
+		if(roiBuffer == null)
+			roiBuffer = createOutputBuffer(buffer.getWidth(), buffer.getHeight(), 1, Buffer.TYPE_BYTE);
+		boolean a = super.isInsideOfROI(x, y, rois, extentResult);
+		roiBuffer.setElem(y, x, 0, a ? (byte)1: (byte)0);
+		return a;
+	}
+	
+	/**
+	 * Calculate the Varianze-covarianze Matrix from bands of a Grid
+	 * @throws InterruptedException 
+	 * @throws ProcessInterruptedException 
+	 */
+	private double[][] covarianceOptimize() throws InterruptedException, ProcessInterruptedException {
+        //NoData
+        NoData nd = RasterLocator.getManager().getDataStructFactory().createDefaultNoData(1, Buffer.TYPE_DOUBLE);
+        
+        double nodata = nd.getValue().doubleValue();
+		double dSum = 0;
+		int iValues = 0;
+		double[][] coV = new double[buffer.getBandCount()][buffer.getBandCount()];
+		
+		double valorBandai = 0, valorBandaj = 0;
+		maxminmean = new double[buffer.getBandCount()][4];
+		statsByBandCalculated = new boolean[buffer.getBandCount()];
+		for (int i = 0; i < statsByBandCalculated.length; i++) {
+			statsByBandCalculated[i] = false;
+		}
+		
+		loadDataStoreStatistics();
+		
+		int percent = 0;
+		int maxCounter = 0;
+		for (int i = buffer.getBandCount(); i >= 0; i--) {
+			maxCounter += i;
+		}
+		
+		for (int i = 0; i < buffer.getBandCount(); i++) {
+			double meanBufferToOperatei = getMeanValue(i, buffer);
+			for (int j = i; j < buffer.getBandCount(); j++) {
+				iValues = 0;
+				dSum = 0;
+				double meanBufferToOperatej = getMeanValue(j, buffer);
+
+				for (int row = 0; row < buffer.getHeight(); row++) {
+					for (int col = 0; col < buffer.getWidth(); col++) {
+						if(isInsideOfROI(col, row, rois, extentResult)) {
+							valorBandai = getData(buffer, row, col, i) - meanBufferToOperatei;
+							valorBandaj = getData(buffer, row, col, j) - meanBufferToOperatej;
+
+							dSum += valorBandai * valorBandaj;
+							iValues++;
+						}
+					}
+					updatePercent(percent, maxCounter);
+				}
+				roiBufferCalculated = true;
+				
+				// Asigno el valor a la matriz 
+				if (iValues > 1)
+					coV[i][j] = dSum / (double)(iValues);	
+				else
+					coV[i][j] = nodata;
+				
+				percent ++;
+				updatePercent(percent, maxCounter);
+			}
+
+		}
+		
+		for (int i = 0; i < buffer.getBandCount(); i++) {
+			for (int j = 0; j < buffer.getBandCount(); j++) {
+				if(j < i)
+					coV[i][j] = coV[j][i];
+			}
+		}
+
+		return coV;
+	}
+	
+//	 * Devuelve la media de los valores de los pixeles de un buffer incluidos en la zona de estudio
+	/**
+	 * Get the mean of values of pixels from a buffer in a study zone
+	 * @param bufferToOperate
+	 * @return
+	 */
+	private double getMeanValue(int band, Buffer bufferToOperate) {
+		if(statsByBandCalculated[band])
+			return maxminmean[band][2];
+		
+		double mean = 0;
+		double variance = 0;
+		double min = Double.MAX_VALUE;
+		double max = Double.MIN_VALUE;
+		int valuesCounter = 0;
+		for (int j = 0; j < bufferToOperate.getHeight(); j++) {
+			for (int i = 0; i < bufferToOperate.getWidth(); i++) {
+				if (isInsideOfROI(i, j, rois, extentResult)) {
+					double value = getData(bufferToOperate, j, i, band);
+					
+					if(value < min) {
+						min = value;
+					}
+
+					if(value > max) {
+						max = value;
+					}
+					
+					mean += value;
+					variance += value * value;
+					valuesCounter++;
+				}
+			}
+
+		}
+		roiBufferCalculated = true;
+		mean = (mean / valuesCounter);
+		variance = variance / (double) valuesCounter - mean * mean;
+		maxminmean[band][0] = max;
+		maxminmean[band][1] = min;
+		maxminmean[band][2] = mean;
+		maxminmean[band][3] = variance;
+		statsByBandCalculated[band] = true;
+		return mean;
+	}
+	
+	private void loadDataStoreStatistics() {
+		if(isAnalizedEntireLayer(getOutputWindow(), rois, store) && store.getStatistics().isCalculated()) {
+			double[] max = store.getStatistics().getMax();
+			double[] min = store.getStatistics().getMin();
+			double[] mean = store.getStatistics().getMean();
+			double[] variance = store.getStatistics().getVariance();
+			int iBand = 0;
+			for (int i = 0; i < mean.length; i++) {
+				if(bands[i]) {
+					maxminmean[iBand][0] = max[i];
+					maxminmean[iBand][1] = min[i];
+					maxminmean[iBand][2] = mean[i];
+					maxminmean[iBand][3] = variance[i];
+					statsByBandCalculated[iBand] = true;
+					iBand ++;
+				}
+			}
+		}
+	}
+
+	@Override
+	public void process() throws ProcessInterruptedException, ProcessException {
+		insertLineLog(Messages.getText("preparing_buffers"));
+
+		if(getROIEPSG() != null) {
+			try {
+				rois = store.getRois(getROIEPSG());
+			} catch (ROIException e2) {
+				logger.error(Messages.getText("error_getting_rois"), e2);
+			}
+		}
+			
+		try {
+			store = store.cloneDataStore();
+		} catch (CloneException e1) {
+			throw new ProcessException("Error cloning the sources", e1);
+		}
+			
+		//Calculo de datos de entrada
+		extentResult = getExtentResult(getOutputWindow(), rois, store);
+		Rectangle2D sourcePxBBox = getSourcePxBox(extentResult, store);
+
+		buffer = createSourceBuffer(store, sourcePxBBox, bands);
+
+		insertLineLog(Messages.getText("calc_stats"));
+
+		try {
+			coVar = covarianceOptimize();
+		} catch (InterruptedException e) {
+			logger.error(Messages.getText("error_covarianza_optimize"), e);
+		}
+		// Calculo de autovectores:
+		coVarMatrix = new Matrix(coVar);
+		EigenvalueDecomposition eigenvalueDecomp = new EigenvalueDecomposition(coVarMatrix); 
+		//Autovectores
+		autoVectorMatrix = eigenvalueDecomp.getV();
+
+		// Autovalores
+		autovalors = eigenvalueDecomp.getRealEigenvalues();	
+
+		PCStatsDataStructure resultStatistics = new PCStatsDataStructure(autoVectorMatrix, autovalors, coVarMatrix);
+		resultStatistics.setMaxMinMean(maxminmean);
+		
+		roiBuffer.dispose();
+		//Object[] dataROI = new Object[]{vectROI, (int)shift[0].getX(), (int)shift[0].getY()};	
+		addOutputValue(STATS_RESULT, resultStatistics);
+		addOutputValue(PATH, path);
+		addOutputValue(BANDS, bands);
+		addOutputValue(ROI_EPSG, getROIEPSG());
+		try {
+			store.close();
+		} catch (CloseException e) {
+			throw new ProcessException("Error closing the sources", e);
+		}
+	}
+ 
+
+	public String getTitle() {
+		return null;
+	}
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCAStatisticsProcess.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCStatistics.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCStatistics.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCStatistics.java	(revision 15568)
@@ -0,0 +1,80 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2007-2008 Infrastructures and Transports Department
+ * of the Valencian Government (CIT)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+
+package org.gvsig.raster.principalcomponents.algorithm;
+
+import Jama.Matrix;
+
+/**
+ * Represents statistics needed to generate a transformated raster by PCA method
+ * @author seriznue
+ */
+public class PCStatistics {
+	
+	private Matrix 			autoVectorsMatrix 	= null;
+	private Matrix 			coVarMatrix 		= null;
+	private double			autovalues[]		= null;
+	
+	/**
+	 * Constructor.
+	 * 
+	 * @param autoVectorsMatrix Matrix of autovectors.
+	 * @param autovalues Array of eigenvalues.
+	 * @param coVarMatrix Matrix of Covariance.
+	 */
+	public PCStatistics(Matrix autoVectorsMatrix, double[] autovalues, Matrix coVarMatrix) {
+		this.autoVectorsMatrix = autoVectorsMatrix;
+		this.autovalues = autovalues;
+		this.coVarMatrix = coVarMatrix;
+	}
+
+
+	public Matrix getAutoVectorsMatrix() {
+		return autoVectorsMatrix;
+	}
+
+
+	public void setAutoVectorsMatrix(Matrix autoVectorsMatrix) {
+		this.autoVectorsMatrix = autoVectorsMatrix;
+	}
+
+
+	public Matrix getCoVarMatrix() {
+		return coVarMatrix;
+	}
+
+
+	public void setCoVarMatrix(Matrix coVarMatrix) {
+		this.coVarMatrix = coVarMatrix;
+	}
+
+
+	public double[] getAutovalues() {
+		return autovalues;
+	}
+
+
+	public void setAutovalors(double[] autovalors) {
+		this.autovalues = autovalors;
+	}
+	
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PCStatistics.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsAlgorithmLibrary.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsAlgorithmLibrary.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsAlgorithmLibrary.java	(revision 15568)
@@ -0,0 +1,38 @@
+package org.gvsig.raster.principalcomponents.algorithm;
+
+import org.gvsig.i18n.Messages;
+import org.gvsig.raster.algorithm.RasterBaseAlgorithmLibrary;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+
+/**
+ * Initialization of PrincipalComponentsAlgorithmLibrary library.
+ */
+public class PrincipalComponentsAlgorithmLibrary extends AbstractLibrary {
+	public static final String         PC_PROCESS_LABEL         = "PrincipalComponentsProcess";
+	public static final String         PC_STATS_PROCESS_LABEL   = "StatsPrincipalComponentsProcess";
+	
+    @Override
+    protected void doInitialize() throws LibraryException {
+        // Nothing to do
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+    	//Registers the process and its parameters
+    	RasterBaseAlgorithmLibrary.register(PC_STATS_PROCESS_LABEL, PCAStatisticsProcess.class);
+    	PCAStatisticsProcess.registerParameters();
+    	RasterBaseAlgorithmLibrary.register(PC_PROCESS_LABEL, PrincipalComponentsProcess.class);
+    	PrincipalComponentsProcess.registerParameters();
+    	
+        Messages.addResourceFamily(
+            "org.gvsig.raster.principalcomponents.algorithm", 
+            PrincipalComponentsAlgorithmLibrary.class.getClassLoader(), 
+            PrincipalComponentsAlgorithmLibrary.class.getClass().getName());
+        //registerGeoProcess(new RasterReprojectAlgorithmLibrary());
+        
+        Messages.addResourceFamily("org.gvsig.raster.principalcomponents.algorithm.i18n.text",
+        		PrincipalComponentsAlgorithmLibrary.class.getClassLoader(),
+        		PrincipalComponentsAlgorithmLibrary.class.getClass().getName()); 
+    }
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm/PrincipalComponentsAlgorithmLibrary.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents/algorithm
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main/java
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/main
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/test/java/org/gvsig/raster/principalcomponents/algorithm
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/test/java/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/test/java/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/test/java/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/test/java/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/test/java
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src/test
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/src
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/pom.xml
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/pom.xml	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/pom.xml	(revision 15568)
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="ISO-8859-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">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.raster.principalcomponents.algorithm</artifactId>
+	<packaging>jar</packaging>
+	<name>org.gvsig.raster.principalcomponents.algorithm</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.raster.principalcomponents</artifactId>
+		<version>2.2.155</version>
+	</parent>
+    <dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.algorithm</artifactId>
+            <scope>compile</scope>
+		</dependency>
+		<dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.i18n</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.tools.lib</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.ui</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.lib.api</artifactId>
+            <scope>compile</scope>
+		</dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.raster.lib.impl</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.raster.fmap</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.geometry.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+    <!--
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.geometry.generalpath</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+    -->
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.compat.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.compat.se</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.projection.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.projection.cresques.impl</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.impl</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.file.lib</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.spi</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+			<groupId>org.gvsig.legacy</groupId>
+			<artifactId>jama</artifactId>
+			<scope>compile</scope>
+		</dependency>
+	</dependencies>
+</project>

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.algorithm
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath
target



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/test/java/org/gvsig/raster/principalcomponents/swing
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/test/java/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/test/java/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/test/java/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/test/java/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/test/java
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/test
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 15568)
@@ -0,0 +1 @@
+org.gvsig.raster.principalcomponents.swing.PrincipalComponentsSwingLibrary
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/resources/META-INF/services
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/resources/META-INF
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/resources
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingManager.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingManager.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingManager.java	(revision 15568)
@@ -0,0 +1,36 @@
+package org.gvsig.raster.principalcomponents.swing;
+
+import javax.swing.JPanel;
+
+import org.gvsig.raster.algorithm.BasicAPISwingPanel;
+import org.gvsig.raster.principalcomponents.algorithm.PCStatsDataStructure;
+
+/**
+ * This class is responsible of the management of the library's business logic.
+ * It is the library's main entry point, and provides all the services to manage
+ * {@link PrincipalComponentsService}s.
+ * 
+ * @see PrincipalComponentsService
+ * @author gvSIG team
+ * @version $Id$
+ */
+public interface PrincipalComponentsSwingManager {
+	public BasicAPISwingPanel createPCAMainPanel(
+			Object inputStore, 
+			String layerName, 
+			int bandList, 
+			String roisEPSG);
+	
+	public BasicAPISwingPanel createPCAComponentsListPanel(
+			Object inputStore, 
+			PCStatsDataStructure stats, 
+			String fileName, 
+			boolean[] bands, 
+			String roisEPSG);
+	
+	public JPanel createStatisticsPanel(
+			PCStatsDataStructure pcStatistics, 
+			boolean bandStatistics, 
+			boolean covar, 
+			boolean autovect);
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingManager.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingLocator.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingLocator.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingLocator.java	(revision 15568)
@@ -0,0 +1,71 @@
+package org.gvsig.raster.principalcomponents.swing;
+
+import org.gvsig.tools.locator.BaseLocator;
+
+/**
+ * This locator is the entry point for the Raster library, providing
+ * access to all Raster services through the {@link PrincipalComponentsManager}
+ * .
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class PrincipalComponentsSwingLocator extends BaseLocator {
+    /**
+     * Validation swing manager name.
+     */
+    public static final String SWING_MANAGER_NAME =
+        "PrincipalComponents.swing.manager";
+
+    /**
+     * Validation swing manager description.
+     */
+    public static final String SWING_MANAGER_DESCRIPTION =
+        "PrincipalComponents UIManager";
+
+    private static final String LOCATOR_NAME = "PrincipalComponents.swing.locator";
+
+    /**
+     * Unique instance.
+     */
+    private static final PrincipalComponentsSwingLocator INSTANCE =
+        new PrincipalComponentsSwingLocator();
+
+    /**
+     * Return the singleton instance.
+     * 
+     * @return the singleton instance
+     */
+    public static PrincipalComponentsSwingLocator getInstance() {
+        return INSTANCE;
+    }
+
+    /**
+     * Return the Locator's name
+     * 
+     * @return a String with the Locator's name
+     */
+    public final String getLocatorName() {
+        return LOCATOR_NAME;
+    }
+
+    /**
+     * Registers the Class implementing the PersistenceManager interface.
+     * 
+     * @param clazz
+     *            implementing the PersistenceManager interface
+     */
+    public static void registerSwingManager(
+        Class<? extends PrincipalComponentsSwingManager> clazz) {
+        getInstance().register(SWING_MANAGER_NAME, SWING_MANAGER_DESCRIPTION, clazz);
+    }
+
+    /**
+     * Gets the instance of the {@link ScriptingUIManager} registered.
+     * 
+     * @return {@link ScriptingUIManager}
+     */
+    public static PrincipalComponentsSwingManager getSwingManager() {
+        return (PrincipalComponentsSwingManager) getInstance().get(SWING_MANAGER_NAME);
+    }
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingLocator.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingLibrary.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingLibrary.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingLibrary.java	(revision 15568)
@@ -0,0 +1,31 @@
+package org.gvsig.raster.principalcomponents.swing;
+
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+import org.gvsig.tools.locator.ReferenceNotRegisteredException;
+
+/**
+ * Library for API initialization and configuration.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class PrincipalComponentsSwingLibrary extends AbstractLibrary {
+	public static int 	GENERATE_STATIST 	   = 1026;
+	
+    @Override
+    protected void doInitialize() throws LibraryException {
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+        // Validate there is any implementation registered.
+    	PrincipalComponentsSwingManager manager = PrincipalComponentsSwingLocator.getSwingManager();
+        if (manager == null) {
+            throw new ReferenceNotRegisteredException(
+            		PrincipalComponentsSwingLocator.SWING_MANAGER_NAME, 
+            		PrincipalComponentsSwingLocator.getInstance());
+        }
+    }
+
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing/PrincipalComponentsSwingLibrary.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents/swing
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main/java
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src/main
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/src
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/pom.xml
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/pom.xml	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/pom.xml	(revision 15568)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-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">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.raster.principalcomponents.swing.api</artifactId>
+	<packaging>jar</packaging>
+	<name>org.gvsig.raster.principalcomponents.swing.api</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.raster.principalcomponents.swing</artifactId>
+		<version>2.2.155</version>
+	</parent>
+	<dependencies>
+		<dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.tools.lib</artifactId>      
+            <scope>compile</scope>
+        </dependency> 
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.mapcontext.impl</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.i18n</artifactId>
+            <scope>compile</scope>
+        </dependency>
+	</dependencies>
+</project>

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.api
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath
target


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/pom.xml
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/pom.xml	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/pom.xml	(revision 15568)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="ISO-8859-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/xsd/maven-4.0.0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.raster.principalcomponents.swing</artifactId>
+	<packaging>pom</packaging>
+	<name>org.gvsig.raster.principalcomponents.swing</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.raster.principalcomponents</artifactId>
+		<version>2.2.155</version>
+	</parent>
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.andami</artifactId>
+                        <scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.ui</artifactId>
+                        <scope>compile</scope>
+		</dependency>
+               <dependency>
+                  <groupId>org.gvsig</groupId>
+                  <artifactId>org.gvsig.raster.algorithm</artifactId>           
+                  <scope>compile</scope>
+              </dependency>
+               <dependency>
+                  <groupId>org.gvsig</groupId>
+                  <artifactId>org.gvsig.raster.swing.api</artifactId>           
+                  <scope>compile</scope>
+              </dependency>
+               <dependency>
+                  <groupId>org.gvsig</groupId>
+                  <artifactId>org.gvsig.raster.swing.impl</artifactId>           
+                  <scope>runtime</scope>
+              </dependency>
+              <dependency>
+			      <groupId>org.gvsig</groupId>
+			      <artifactId>org.gvsig.raster.principalcomponents.algorithm</artifactId>
+			      <scope>compile</scope>
+		      </dependency>
+	</dependencies>
+	<modules>
+		<module>org.gvsig.raster.principalcomponents.swing.api</module>
+		<module>org.gvsig.raster.principalcomponents.swing.impl</module>
+	</modules>
+</project>
+

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/test/java/org/gvsig/raster/principalcomponents/swing/impl
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/test/java/org/gvsig/raster/principalcomponents/swing
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/test/java/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/test/java/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/test/java/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/test/java/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/test/java
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/test
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 15568)
@@ -0,0 +1 @@
+org.gvsig.raster.principalcomponents.swing.impl.PrincipalComponentsDefaultSwingImplLibrary
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/META-INF/services
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/META-INF
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text.properties	(revision 15568)
@@ -0,0 +1,14 @@
+components_selection=Selección de componentes
+autovalor=Autovalor
+by_band=Por banda
+var_covar=Matriz varianza-covarianza
+autovector=Autovector
+generate=Generar
+stats=Estadisticas
+use_rois=Usar regiones de interés de la capa
+band=Banda
+max=Máximo
+min=Mínimo
+mean=Media
+variance=Varianza
+standard_deviation=Desviación estándar
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_zh.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_zh.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_en.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_en.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_en.properties	(revision 15568)
@@ -0,0 +1,14 @@
+components_selection=Component selection
+autovalor=Eigenvalue
+by_band=By band
+var_covar=Matrix variance-covariance
+autovector=Eigenvector
+generate=Generate
+stats=Statistics
+use_rois=Use regions of interest of the layer
+band=Band
+max=Maximum
+min=Minimum
+mean=Mean
+variance=Variance
+standard_deviation=Standard deviation
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_en.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_gl.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_gl.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_ca.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_ca.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_pt.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_pt.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_cs.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_cs.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_fr.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_fr.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_de.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_de.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_eu.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_eu.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_it.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_it.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl/i18n
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing/impl
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents/swing
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/PrincipalComponentsDefaultSwingImplLibrary.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/PrincipalComponentsDefaultSwingImplLibrary.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/PrincipalComponentsDefaultSwingImplLibrary.java	(revision 15568)
@@ -0,0 +1,46 @@
+package org.gvsig.raster.principalcomponents.swing.impl;
+
+import java.util.Locale;
+
+import org.gvsig.i18n.Messages;
+import org.gvsig.raster.principalcomponents.swing.PrincipalComponentsSwingLocator;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+
+/**
+ * Library for default implementation initialization and configuration.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class PrincipalComponentsDefaultSwingImplLibrary extends AbstractLibrary {
+	
+	public PrincipalComponentsDefaultSwingImplLibrary() {
+		registerAsImplementationOf(PrincipalComponentsDefaultSwingImplLibrary.class);
+	}
+
+	protected void doInitialize() throws LibraryException {
+        //Register the default GeometryManager
+		PrincipalComponentsSwingLocator.registerSwingManager(DefaultPrincipalComponentsSwingManager.class);
+		
+		if (!Messages.hasLocales()) {
+            Messages.addLocale(Locale.getDefault());
+        }
+        
+        Messages.addResourceFamily("org.gvsig.raster.principalcomponents.swing.impl.i18n.text",
+        		PrincipalComponentsDefaultSwingImplLibrary.class.getClassLoader(),
+        		PrincipalComponentsDefaultSwingImplLibrary.class.getClass().getName()); 
+        
+        registerIcons();
+	}
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+    	
+    }
+    
+    private void registerIcons() {
+		//IconThemeHelper.registerIcon(null, "...", this);
+    }
+
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/PrincipalComponentsDefaultSwingImplLibrary.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/stats/StatsPanelImpl.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/stats/StatsPanelImpl.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/stats/StatsPanelImpl.java	(revision 15568)
@@ -0,0 +1,118 @@
+package org.gvsig.raster.principalcomponents.swing.impl.stats;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import javax.swing.BorderFactory;
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextPane;
+
+import org.cresques.Messages;
+
+import org.gvsig.raster.principalcomponents.algorithm.PCStatsDataStructure;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class StatsPanelImpl extends JPanel {
+	private static final long serialVersionUID = 1L;
+	private JButton   save    = null;
+	//private JButton   accept  = null;
+	private JTextPane text    = null;
+	private String    html    = null;
+	private Logger    log     = LoggerFactory.getLogger(StatsPanelImpl.class);
+	
+	I18nManager i18n = ToolsLocator.getI18nManager();
+
+	public StatsPanelImpl(PCStatsDataStructure pcStatistics, boolean bandStatistics, boolean covar, boolean autovect) {
+		ReportStatisticsProcessPCA process = new ReportStatisticsProcessPCA(pcStatistics, bandStatistics, covar, autovect);
+		html = process.getHtml();
+		this.setLayout(new BorderLayout());
+		//this.setPreferredSize(new Dimension(650, 400));
+		this.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
+
+		text = new JTextPane();
+		text.setContentType("text/html");
+		text.setEditable(false);
+		text.setText(html);
+		text.setCaretPosition(0);
+
+		JScrollPane scrollPane = new JScrollPane(text);
+		//scrollPane.setPreferredSize(new Dimension(500, 220));
+
+		/*accept = new JButton("Accept");
+		accept.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				setVisible(false); // Provoca el cierre de la ventana
+			}
+		});*/
+
+		save = new JButton(i18n.getTranslation("save"));
+		save.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent evt) {
+				saveActionPerformed(evt);
+			}
+		});
+
+		JPanel buttonsPanel = new JPanel();
+		buttonsPanel.setLayout(new BoxLayout(buttonsPanel,
+				BoxLayout.LINE_AXIS));
+		buttonsPanel.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
+
+		buttonsPanel.add(Box.createHorizontalGlue());
+		buttonsPanel.add(save);
+		//buttonsPanel.add(accept);
+
+		this.add(scrollPane, BorderLayout.CENTER);
+		this.add(buttonsPanel, BorderLayout.SOUTH);
+		this.setVisible(true);
+	}
+
+	private void saveActionPerformed(ActionEvent evt) {
+		FileWriter reporte = null;
+		PrintWriter escritura = null;
+		JFileChooser chooser = new JFileChooser();
+		chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
+		int returnVal = chooser.showSaveDialog(getParent());
+		if(returnVal == JFileChooser.APPROVE_OPTION) {
+			if(chooser.getSelectedFile() != null){
+				try {
+					File file = chooser.getSelectedFile();
+					if(file.isDirectory()) {
+						if(file.canWrite())
+							file = new File(file.getAbsolutePath() + File.separator + "Report.html");
+						else
+							JOptionPane.showMessageDialog(getParent(), Messages.getText("folder_not_writable"));
+					} else {
+						if(!file.getAbsolutePath().endsWith("html") && !file.getAbsolutePath().endsWith("htm"))
+							file = new File(file.getAbsolutePath() + ".html");
+					}
+						
+					reporte = new FileWriter(file);
+				} catch (IOException e1) {
+					log.error("Error writing the statistics", e1);
+				}
+
+				escritura = new PrintWriter(reporte);
+				escritura.println(html);
+				escritura.close();
+			}
+
+		}
+	}
+
+}
+

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/stats/StatsPanelImpl.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/stats/ReportStatisticsProcessPCA.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/stats/ReportStatisticsProcessPCA.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/stats/ReportStatisticsProcessPCA.java	(revision 15568)
@@ -0,0 +1,161 @@
+package org.gvsig.raster.principalcomponents.swing.impl.stats;
+
+import java.text.DecimalFormat;
+
+import org.cresques.Messages;
+import org.gvsig.raster.principalcomponents.algorithm.PCStatsDataStructure;
+
+import Jama.Matrix;
+
+//* Clase encargada de crear un String html con los datos estadísticos resultantes del 
+//* PCAStatisticsTask (stadisticas por banda, matriz varianza-covarianza y autovalores)
+/**
+ * 
+ * This class create a String with result statistics data of PCAStatisticsTask
+ * @author seriznue
+ */
+public class ReportStatisticsProcessPCA  {
+	private boolean             rowColor          = true;
+	private final String        bgColor0          = "\"#FEEDD6\""; // light salmon
+	private final String        bgColor1          = "\"#EAEAEA\""; // light grey
+//	private final String        bgColor3          = "\"#FBFFE1\""; // light yellow
+	private final String        bgColor4          = "\"#D6D6D6\""; // Gris
+	private final String        bgColorBody       = "\"#FFFFFF\""; // white
+	
+	public DecimalFormat df 		              = null;
+	public String html				              = "";
+	
+	private PCStatsDataStructure pcStatistics 	  = null;
+	private boolean bandStatistics		          = false;
+	private boolean covar 				          = false;
+	private boolean autovect 			          = false;
+
+	public ReportStatisticsProcessPCA(PCStatsDataStructure pcStatistics, boolean bandStatistics, boolean covar, boolean autovect) {
+		super();
+		this.pcStatistics = pcStatistics;
+		this.bandStatistics = bandStatistics;
+		this.covar = covar;
+		this.autovect = autovect;
+		init();
+	}
+
+	public String getHtml() {
+		return html;
+	}
+
+	public void init() {
+		df = new DecimalFormat("0.00000"); 	
+
+		html ="<blockquote>" +
+				"<blockquote>" +
+				"<html><body>" +
+				"		<body bgcolor=" + bgColorBody + " topmargin=\"0\" marginheight=\"0\">" +
+				"<font size=3><h1><center>Informe estadístico de Componentes Principales</center></h1>";
+
+
+
+		if(bandStatistics) {
+			html += " <font face=\"Arial\" size=\"2\"><B>Estadísticas de bandas : </B><br>"; 
+			CreateBandStatistic(pcStatistics.getMaxMinMean());
+		}
+		if(covar) {
+			html += " <font face=\"Arial\" size=\"2\"><B>Matriz varianza-covarianza : </B><br>"; 
+			ExportarMatriz(pcStatistics.getCoVarMatrix(), "Band");
+		}
+
+		if (autovect) {
+			//Hay que modificar el orden (Traspuesta y cambio de orden de columnas)
+			//Colocamos la matriz en el orden correcto: 
+			/*
+			 * 		b3	b2	b1
+			 * c1
+			 * c2
+			 * c3
+			 * 			| |
+			 *			| |  Cambio de orden de columnas de la matriz transpuesta
+			 *			___
+			 *			\ /
+			 *			 V
+			 * 		c1	c2	c3
+			 * b1
+			 * b2
+			 * b3
+			 * */
+			html += " <font face=\"Arial\" size=\"2\"><B>Matriz de autovectores : </B><br>"; 
+			ExportarMatriz(ChangeColumns((pcStatistics.getAutoVectorsMatrix().transpose())), "Component");
+
+		}
+
+		this.close();
+	}
+
+	private Matrix ChangeColumns(Matrix m) {
+		Matrix result = new Matrix(m.getRowDimension(), m.getColumnDimension());
+		int k = m.getColumnDimension() - 1;
+		for(int i = 0; i < m.getRowDimension(); i++) {
+			for(int j=0; j<m.getColumnDimension(); j++) {
+				result.set(i, j, m.get(k - i, j));
+			}
+		}
+		return result;
+	}
+
+	private void ExportarMatriz(Matrix Matrix, String nameColumns) {
+		//Creamos tabla
+		html = html + "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\"\">"+ 
+				"<TR bgcolor=" + bgColor4 +" ALIGN=center>";
+		html += "<TH > <font face=\"Arial\" size=\"3\"><N></TH>";
+		//Crear primera fila: cabecera de tabla
+		for(int i = 0; i < Matrix.getColumnDimension(); i++) {
+			html += "<TH > <font face=\"Arial\" size=\"3\" b> "+ nameColumns + " " + (i + 1) + "</b></TH>";
+		}
+		html += "</TR>"; 
+		//Rellenamos tabla
+		for(int i = 0; i < Matrix.getRowDimension(); i++) {
+			html = html + "<TR ><TD bgcolor=" + bgColor4 +"><center><font face=\"Arial\" size=\"3\">" +"<b>Band "+(i+1)+" </b></TD>";
+			String color = getColor();
+			for(int j = 0; j < Matrix.getColumnDimension(); j++){
+				html += "<TD bgcolor=" + color +"><center><font face=\"Arial\" size=\"3\">"+df.format(Matrix.get(i, j))+" </TD>";
+			}
+			html += "</TR>";
+		}
+
+		//Cerrar tabla
+		html = html + "</TABLE><br><br>";
+	}	
+
+	private void CreateBandStatistic(double[][] maxminmean) {
+		//Creamos tabla
+		html = html + "<table  width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\"\">" + 
+				"<TR bgcolor=" + bgColor4 +" ALIGN=center>";
+		//Crear primera fila: cabecera de tabla
+		html += "<TH><font face=\"Arial\" size=\"3\">" + Messages.getText("band") + "</TH>" +
+				"<TH> <font face=\"Arial\" size=\"3\"><N>" + Messages.getText("max") + "</TH>" +
+				"<TH><font face=\"Arial\" size=\"3\">" + Messages.getText("min") + "</TH>" +
+				"<TH><font face=\"Arial\" size=\"3\">" + Messages.getText("mean") + "</TH>" +
+				"<TH><font face=\"Arial\" size=\"3\">" + Messages.getText("variance") + "</TH>" +
+				"<TH><font face=\"Arial\" size=\"3\">" + Messages.getText("standard_deviation") + "</N></TH></TR>"; 
+
+		//Recorremos filas de datos
+		for (int i = 0; i < maxminmean.length; i++) {
+			html = html + "<TR bgcolor=" + getColor() + "><TD><center><font face=\"Arial\" size=\"3\">" +"band " + (i + 1) + " </TD>" +
+					"<TD><center><font face=\"Arial\" size=\"3\">" + df.format(maxminmean[i][0]) + " </TD>" +
+					"<TD><center><font face=\"Arial\" size=\"3\">" + df.format(maxminmean[i][1]) + " </TD>" +
+					"<TD><center><font face=\"Arial\" size=\"3\">" + df.format(maxminmean[i][2]) + " </TD>" +
+					"<TD><center><font face=\"Arial\" size=\"3\">" + df.format(maxminmean[i][3]) + " </TD>" +
+					"<TD><center><font face=\"Arial\" size=\"3\">" + df.format(Math.sqrt(maxminmean[i][3])) + " </TD></TR>";			
+		}
+		//Cerrar tabla
+		html = html + "</TABLE><br><br>";
+	}
+
+	public void close() {
+		html = html + "</BODY></HTML>";
+	}
+
+	private String getColor() {
+		String color = (rowColor ? bgColor0 : bgColor1);
+		rowColor = !rowColor;
+		return color;
+	}
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/stats/ReportStatisticsProcessPCA.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/stats
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/DefaultPrincipalComponentsSwingManager.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/DefaultPrincipalComponentsSwingManager.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/DefaultPrincipalComponentsSwingManager.java	(revision 15568)
@@ -0,0 +1,54 @@
+package org.gvsig.raster.principalcomponents.swing.impl;
+
+import javax.swing.JPanel;
+
+import org.gvsig.raster.algorithm.BasicAPISwingPanel;
+import org.gvsig.raster.principalcomponents.algorithm.PCStatsDataStructure;
+import org.gvsig.raster.principalcomponents.swing.PrincipalComponentsSwingManager;
+import org.gvsig.raster.principalcomponents.swing.impl.main.PCAComponentsListPanelImpl;
+import org.gvsig.raster.principalcomponents.swing.impl.main.PCAMainPanelImpl;
+import org.gvsig.raster.principalcomponents.swing.impl.stats.StatsPanelImpl;
+
+/**
+ * Default {@link PrincipalComponentsManager} implementation.
+ * 
+ * @author gvSIG Team
+ * @version $Id$
+ */
+public class DefaultPrincipalComponentsSwingManager implements PrincipalComponentsSwingManager {
+	private static DefaultPrincipalComponentsSwingManager   internalInstance  = new DefaultPrincipalComponentsSwingManager();
+	//private static final Logger                       logger            = LoggerFactory.getLogger(DefaultPrincipalComponentsSwingManager.class);
+	
+	/**
+	 * Gets an instance of this object for internal use.
+	 * @return DefaultPrincipalComponentsManager
+	 */
+	public static DefaultPrincipalComponentsSwingManager getInstance() {
+		return internalInstance;
+	}
+
+	public BasicAPISwingPanel createPCAMainPanel(
+			Object inputStore, 
+			String layerName, 
+			int bandList, 
+			String roisEPSG) {
+		return new PCAMainPanelImpl(inputStore, layerName, bandList, roisEPSG);
+	}
+
+	public BasicAPISwingPanel createPCAComponentsListPanel(
+			Object inputStore, 
+			PCStatsDataStructure stats, 
+			String fileName, 
+			boolean[] bands, 
+			String roisEPSG) {
+		return new PCAComponentsListPanelImpl(inputStore, stats, fileName, bands, roisEPSG);
+	}
+	
+	public JPanel createStatisticsPanel(
+			PCStatsDataStructure pcStatistics, 
+			boolean bandStatistics, 
+			boolean covar, 
+			boolean autovect) {
+		return new StatsPanelImpl(pcStatistics, bandStatistics, covar, autovect);
+	}
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/DefaultPrincipalComponentsSwingManager.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/BandTableModel.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/BandTableModel.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/BandTableModel.java	(revision 15568)
@@ -0,0 +1,71 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2013 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.raster.principalcomponents.swing.impl.main;
+
+import javax.swing.table.DefaultTableModel;
+
+import org.gvsig.raster.swing.pagedtable.TableModel;
+/**
+ * Model for the band table
+ * 
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class BandTableModel extends DefaultTableModel implements TableModel {
+	final private static long serialVersionUID = -3370601314380922368L;
+	private int               nColumns         = 0;
+
+	public BandTableModel(String[] columnNames) {
+		super(new Object[0][columnNames.length], columnNames);
+		this.nColumns = columnNames.length;
+	}
+
+	public Class<?> getColumnClass(int c) {
+		return String.class;
+	}
+
+	public void setValueAt(Object value, int row, int col) {
+		super.setValueAt(value, row, col);
+	}
+
+	public void addNew() {
+		Object[] line = new Object[nColumns];
+		line[0] = new Boolean(true);
+		for (int i = 0; i < nColumns; i++)
+			line[i] = new String("");
+		super.addRow(line);
+	}
+
+	public Object[] getNewLine() {
+		Object[] o = new Object[nColumns];
+		o[0] = new Boolean(true);
+		for (int i = 1; i < nColumns; i++)
+			o[i] = "";
+		return o;
+	}
+
+	public void addNewLine() {
+		// TODO Auto-generated method stub
+		
+	}
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/BandTableModel.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/ComponentsTableModel.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/ComponentsTableModel.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/ComponentsTableModel.java	(revision 15568)
@@ -0,0 +1,71 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2013 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.raster.principalcomponents.swing.impl.main;
+
+import javax.swing.table.DefaultTableModel;
+
+import org.gvsig.raster.swing.pagedtable.TableModel;
+/**
+ * Model for the list of components
+ * 
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class ComponentsTableModel extends DefaultTableModel implements TableModel {
+	final private static long serialVersionUID = -3370601314380922368L;
+	private int               nColumns         = 0;
+
+	public ComponentsTableModel(String[] columnNames) {
+		super(new Object[0][columnNames.length], columnNames);
+		this.nColumns = columnNames.length;
+	}
+
+	public Class<?> getColumnClass(int c) {
+		return String.class;
+	}
+
+	public void setValueAt(Object value, int row, int col) {
+		super.setValueAt(value, row, col);
+	}
+
+	public void addNew() {
+		Object[] line = new Object[nColumns];
+		line[0] = new Boolean(true);
+		for (int i = 0; i < nColumns; i++)
+			line[i] = new String("");
+		super.addRow(line);
+	}
+
+	public Object[] getNewLine() {
+		Object[] o = new Object[nColumns];
+		o[0] = new Boolean(true);
+		for (int i = 1; i < nColumns; i++)
+			o[i] = "";
+		return o;
+	}
+
+	public void addNewLine() {
+		// TODO Auto-generated method stub
+		
+	}
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/ComponentsTableModel.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PCAComponentsListPanelImpl.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PCAComponentsListPanelImpl.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PCAComponentsListPanelImpl.java	(revision 15568)
@@ -0,0 +1,269 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+*
+* Copyright (C) 2007-2008 Infrastructures and Transports Department
+* of the Valencian Government (CIT)
+* 
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+* 
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+* 
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+* MA  02110-1301, USA.
+* 
+*/
+package org.gvsig.raster.principalcomponents.swing.impl.main;
+
+import java.awt.BorderLayout;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.event.ActionListener;
+import java.util.EventListener;
+import java.util.List;
+
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+
+import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
+import org.gvsig.i18n.Messages;
+import org.gvsig.raster.algorithm.BasicAPISwingPanel;
+import org.gvsig.raster.algorithm.RasterBaseAlgorithmLibrary;
+import org.gvsig.raster.algorithm.process.DataProcess;
+import org.gvsig.raster.algorithm.process.ProcessException;
+import org.gvsig.raster.principalcomponents.algorithm.PCStatsDataStructure;
+import org.gvsig.raster.principalcomponents.algorithm.PrincipalComponentsAlgorithmLibrary;
+import org.gvsig.raster.principalcomponents.swing.PrincipalComponentsSwingLibrary;
+import org.gvsig.raster.swing.RasterSwingLocator;
+import org.gvsig.raster.swing.RasterSwingManager;
+import org.gvsig.raster.swing.pagedtable.ModelLoader;
+import org.gvsig.raster.swing.pagedtable.PagedTable;
+
+/**
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class PCAComponentsListPanelImpl extends JPanel implements BasicAPISwingPanel {
+	private static final long               serialVersionUID         = 1L;
+	private Object                          inputStore               = null;
+	private PagedTable                      table                    = null;
+	private JRadioButton                    byBandRadioButton        = null;
+	private JRadioButton                    varCovarRadioButton      = null;
+	private JRadioButton                    autovectorRadioButton    = null;
+	private JButton                         generateButton           = null;
+	private PCStatsDataStructure            stats                    = null;
+	private String                          fileName                 = null;
+	private boolean[]                       bands                    = null;
+	private String                          roisEPSG                 = null;
+	
+	public PCAComponentsListPanelImpl(
+			Object inputStore, 
+			PCStatsDataStructure stats, 
+			String fileName, 
+			boolean[] bands, 
+			String roisEPSG) {
+		this.inputStore = inputStore;
+		this.stats = stats;
+		this.fileName = fileName;
+		this.bands = bands;
+		this.roisEPSG = roisEPSG;
+		init();
+	}
+	
+	private void init() {
+		setLayout(new GridBagLayout());
+		
+		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;
+		gridBagConstraints1.weightx = 1;
+		gridBagConstraints1.weighty = 1;
+		gridBagConstraints1.insets = new java.awt.Insets(0, 0, 0, 0);
+		gridBagConstraints1.gridx = 0;
+		gridBagConstraints1.gridy = 0;
+		add(getInputsPanel(), gridBagConstraints1);
+		
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
+		gridBagConstraints1.weighty = 0;
+		gridBagConstraints1.gridy = 1;
+		add(getPanelStatistics(), gridBagConstraints1);
+	}
+	
+	public JPanel getPanelStatistics() {
+		JPanel p = new JPanel();
+		p.setBorder(BorderFactory.createTitledBorder(Messages.getText("statistics")));
+		p.setLayout(new GridBagLayout());
+		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
+		gridBagConstraints1.weightx = 1;
+		gridBagConstraints1.insets = new java.awt.Insets(0, 0, 2, 0);
+		gridBagConstraints1.gridwidth = 2;
+		
+		gridBagConstraints1.gridx = 0;
+		gridBagConstraints1.gridy = 0;
+		p.add(getByBandRadioButton(), gridBagConstraints1);
+		
+		gridBagConstraints1.gridwidth = 1;
+		gridBagConstraints1.gridy = 1;
+		p.add(getVarCovarRadioButton(), gridBagConstraints1);
+		
+		gridBagConstraints1.gridwidth = 2;
+		gridBagConstraints1.gridy = 2;
+		p.add(getAutovectorRadioButton(), gridBagConstraints1);
+		
+		gridBagConstraints1.gridwidth = 1;
+		gridBagConstraints1.gridx = 1;
+		gridBagConstraints1.gridy = 1;
+		p.add(getGenerateButton(), gridBagConstraints1);
+		
+		return p;
+	}
+	
+	public JRadioButton getByBandRadioButton() {
+		if(byBandRadioButton == null) {
+			byBandRadioButton = new JRadioButton(Messages.getText("by_band"));
+			byBandRadioButton.setSelected(true);
+		}
+		return byBandRadioButton;
+	}
+	
+	public JRadioButton getVarCovarRadioButton() {
+		if(varCovarRadioButton == null)
+			varCovarRadioButton = new JRadioButton(Messages.getText("var_covar"));
+		return varCovarRadioButton;
+	}
+	
+	public JRadioButton getAutovectorRadioButton() {
+		if(autovectorRadioButton == null)
+			autovectorRadioButton = new JRadioButton(Messages.getText("autovector"));
+		return autovectorRadioButton;
+	}
+	
+	public JButton getGenerateButton() {
+		if(generateButton == null)
+			generateButton = new JButton(Messages.getText("generate"));
+		return generateButton;
+	}
+	
+	private JPanel getInputsPanel() {
+		JPanel p = new JPanel();
+		p.setBorder(BorderFactory.createTitledBorder(Messages.getText("components_selection")));
+		p.setLayout(new BorderLayout());
+		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;
+		gridBagConstraints1.weightx = 1;
+		gridBagConstraints1.weighty = 1;
+		gridBagConstraints1.insets = new java.awt.Insets(2, 2, 2, 2);
+		
+		gridBagConstraints1.gridx = 0;
+		gridBagConstraints1.gridy = 0;
+		p.add(getPagedTable().getComponent(), BorderLayout.CENTER);
+		
+		return p;
+	}
+	
+	public JComponent getComponent() {
+		return this;
+	}
+	
+	public PagedTable getPagedTable() {
+		if(table == null) {
+			RasterSwingManager manager = RasterSwingLocator.getSwingManager();
+			String[] columnNames = {
+					"", 
+					"C",
+					Messages.getText("autovalor"),
+					"%"};
+			int[] columnSizes = {30, 35, -1, -1};
+
+			BandTableModel model = new BandTableModel(columnNames);
+			ModelLoader loader = manager.createModelLoader(model);
+			CheckBoxColumnRenderer render = new CheckBoxColumnRenderer(null);
+			CheckBoxColumnEditor editor = new CheckBoxColumnEditor();
+			loader.setRenderForColumn(0, render);
+			loader.setCellEditorForColumn(0, editor);
+			loader.setColumnNames(columnNames);
+			loader.setColumnWidths(columnSizes);
+			
+			table = manager.createPagedTable(loader);
+			table.showControllerTable(false);
+			table.showMoveRowsControls(false);
+		}
+		return table;
+	}
+
+	public Object getResult() throws ProcessException {
+		DataProcess task = RasterBaseAlgorithmLibrary.getManager().createRasterTask(PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL);
+		List<String> params = task.getRasterTaskInputParameters(PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL);
+		for (int i = 0; i < params.size(); i++) {
+			String paramName = params.get(i);
+			Class<?> paramType = task.getParameterTypeByProcess(PrincipalComponentsAlgorithmLibrary.PC_PROCESS_LABEL, paramName);
+			if(paramType == RasterDataStore.class) {
+				task.addParam(paramName, (RasterDataStore)inputStore);
+			}
+			if(paramName.equals("SELECTEDPCS") && paramType == Boolean[].class) {
+				boolean[] components = new boolean[getPagedTable().getRowCount()];
+				for (int j = 0; j < getPagedTable().getRowCount(); j++) {
+					Object obj = getPagedTable().getValueAt(j, 0);
+					if(obj instanceof Boolean)
+						components[j] = ((Boolean)obj).booleanValue();
+				}
+				task.addParam(paramName, components);
+			}
+			
+			if(paramName.equals("BANDS") && paramType == Boolean[].class) {
+				task.addParam(paramName, bands);
+			}
+			
+			if(paramType == PCStatsDataStructure.class) {
+				task.addParam(paramName, stats);
+			}
+			
+			if(paramType == String.class) {
+				task.addParam(paramName, fileName);
+			}
+			
+			if(paramName.equals("ROI_EPSG")) {
+				task.addParam(paramName, roisEPSG);
+			}
+		}
+		return new Object[]{task, getByBandRadioButton().isSelected(), getVarCovarRadioButton().isSelected(), getAutovectorRadioButton().isSelected()};
+	}
+
+
+	public void initialize() {
+		double acumulado = 0;
+		for (int i = 0; i < stats.getAutovalues().length; i++)
+			acumulado += stats.getAutovalues()[i];
+		int autova[] = new int[stats.getAutovalues().length];
+		int cont = stats.getAutovalues().length - 1;
+		for (int i = 0; i < stats.getAutovalues().length; i++) {
+			autova[i] = cont;
+			cont--;
+		}		
+		
+		for (int i = stats.getAutovalues().length-1; i >= 0; i--) {
+			getPagedTable().addRow(new Object[] {true, 
+				autova[i],
+				stats.getAutovalues()[i],
+				stats.getAutovalues()[i] / acumulado});
+		}
+	}
+
+	public int getComponentIDByObject(Object obj) {
+		return obj == getGenerateButton() ? PrincipalComponentsSwingLibrary.GENERATE_STATIST : -1;
+	}
+
+	public void addListener(EventListener listener) {
+		if(listener instanceof ActionListener)
+			getGenerateButton().addActionListener((ActionListener)listener);
+	}
+
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PCAComponentsListPanelImpl.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PrincipalComponentsPanelImpl.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PrincipalComponentsPanelImpl.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PrincipalComponentsPanelImpl.java	(revision 15568)
@@ -0,0 +1,198 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+*
+* Copyright (C) 2007-2008 Infrastructures and Transports Department
+* of the Valencian Government (CIT)
+* 
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+* 
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+* 
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+* MA  02110-1301, USA.
+* 
+*/
+package org.gvsig.raster.principalcomponents.swing.impl.main;
+
+import java.awt.BorderLayout;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.io.File;
+import java.util.EventListener;
+import java.util.List;
+
+import javax.swing.BorderFactory;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
+import org.gvsig.i18n.Messages;
+import org.gvsig.raster.algorithm.BasicAPISwingPanel;
+import org.gvsig.raster.algorithm.RasterBaseAlgorithmLibrary;
+import org.gvsig.raster.algorithm.process.DataProcess;
+import org.gvsig.raster.algorithm.process.ProcessException;
+import org.gvsig.raster.principalcomponents.algorithm.PrincipalComponentsAlgorithmLibrary;
+import org.gvsig.raster.swing.RasterSwingLocator;
+import org.gvsig.raster.swing.RasterSwingManager;
+import org.gvsig.raster.swing.newlayer.CreateNewLayerPanel;
+import org.gvsig.raster.swing.pagedtable.ModelLoader;
+import org.gvsig.raster.swing.pagedtable.PagedTable;
+
+/**
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class PrincipalComponentsPanelImpl extends JPanel implements BasicAPISwingPanel {
+	private static final long               serialVersionUID     = 1L;
+	private String                          layerName            = null;
+	private CreateNewLayerPanel             newLayerPanel        = null;
+	private Object                          inputStore           = null;
+	private PagedTable                      table                = null;
+	private int                             bandList             = 0;
+	
+	public PrincipalComponentsPanelImpl(Object inputStore, String layerName, int bandList) {
+		this.inputStore = inputStore;
+		this.layerName = layerName;
+		this.bandList = bandList;
+		init();
+	}
+	
+	private void init() {
+		setLayout(new GridBagLayout());
+		
+		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
+		gridBagConstraints1.weightx = 1;
+		gridBagConstraints1.insets = new java.awt.Insets(0, 0, 0, 0);
+		gridBagConstraints1.gridx = 0;
+		gridBagConstraints1.gridy = 0;
+		add(getLayerPanel(), gridBagConstraints1);
+		
+		gridBagConstraints1.gridy = 2;
+		add((JComponent)getCreateNewLayerPanel(), gridBagConstraints1);
+		
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;
+		gridBagConstraints1.gridy = 1;
+		gridBagConstraints1.weighty = 1;
+		add(getInputsPanel(), gridBagConstraints1);
+	}
+	
+	private JPanel getLayerPanel() {
+		JPanel p = new JPanel();
+		p.setBorder(BorderFactory.createTitledBorder(Messages.getText("layer")));
+		p.setLayout(new GridBagLayout());
+		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
+		gridBagConstraints1.weightx = 1;
+		gridBagConstraints1.insets = new java.awt.Insets(0, 0, 2, 0);
+		
+		gridBagConstraints1.gridx = 0;
+		gridBagConstraints1.gridy = 0;
+		p.add(new JLabel(layerName), gridBagConstraints1);
+		
+		return p;
+	}
+	
+	private JPanel getInputsPanel() {
+		JPanel p = new JPanel();
+		p.setBorder(BorderFactory.createTitledBorder(Messages.getText("bands")));
+		p.setLayout(new BorderLayout());
+		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;
+		gridBagConstraints1.weightx = 1;
+		gridBagConstraints1.weighty = 1;
+		gridBagConstraints1.insets = new java.awt.Insets(2, 2, 2, 2);
+		
+		gridBagConstraints1.gridx = 0;
+		gridBagConstraints1.gridy = 0;
+		p.add(getPagedTable().getComponent(), BorderLayout.CENTER);
+		
+		return p;
+	}
+	
+	public JComponent getComponent() {
+		return this;
+	}
+	
+	public PagedTable getPagedTable() {
+		if(table == null) {
+			RasterSwingManager manager = RasterSwingLocator.getSwingManager();
+			String[] columnNames = {
+					"", 
+					Messages.getText("bands")};
+			int[] columnSizes = {30, -1};
+
+			BandTableModel model = new BandTableModel(columnNames);
+			ModelLoader loader = manager.createModelLoader(model);
+			CheckBoxColumnRenderer render = new CheckBoxColumnRenderer(null);
+			CheckBoxColumnEditor editor = new CheckBoxColumnEditor();
+			loader.setRenderForColumn(0, render);
+			loader.setCellEditorForColumn(0, editor);
+			loader.setColumnNames(columnNames);
+			loader.setColumnWidths(columnSizes);
+			
+			table = manager.createPagedTable(loader);
+			table.showControllerTable(false);
+			table.showMoveRowsControls(false);
+		}
+		return table;
+	}
+
+	public DataProcess getResult() throws ProcessException {
+		DataProcess task = RasterBaseAlgorithmLibrary.getManager().createRasterTask(PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+		List<String> params = task.getRasterTaskInputParameters(PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+		for (int i = 0; i < params.size(); i++) {
+			String paramName = params.get(i);
+			Class<?> paramType = task.getParameterTypeByProcess(PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL, paramName);
+			if(paramType == RasterDataStore[].class) {
+				task.addParam(paramName, new RasterDataStore[]{(RasterDataStore)inputStore});
+			}
+			if(paramType == String.class) {
+				String filename = newLayerPanel.getDirectorySelected() + File.separator + newLayerPanel.getFileSelected();
+				if(!filename.endsWith(".tif"))
+					filename += ".tif";
+				task.addParam(paramName, filename);
+			}
+			if(paramType == Boolean[].class) {
+				boolean[] bands = new boolean[getPagedTable().getRowCount()];
+				for (int j = 0; j < getPagedTable().getRowCount(); j++) {
+					Object obj = getPagedTable().getValueAt(j, 0);
+					if(obj instanceof Boolean)
+						bands[j] = ((Boolean)obj).booleanValue();
+				}
+				task.addParam(paramName, bands);
+			}
+		}
+		return task;
+	}
+
+	public CreateNewLayerPanel getCreateNewLayerPanel() {
+		if(newLayerPanel == null) {
+			newLayerPanel = RasterSwingLocator.getSwingManager().createNewLayerPanel();
+		}
+		return newLayerPanel;
+	}
+
+	public void initialize() {
+		for (int i = 0; i < bandList; i++) {
+			getPagedTable().addRow(new Object[]{true, "B" + i});			
+		}			
+	}
+
+	public int getComponentIDByObject(Object obj) {
+		return -1;
+	}
+
+	public void addListener(EventListener listener) {
+		// TODO Auto-generated method stub
+		
+	}
+
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PrincipalComponentsPanelImpl.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PCAMainPanelImpl.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PCAMainPanelImpl.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PCAMainPanelImpl.java	(revision 15568)
@@ -0,0 +1,217 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+*
+* Copyright (C) 2007-2008 Infrastructures and Transports Department
+* of the Valencian Government (CIT)
+* 
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+* 
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+* 
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+* MA  02110-1301, USA.
+* 
+*/
+package org.gvsig.raster.principalcomponents.swing.impl.main;
+
+import java.awt.BorderLayout;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.io.File;
+import java.util.EventListener;
+import java.util.List;
+
+import javax.swing.BorderFactory;
+import javax.swing.JCheckBox;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
+import org.gvsig.i18n.Messages;
+import org.gvsig.raster.algorithm.BasicAPISwingPanel;
+import org.gvsig.raster.algorithm.RasterBaseAlgorithmLibrary;
+import org.gvsig.raster.algorithm.process.DataProcess;
+import org.gvsig.raster.algorithm.process.ProcessException;
+import org.gvsig.raster.principalcomponents.algorithm.PrincipalComponentsAlgorithmLibrary;
+import org.gvsig.raster.swing.RasterSwingLocator;
+import org.gvsig.raster.swing.RasterSwingManager;
+import org.gvsig.raster.swing.newlayer.CreateNewLayerPanel;
+import org.gvsig.raster.swing.pagedtable.ModelLoader;
+import org.gvsig.raster.swing.pagedtable.PagedTable;
+
+/**
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class PCAMainPanelImpl extends JPanel implements BasicAPISwingPanel {
+	private static final long               serialVersionUID     = 1L;
+	private String                          layerName            = null;
+	private CreateNewLayerPanel             newLayerPanel        = null;
+	private Object                          inputStore           = null;
+	private PagedTable                      table                = null;
+	private JCheckBox                       roisCheck            = null;
+	private int                             bandList             = 0;
+	private String                          roisEPSG             = null;
+	
+	public PCAMainPanelImpl(Object inputStore, String layerName, int bandList, String roisEPSG) {
+		this.inputStore = inputStore;
+		this.layerName = layerName;
+		this.bandList = bandList;
+		this.roisEPSG = roisEPSG;
+		init();
+	}
+	
+	private void init() {
+		setLayout(new GridBagLayout());
+		
+		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
+		gridBagConstraints1.weightx = 1;
+		gridBagConstraints1.insets = new java.awt.Insets(0, 0, 0, 0);
+		gridBagConstraints1.gridx = 0;
+		gridBagConstraints1.gridy = 0;
+		add(getLayerPanel(), gridBagConstraints1);
+		
+		gridBagConstraints1.gridy = 2;
+		add((JComponent)getCreateNewLayerPanel(), gridBagConstraints1);
+		
+		if(roisEPSG != null) {
+			gridBagConstraints1.gridy = 3;
+			add(getROIsCheck(), gridBagConstraints1);
+		}
+		
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;
+		gridBagConstraints1.gridy = 1;
+		gridBagConstraints1.weighty = 1;
+		add(getInputsPanel(), gridBagConstraints1);
+	}
+	
+	private JPanel getLayerPanel() {
+		JPanel p = new JPanel();
+		p.setBorder(BorderFactory.createTitledBorder(Messages.getText("layer")));
+		p.setLayout(new GridBagLayout());
+		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
+		gridBagConstraints1.weightx = 1;
+		gridBagConstraints1.insets = new java.awt.Insets(0, 0, 2, 0);
+		
+		gridBagConstraints1.gridx = 0;
+		gridBagConstraints1.gridy = 0;
+		p.add(new JLabel(layerName), gridBagConstraints1);
+		
+		return p;
+	}
+	
+	private JPanel getInputsPanel() {
+		JPanel p = new JPanel();
+		p.setBorder(BorderFactory.createTitledBorder(Messages.getText("bands")));
+		p.setLayout(new BorderLayout());
+		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+		gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;
+		gridBagConstraints1.weightx = 1;
+		gridBagConstraints1.weighty = 1;
+		gridBagConstraints1.insets = new java.awt.Insets(2, 2, 2, 2);
+		
+		gridBagConstraints1.gridx = 0;
+		gridBagConstraints1.gridy = 0;
+		p.add(getPagedTable().getComponent(), BorderLayout.CENTER);
+		
+		return p;
+	}
+	
+	public JComponent getComponent() {
+		return this;
+	}
+	
+	public PagedTable getPagedTable() {
+		if(table == null) {
+			RasterSwingManager manager = RasterSwingLocator.getSwingManager();
+			String[] columnNames = {
+					"", 
+					Messages.getText("bands")};
+			int[] columnSizes = {30, -1};
+
+			BandTableModel model = new BandTableModel(columnNames);
+			ModelLoader loader = manager.createModelLoader(model);
+			CheckBoxColumnRenderer render = new CheckBoxColumnRenderer(null);
+			CheckBoxColumnEditor editor = new CheckBoxColumnEditor();
+			loader.setRenderForColumn(0, render);
+			loader.setCellEditorForColumn(0, editor);
+			loader.setColumnNames(columnNames);
+			loader.setColumnWidths(columnSizes);
+			
+			table = manager.createPagedTable(loader);
+			table.showControllerTable(false);
+			table.showMoveRowsControls(false);
+		}
+		return table;
+	}
+
+	public DataProcess getResult() throws ProcessException {
+		DataProcess task = RasterBaseAlgorithmLibrary.getManager().createRasterTask(PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+		List<String> params = task.getRasterTaskInputParameters(PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL);
+		for (int i = 0; i < params.size(); i++) {
+			String paramName = params.get(i);
+			Class<?> paramType = task.getParameterTypeByProcess(PrincipalComponentsAlgorithmLibrary.PC_STATS_PROCESS_LABEL, paramName);
+			if(paramType == RasterDataStore.class) {
+				task.addParam(paramName, (RasterDataStore)inputStore);
+			}
+			if(paramName.equals("PATH")) {
+				String filename = newLayerPanel.getDirectorySelected() + File.separator + newLayerPanel.getFileSelected();
+				if(!filename.endsWith(".tif"))
+					filename += ".tif";
+				task.addParam(paramName, filename);
+			}
+			if(paramType == Boolean[].class) {
+				boolean[] bands = new boolean[getPagedTable().getRowCount()];
+				for (int j = 0; j < getPagedTable().getRowCount(); j++) {
+					Object obj = getPagedTable().getValueAt(j, 0);
+					if(obj instanceof Boolean)
+						bands[j] = ((Boolean)obj).booleanValue();
+				}
+				task.addParam(paramName, bands);
+			}
+			
+			if(getROIsCheck().isSelected()) {
+				if(paramName.equals("ROI_EPSG")) {
+					task.addParam(paramName, roisEPSG);
+				}
+			}
+		}
+		return task;
+	}
+	
+	public JCheckBox getROIsCheck() {
+		if(roisCheck == null) {
+			roisCheck = new JCheckBox(Messages.getText("use_rois"));
+		}
+		return roisCheck;
+	}
+
+	public CreateNewLayerPanel getCreateNewLayerPanel() {
+		if(newLayerPanel == null) {
+			newLayerPanel = RasterSwingLocator.getSwingManager().createNewLayerPanel();
+		}
+		return newLayerPanel;
+	}
+
+	public void initialize() {
+		for (int i = 0; i < bandList; i++) {
+			getPagedTable().addRow(new Object[]{true, "B" + i});			
+		}			
+	}
+
+	public int getComponentIDByObject(Object obj) {
+		return -1;
+	}
+
+	public void addListener(EventListener listener) {
+	}
+}

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/PCAMainPanelImpl.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/CheckBoxColumnEditor.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/CheckBoxColumnEditor.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/CheckBoxColumnEditor.java	(revision 15568)
@@ -0,0 +1,69 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2013 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.raster.principalcomponents.swing.impl.main;
+
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.AbstractCellEditor;
+import javax.swing.JCheckBox;
+import javax.swing.JTable;
+import javax.swing.SwingUtilities;
+import javax.swing.table.TableCellEditor;
+
+/**
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class CheckBoxColumnEditor extends AbstractCellEditor
+implements TableCellEditor {
+    final private static long serialVersionUID = -3370601314380922368L;
+    public JCheckBox theCheckBox;
+
+    public CheckBoxColumnEditor() {
+        super();
+        theCheckBox = new JCheckBox();
+        theCheckBox.addActionListener(new ActionListener() {
+                public void actionPerformed(ActionEvent event) {
+                    fireEditingStopped() ;
+                    
+                }
+            });
+    }
+
+    public Component getTableCellEditorComponent(JTable table, Object obj,
+                                                 boolean isSelected,
+                                                 int row, int col) {
+    	theCheckBox.setHorizontalAlignment(SwingUtilities.CENTER);
+
+        Boolean lValueAsBoolean = (Boolean) obj;
+        theCheckBox.setSelected(lValueAsBoolean.booleanValue());
+
+        return theCheckBox;
+    }
+
+    public Object getCellEditorValue() {
+        return new Boolean(theCheckBox.isSelected());
+    }
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/CheckBoxColumnEditor.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/CheckBoxColumnRenderer.java
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/CheckBoxColumnRenderer.java	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/CheckBoxColumnRenderer.java	(revision 15568)
@@ -0,0 +1,68 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2013 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.raster.principalcomponents.swing.impl.main;
+
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JCheckBox;
+import javax.swing.JTable;
+import javax.swing.SwingConstants;
+import javax.swing.table.TableCellRenderer;
+
+/**
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class CheckBoxColumnRenderer extends JCheckBox implements TableCellRenderer {
+    final private static long            serialVersionUID = -3370601314380922368L;
+    private ActionListener               listener = null;
+
+    public CheckBoxColumnRenderer() {}
+    
+    public CheckBoxColumnRenderer(ActionListener listener) {
+    	this.listener = listener;
+    }
+    
+    public Component getTableCellRendererComponent(JTable table,
+                                                   Object value,
+                                                   boolean isSelected,
+                                                   boolean hasFocus,
+                                                   int row, int column) {
+        if (value == null) {
+            this.setSelected(false);
+        }
+        if(isSelected)
+        	if(listener != null) 
+        		listener.actionPerformed(new ActionEvent(this, row, "SELECT_ROW"));
+        	
+        if(value instanceof Boolean){
+	        Boolean ValueAsBoolean = (Boolean) value;
+	        this.setSelected(ValueAsBoolean.booleanValue());
+	        this.setHorizontalAlignment(SwingConstants.CENTER);
+        }
+        	
+        return this;
+    }
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main/CheckBoxColumnRenderer.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl/main
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing/impl
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents/swing
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/java
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_eu.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_eu.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_it.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_it.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text.properties	(revision 15568)
@@ -0,0 +1,7 @@
+components_selection=Selección de componentes
+autovalor=Autovalor
+by_band=Por banda
+var_covar=Matriz varianza-covarianza
+autovector=Autovector
+generate=Generar
+stats=Estadisticas
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_zh.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_zh.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_en.properties
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_en.properties	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_en.properties	(revision 15568)
@@ -0,0 +1,7 @@
+components_selection=Component selection
+autovalor=Eigenvalue
+by_band=By band
+var_covar=Matrix variance-covariance
+autovector=Eigenvector
+generate=Generate
+stats=Statistics
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_en.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_gl.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_gl.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_ca.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_ca.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_pt.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_pt.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_cs.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_cs.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_fr.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_fr.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_de.properties
===================================================================

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n/text_de.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl/i18n
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing/impl
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents/swing
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster/principalcomponents
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig/raster
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org/gvsig
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin/org
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main/resources-plugin
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src/main
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/src
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath


Index: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/pom.xml
===================================================================
--- org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/pom.xml	(revision 0)
+++ org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/pom.xml	(revision 15568)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="ISO-8859-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">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.raster.principalcomponents.swing.impl</artifactId>
+	<packaging>jar</packaging>
+	<name>org.gvsig.raster.principalcomponents.swing.impl</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.raster.principalcomponents.swing</artifactId>
+		<version>2.2.155</version>
+	</parent>
+	<dependencies>
+		<dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.raster.principalcomponents.swing.api</artifactId>           
+            <scope>compile</scope>
+        </dependency> 
+		<dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.tools.lib</artifactId>           
+            <scope>compile</scope>
+        </dependency> 
+		<dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.tools.swing.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.i18n</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.impl</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.raster.principalcomponents.algorithm</artifactId>
+            <scope>compile</scope>
+        </dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing/org.gvsig.raster.principalcomponents.swing.impl
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath
target



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155/org.gvsig.raster.principalcomponents.swing
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath



Property changes on: org.gvsig.raster.principalcomponents/tags/org.gvsig.raster.principalcomponents-2.2.155
___________________________________________________________________
Added: svn:ignore
   + .project
.settings
.classpath
.pom.xml.swp


