# This patch file was generated by NetBeans IDE # It uses platform neutral UTF-8 encoding and \n newlines. --- Base (BASE) +++ Locally Modified (Based On LOCAL) @@ -72,8 +72,10 @@ import org.openide.filesystems.FileObject; import org.openide.filesystems.FileSystem; import org.openide.filesystems.FileUtil; +import org.openide.loaders.DataLoader; +import org.openide.loaders.DataLoaderPool; import org.openide.loaders.DataObject; -import org.openide.loaders.DataObjectNotFoundException; +import org.openide.loaders.DataObjectExistsException; import org.openide.util.Exceptions; import org.openide.util.Parameters; @@ -708,12 +710,24 @@ */ public static PUDataObject getPUDataObject(FileObject fo) throws InvalidPersistenceXmlException { Parameters.notNull("fo", fo); //NOI18N + DataLoader.RecognizedFiles recog = new DataLoader.RecognizedFiles () { + /** Adds the file object to the marked hashtable. + * @param fo file object (can be null) + */ + @Override + public void markRecognized (FileObject fo) { + } + }; - DataObject dataObject = null; + DataObject dataObject; try { - dataObject = DataObject.find(fo); - } catch (DataObjectNotFoundException ex) { - Exceptions.printStackTrace(ex); + DataLoaderPool pool = DataLoaderPool.getDefault(); + dataObject = pool.findDataObject(fo,recog); + } catch (DataObjectExistsException ex) { + // use existing data object + dataObject = ex.getDataObject (); + } catch (IOException ex) { + dataObject = null; } if (!(dataObject instanceof PUDataObject)) { throw new InvalidPersistenceXmlException(FileUtil.getFileDisplayName(fo));