Initial commit for AAI-UI(sparky-backend)
[aai/sparky-be.git] / src / main / java / org / openecomp / sparky / synchronizer / MyErrorHandler.java
diff --git a/src/main/java/org/openecomp/sparky/synchronizer/MyErrorHandler.java b/src/main/java/org/openecomp/sparky/synchronizer/MyErrorHandler.java
new file mode 100644 (file)
index 0000000..e1a695c
--- /dev/null
@@ -0,0 +1,94 @@
+/**
+ * ============LICENSE_START===================================================
+ * SPARKY (AAI UI service)
+ * ============================================================================
+ * Copyright © 2017 AT&T Intellectual Property.
+ * Copyright © 2017 Amdocs
+ * All rights reserved.
+ * ============================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=====================================================
+ *
+ * ECOMP and OpenECOMP are trademarks
+ * and service marks of AT&T Intellectual Property.
+ */
+
+package org.openecomp.sparky.synchronizer;
+
+import java.io.PrintWriter;
+
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
+/**
+ * The Class MyErrorHandler.
+ */
+public class MyErrorHandler implements ErrorHandler {
+
+  /** Error handler output goes here. */
+  private PrintWriter out;
+
+  /**
+   * Instantiates a new my error handler.
+   *
+   * @param out the out
+   */
+  public MyErrorHandler(PrintWriter out) {
+    this.out = out;
+  }
+
+  /**
+   * Returns a string describing parse exception details.
+   *
+   * @param spe the spe
+   * @return the parses the exception info
+   */
+  private String getParseExceptionInfo(SAXParseException spe) {
+    String systemId = spe.getSystemId();
+    if (systemId == null) {
+      systemId = "null";
+    }
+    String info = "URI=" + systemId + " Line=" + spe.getLineNumber() + ": " + spe.getMessage();
+    return info;
+  }
+
+  // The following methods are standard SAX ErrorHandler methods.
+  // See SAX documentation for more info.
+
+  /* (non-Javadoc)
+   * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException)
+   */
+  @Override
+  public void warning(SAXParseException spe) throws SAXException {
+    out.println("Warning: " + getParseExceptionInfo(spe));
+  }
+
+  /* (non-Javadoc)
+   * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
+   */
+  @Override
+  public void error(SAXParseException spe) throws SAXException {
+    String message = "Error: " + getParseExceptionInfo(spe);
+    throw new SAXException(message);
+  }
+
+  /* (non-Javadoc)
+   * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
+   */
+  @Override
+  public void fatalError(SAXParseException spe) throws SAXException {
+    String message = "Fatal Error: " + getParseExceptionInfo(spe);
+    throw new SAXException(message);
+  }
+}