// Path: wizard/src/main/java/org/n52/sos/importer/view/MissingComponentPanel.java
// public abstract class MissingComponentPanel extends JPanel {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	/**
// 	 * Allocate values of the missing component
// 	 */
// 	public abstract void assignValues();
// 	
// 	/**
// 	 * Release values of the missing component
// 	 */
// 	public abstract void unassignValues();
// 	
// 	/**
// 	 * Checks if all values are in the defined range 
// 	 * of this component; returns false, if not
// 	 * @return <b>true</b>, if all given values are in allowed ranges.<br />
// 	 * 			<b>false</b>, if not.
// 	 */
// 	public abstract boolean checkValues();
// 	
// 	/**
// 	 * Returns the missing component
// 	 */
// 	public abstract Component getMissingComponent();
// 	
// 	/**
// 	 * Initialises the missing component
// 	 */
// 	public abstract void setMissingComponent(Component c);
// }


import javax.swing.JPanel;
import org.n52.sos.importer.Constants;
import org.n52.sos.importer.model.Step6cModel;
import org.n52.sos.importer.model.position.Position;
import org.n52.sos.importer.view.MissingComponentPanel;
import java.awt.BorderLayout;
import java.awt.GridLayout;
		
		this.s6cM = s6cM;
		
		manualInputPanel = initManualInputPanel(s6cM);
		
		containerPanel = new JPanel();
		containerPanel.setLayout(new BorderLayout(0,0));
		containerPanel.add(manualInputPanel,BorderLayout.CENTER);
		
		add(containerPanel,BorderLayout.CENTER);
		
		if (Constants.GUI_DEBUG) {
			manualInputPanel.setBorder(Constants.DEBUG_BORDER);
		}
		setVisible(true);
	}

	private JPanel initManualInputPanel(final Step6cModel s6cM) {
		final JPanel manualInputPanel = new JPanel();
		manualInputPanel.setLayout(new GridLayout(4, 1));
		manualInputPanel.add(new MissingLatitudePanel(s6cM.getPosition()));
		manualInputPanel.add(new MissingLongitudePanel(s6cM.getPosition()));
		manualInputPanel.add(new MissingHeightPanel(s6cM.getPosition()));
		manualInputPanel.add(new MissingEPSGCodePanel(s6cM.getPosition()));
		return manualInputPanel;
	}

	public boolean isFinished() {
		final java.awt.Component[] subPanels = manualInputPanel.getComponents();
		for (final java.awt.Component component : subPanels) {
// Path: wizard/src/main/java/org/n52/sos/importer/view/MissingComponentPanel.java
// public abstract class MissingComponentPanel extends JPanel {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	/**
// 	 * Allocate values of the missing component
// 	 */
// 	public abstract void assignValues();
// 	
// 	/**
// 	 * Release values of the missing component
// 	 */
// 	public abstract void unassignValues();
// 	
// 	/**
// 	 * Checks if all values are in the defined range 
// 	 * of this component; returns false, if not
// 	 * @return <b>true</b>, if all given values are in allowed ranges.<br />
// 	 * 			<b>false</b>, if not.
// 	 */
// 	public abstract boolean checkValues();
// 	
// 	/**
// 	 * Returns the missing component
// 	 */
// 	public abstract Component getMissingComponent();
// 	
// 	/**
// 	 * Initialises the missing component
// 	 */
// 	public abstract void setMissingComponent(Component c);
// }


// Path: wizard/src/main/java/org/n52/sos/importer/view/position/MissingPositionPanel.java
import javax.swing.JPanel;
import org.n52.sos.importer.Constants;
import org.n52.sos.importer.model.Step6cModel;
import org.n52.sos.importer.model.position.Position;
import org.n52.sos.importer.view.MissingComponentPanel;
import java.awt.BorderLayout;
import java.awt.GridLayout;

		
		this.s6cM = s6cM;
		
		manualInputPanel = initManualInputPanel(s6cM);
		
		containerPanel = new JPanel();
		containerPanel.setLayout(new BorderLayout(0,0));
		containerPanel.add(manualInputPanel,BorderLayout.CENTER);
		
		add(containerPanel,BorderLayout.CENTER);
		
		if (Constants.GUI_DEBUG) {
			manualInputPanel.setBorder(Constants.DEBUG_BORDER);
		}
		setVisible(true);
	}

	private JPanel initManualInputPanel(final Step6cModel s6cM) {
		final JPanel manualInputPanel = new JPanel();
		manualInputPanel.setLayout(new GridLayout(4, 1));
		manualInputPanel.add(new MissingLatitudePanel(s6cM.getPosition()));
		manualInputPanel.add(new MissingLongitudePanel(s6cM.getPosition()));
		manualInputPanel.add(new MissingHeightPanel(s6cM.getPosition()));
		manualInputPanel.add(new MissingEPSGCodePanel(s6cM.getPosition()));
		return manualInputPanel;
	}

	public boolean isFinished() {
		final java.awt.Component[] subPanels = manualInputPanel.getComponents();
		for (final java.awt.Component component : subPanels) {
			if (component instanceof MissingComponentPanel) {