private boolean validateDatumLine() { // System.out.println("Validating Datum Line"); double datumLineDSP1Lat = datumLineInputPanel.getLKPLat(); if (datumLineDSP1Lat == -9999) { return false; } double datumLineDSP1Lon = datumLineInputPanel.getLKPLon(); Position dsp1; if (datumLineDSP1Lat != -9999 && datumLineDSP1Lon != -9999) { dsp1 = Position.create(datumLineDSP1Lat, datumLineDSP1Lon); } else { // msgbox // System.out.println("Failed lat"); return false; } double datumLineDSP2Lat = datumLineInputPanel.getDsp2LKPLat(); if (datumLineDSP2Lat == -9999) { return false; } double datumLineDSP2Lon = datumLineInputPanel.getDsp2LKPLon(); Position dsp2; if (datumLineDSP2Lat != -9999 && datumLineDSP2Lon != -9999) { dsp2 = Position.create(datumLineDSP2Lat, datumLineDSP2Lon); } else { // msgbox // System.out.println("Failed lat"); return false; } double datumLineDSP3Lat = datumLineInputPanel.getDsp3LKPLat(); if (datumLineDSP3Lat == -9999) { return false; } double datumLineDSP3Lon = datumLineInputPanel.getDsp3LKPLon(); Position dsp3; if (datumLineDSP3Lat != -9999 && datumLineDSP3Lon != -9999) { dsp3 = Position.create(datumLineDSP3Lat, datumLineDSP3Lon); } else { // msgbox // System.out.println("Failed lat"); return false; } // System.out.println("All validated correctly, we got positions"); // System.out.println("DSp1 Date is " + // datumLineInputPanel.getLKPDate()); // System.out.println("DSp2 Date is " + // datumLineInputPanel.getDSP2Date()); // System.out.println("DSp3 Date is " + // datumLineInputPanel.getDSP2Date()); // System.out.println("CSS Date is " + // datumLineInputPanel.getCSSDate()); // Time and date will be automatically sorted List<SurfaceDriftPanel> weatherList = datumLineInputPanel.getSurfaceDriftPanelList(); List<SARWeatherData> sarWeatherDataPoints = new ArrayList<SARWeatherData>(); for (int i = 0; i < weatherList.size(); i++) { // Get weather SurfaceDriftPanel weatherPanel = weatherList.get(i); double TWCKnots = weatherPanel.getTWCKnots(); if (TWCKnots == -9999) { // Error message is handled within function return false; } double leewayKnots = weatherPanel.getLeeway(); if (leewayKnots == -9999) { // Error message is handled within function return false; } double twcHeading = weatherPanel.getTWCHeading(); if (twcHeading == -9999) { // Error message is handled within function return false; } double leewayHeading = weatherPanel.getLeewayHeading(); if (leewayHeading == -9999) { // Error message is handled within function return false; } DateTime dateTime = new DateTime(weatherPanel.getDateTime().getTime()); SARWeatherData sarWeatherData = new SARWeatherData(twcHeading, TWCKnots, leewayKnots, leewayHeading, dateTime); sarWeatherDataPoints.add(sarWeatherData); } double xError = datumLineInputPanel.getInitialPositionError(); if (xError == -9999) { // Error message is handled within function return false; } double yError = datumLineInputPanel.getNavError(); if (yError == -9999) { // Error message is handled within function return false; } double safetyFactor = datumLineInputPanel.getSafetyFactor(); if (safetyFactor == -9999) { // Error message is handled within function return false; } int searchObject = datumLineInputPanel.getSearchItemID(); // Only valid search objects is value 0 to 19 if (searchObject < 0 || searchObject > 20) { // Error message is handled within function // System.out.println("failed search object with id " + // searchObject); return false; } // rapidResponsePosition // commenceStartPosition // TWCKnots // twcHeading // leewayKnots // leewayHeading // xError // yError // safetyFactor // searchObject if (!datumLineInputPanel.checkTime()) { return false; } if (!datumLineInputPanel.checkMetocTime()) { return false; } voctManager.inputDatumLineData( datumLineInputPanel.getSARID(), datumLineInputPanel.getLKPDate(), datumLineInputPanel.getDSP2Date(), datumLineInputPanel.getDSP3Date(), datumLineInputPanel.getCSSDate(), dsp1, dsp2, dsp3, xError, yError, safetyFactor, searchObject, sarWeatherDataPoints); return true; }