Return-Path: X-Original-To: apmail-deltaspike-commits-archive@www.apache.org Delivered-To: apmail-deltaspike-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 71171189A3 for ; Wed, 29 Jul 2015 13:43:53 +0000 (UTC) Received: (qmail 97936 invoked by uid 500); 29 Jul 2015 13:43:47 -0000 Delivered-To: apmail-deltaspike-commits-archive@deltaspike.apache.org Received: (qmail 97900 invoked by uid 500); 29 Jul 2015 13:43:47 -0000 Mailing-List: contact commits-help@deltaspike.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@deltaspike.apache.org Delivered-To: mailing list commits@deltaspike.apache.org Received: (qmail 97891 invoked by uid 99); 29 Jul 2015 13:43:47 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Jul 2015 13:43:47 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id EFA68DFA0A; Wed, 29 Jul 2015 13:43:46 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: danielsoro@apache.org To: commits@deltaspike.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: deltaspike git commit: DELTASPIKE-942 DeltaSpike fails to start with corrupted persistence.xml file Date: Wed, 29 Jul 2015 13:43:46 +0000 (UTC) Repository: deltaspike Updated Branches: refs/heads/master b4a68137b -> 206dc2f6a DELTASPIKE-942 DeltaSpike fails to start with corrupted persistence.xml file Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/206dc2f6 Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/206dc2f6 Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/206dc2f6 Branch: refs/heads/master Commit: 206dc2f6ad19edc2b1a1f366668ba359e236e8f3 Parents: b4a6813 Author: Daniel Cunha (soro) Authored: Wed Jul 29 10:40:26 2015 -0300 Committer: Daniel Cunha (soro) Committed: Wed Jul 29 10:40:26 2015 -0300 ---------------------------------------------------------------------- .../impl/meta/unit/PersistenceUnitReader.java | 42 ++++++++++++++------ 1 file changed, 29 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/deltaspike/blob/206dc2f6/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/meta/unit/PersistenceUnitReader.java ---------------------------------------------------------------------- diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/meta/unit/PersistenceUnitReader.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/meta/unit/PersistenceUnitReader.java index 64694ea..4fc31ee 100644 --- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/meta/unit/PersistenceUnitReader.java +++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/meta/unit/PersistenceUnitReader.java @@ -18,16 +18,16 @@ */ package org.apache.deltaspike.data.impl.meta.unit; -import java.io.IOException; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - import org.apache.deltaspike.data.impl.meta.unit.EntityDescriptorReader.MappingFile; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import java.io.IOException; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + public class PersistenceUnitReader extends DescriptorReader { @@ -51,13 +51,13 @@ public class PersistenceUnitReader extends DescriptorReader Node node = list.item(i); String unitName = extractUnitName(node); String baseUrl = extractBaseUrl(descriptor.getUrl(), PersistenceUnit.RESOURCE_PATH); - List entities = extractMappings((Element) node, baseUrl); + List entities = extractMappings((Element) node, baseUrl, unitName); result.add(new PersistenceUnit(unitName, entities)); } return result; } - private List extractMappings(Element element, String baseUrl) + private List extractMappings(Element element, String baseUrl, String unitName) { try { @@ -65,12 +65,7 @@ public class PersistenceUnitReader extends DescriptorReader List entities = new LinkedList(); List superClasses = new LinkedList(); NodeList list = element.getElementsByTagName("mapping-file"); - for (int i = 0; i < list.getLength(); i++) - { - MappingFile mappings = reader.readAll(baseUrl, list.item(i).getTextContent()); - entities.addAll(mappings.getEntities()); - superClasses.addAll(mappings.getSuperClasses()); - } + readMappingFiles(baseUrl, unitName, reader, entities, superClasses, list); MappingFile mappings = reader.readDefaultOrm(baseUrl); entities.addAll(mappings.getEntities()); superClasses.addAll(mappings.getSuperClasses()); @@ -83,6 +78,27 @@ public class PersistenceUnitReader extends DescriptorReader } } + private void readMappingFiles(String baseUrl, String unitName, EntityDescriptorReader reader, + List entities, List superClasses, + NodeList list) + { + for (int i = 0; i < list.getLength(); i++) + { + String resource = list.item(i).getTextContent(); + try + { + MappingFile mappings = reader.readAll(baseUrl, resource); + entities.addAll(mappings.getEntities()); + superClasses.addAll(mappings.getSuperClasses()); + } + catch (Exception e) + { + throw new RuntimeException("[PersistenceUnit: " + unitName + "] " + + "Unable to resolve named mapping-file [" + resource + "]"); + } + } + } + private String extractUnitName(Node node) { return node.getAttributes().getNamedItem("name").getTextContent();