public boolean drop(Class[] cls, int mode, ClassLoader envLoader) { if (mode == MODE_NONE) return true; if (isMappingOnlyFactory() && (mode & MODE_MAPPING) == 0) return true; Parser parser = newParser(false); MetaDataRepository pr = parser.getRepository(); pr.setSourceMode(MODE_MAPPING, false); parser.setMode((isMappingOnlyFactory()) ? mode : MODE_META | MODE_MAPPING | MODE_QUERY); parse(parser, cls); if (!isMappingOnlyFactory() && (mode & MODE_QUERY) != 0) { parser.setMode(MODE_QUERY); parse(parser, cls); meta = pr.getMetaData(cls[i], envLoader, false); if (meta != null) { if (getSourceFile(meta) != null) files.add(getSourceFile(meta)); if ((mode & MODE_META) != 0) pr.removeMetaData(meta); else if (!isMappingOnlyFactory()) clearMapping(meta); List qqs = (!isMappingOnlyFactory() && (mode & MODE_QUERY) == 0) ? null : new ArrayList(); boolean rem;
@Override public void clear() { super.clear(); if (_annoParser != null) _annoParser.clear(); if (_xmlParser != null) _xmlParser.clear(); if (_xml != null) _xml.clear(); }
Set files = null; for (int i = 0; i < metas.length; i++) { if (getSourceFile(metas[i]) == null) setSourceFile(metas[i], defaultSourceFile(metas[i])); if ((AccessController.doPrivileged(J2DoPrivHelper .existsAction(getSourceFile(metas[i])))).booleanValue()) { if (files == null) files = new HashSet(); files.add(getSourceFile(metas[i])); continue; if (queries[i].getSourceFile() == null) { File defaultFile = defaultSourceFile(queries[i], clsNames); queries[i].setSource(defaultFile, queries[i].getSourceScope(), queries[i].getSourceType(), defaultFile == null ? "" : defaultFile.getPath()); if (getSourceFile(seqs[i]) == null) setSourceFile(seqs[i], defaultSourceFile(seqs[i], clsNames)); if ((AccessController.doPrivileged( J2DoPrivHelper.existsAction(getSourceFile(seqs[i])))) .booleanValue()) { if (files == null) files = new HashSet(); files.add(getSourceFile(seqs[i]));
if (mode == MODE_NONE) return true; if (isMappingOnlyFactory() && (mode & MODE_MAPPING) == 0) return true; if (isMappingOnlyFactory() || (mode & MODE_META) != 0) metaFiles = assignDefaultMetaDataFiles(metas, queries, seqs, mode, clsNames); if (!isMappingOnlyFactory() && (mode & MODE_QUERY) != 0) queryFiles = assignDefaultQueryFiles(queries, clsNames); Parser parser; if (mode != MODE_QUERY) { int sermode = (isMappingOnlyFactory()) ? mode : mode | MODE_META; if ((mode & MODE_ANN_MAPPING) != 0) ser = newAnnotationSerializer(); else ser = newSerializer(); ser.setMode(sermode); if (metaFiles != null) { parser = newParser(false); parser.setMode(sermode); parser.setClassLoader(loader); parse(parser, metaFiles); if (isMappingOnlyFactory()) pr.setResolve(MODE_NONE); else
ClassArgParser cparser = newClassArgParser(); String[] clss; Set names = new HashSet(); if (log.isTraceEnabled()) log.trace(_loc.get("scanning-directory", file)); scan(new FileMetaDataIterator(file, newMetaDataFilter()), cparser, names, true, file); } else if (file.getName().endsWith(".jar")) { .doPrivileged(J2DoPrivHelper .newZipFileAction(file)); scan(new ZipFileMetaDataIterator(zFile, newMetaDataFilter()), cparser, names, true, file); } catch (PrivilegedActionException pae) { throw (IOException) pae.getException(); .getAbsoluteFileAction(file)); try { mapPersistentTypeNames(AccessController .doPrivileged(J2DoPrivHelper.toURLAction(f)), clss); } catch (PrivilegedActionException pae) { if (log.isTraceEnabled()) log.trace(_loc.get("scanning-directory", file)); scan( new FileMetaDataIterator(file, newMetaDataFilter()), cparser, names, true, file); continue;
/** * Parse all given classses. */ protected void parse(MetaDataParser parser, Class[] cls) { try { for (int i = 0; i < cls.length; i++) parser.parse(cls[i], isParseTopDown()); } catch (IOException ioe) { throw new GeneralException(ioe); } }
/** * Scan for persistent type names using the given metadata iterator. */ private void scan(MetaDataIterator mitr, ClassArgParser cparser, Set names, boolean mapNames, Object debugContext) throws IOException { Map map; try { map = cparser.mapTypeNames(mitr); } finally { mitr.close(); } Map.Entry entry; for (Iterator itr = map.entrySet().iterator(); itr.hasNext();) { entry = (Map.Entry) itr.next(); if (mapNames) mapPersistentTypeNames(entry.getKey(), (String[]) entry.getValue()); List newNames = Arrays.asList((String[]) entry.getValue()); if (log.isTraceEnabled()) log.trace(_loc.get("scan-found-names", newNames, debugContext)); names.addAll(newNames); } }
/** * Assign default source files to the given queries. * * @param clsNames map of class names to metadatas * @return set of existing files used by these metadatas, or * null if no existing files */ private Set assignDefaultQueryFiles(QueryMetaData[] queries, Map clsNames) { Set files = null; for (int i = 0; i < queries.length; i++) { if (queries[i].getSourceMode() != MODE_QUERY) continue; if (queries[i].getSourceFile() == null) { File defaultFile = defaultSourceFile(queries[i], clsNames); queries[i].setSource(defaultFile, queries[i].getSourceScope(), queries[i].getSourceType(), defaultFile == null ? "" : defaultFile.getPath()); } if ((AccessController.doPrivileged( J2DoPrivHelper.existsAction(queries[i].getSourceFile()))) .booleanValue()) { if (files == null) files = new HashSet(); files.add(queries[i].getSourceFile()); } } return files; }
if (mode == MODE_NONE) return true; if (isMappingOnlyFactory() && (mode & MODE_MAPPING) == 0) return true; if (isMappingOnlyFactory() || (mode & MODE_META) != 0) metaFiles = assignDefaultMetaDataFiles(metas, queries, seqs, mode, clsNames); if (!isMappingOnlyFactory() && (mode & MODE_QUERY) != 0) queryFiles = assignDefaultQueryFiles(queries, clsNames); Parser parser; if (mode != MODE_QUERY) { int sermode = (isMappingOnlyFactory()) ? mode : mode | MODE_META; if ((mode & MODE_ANN_MAPPING) != 0) ser = newAnnotationSerializer(); else ser = newSerializer(); ser.setMode(sermode); if (metaFiles != null) { parser = newParser(false); parser.setMode(sermode); parser.setClassLoader(loader); parse(parser, metaFiles); if (isMappingOnlyFactory()) pr.setResolve(MODE_NONE); else
ClassArgParser cparser = newClassArgParser(); String[] clss; Set<String> names = new HashSet<String>(); if (log.isTraceEnabled()) log.trace(_loc.get("scanning-directory", file)); scan(new FileMetaDataIterator(file, newMetaDataFilter()), cparser, names, true, file); } else if (file.getName().endsWith(".jar")) { .doPrivileged(J2DoPrivHelper .newZipFileAction(file)); scan(new ZipFileMetaDataIterator(zFile, newMetaDataFilter()), cparser, names, true, file); } catch (PrivilegedActionException pae) { throw (IOException) pae.getException(); .getAbsoluteFileAction(file)); try { mapPersistentTypeNames(AccessController .doPrivileged(J2DoPrivHelper.toURLAction(f)), clss); } catch (PrivilegedActionException pae) { if (log.isTraceEnabled()) log.trace(_loc.get("scanning-directory", file)); scan( new FileMetaDataIterator(file, newMetaDataFilter()), cparser, names, true, file); continue;
/** * Parse all given classses. */ protected void parse(MetaDataParser parser, Class[] cls) { try { for (int i = 0; i < cls.length; i++) parser.parse(cls[i], isParseTopDown()); } catch (IOException ioe) { throw new GeneralException(ioe); } }
/** * Scan for persistent type names using the given metadata iterator. */ private void scan(MetaDataIterator mitr, ClassArgParser cparser, Set names, boolean mapNames, Object debugContext) throws IOException { Map map; try { map = cparser.mapTypeNames(mitr); } finally { mitr.close(); } Map.Entry entry; for (Iterator itr = map.entrySet().iterator(); itr.hasNext();) { entry = (Map.Entry) itr.next(); if (mapNames) mapPersistentTypeNames(entry.getKey(), (String[]) entry.getValue()); List newNames = Arrays.asList((String[]) entry.getValue()); if (log.isTraceEnabled()) log.trace(_loc.get("scan-found-names", newNames, debugContext)); names.addAll(newNames); } }
/** * Assign default source files to the given queries. * * @param clsNames map of class names to metadatas * @return set of existing files used by these metadatas, or * null if no existing files */ private Set assignDefaultQueryFiles(QueryMetaData[] queries, Map clsNames) { Set files = null; for (int i = 0; i < queries.length; i++) { if (queries[i].getSourceMode() != MODE_QUERY) continue; if (queries[i].getSourceFile() == null) { File defaultFile = defaultSourceFile(queries[i], clsNames); queries[i].setSource(defaultFile, queries[i].getSourceScope(), queries[i].getSourceType(), defaultFile == null ? "" : defaultFile.getPath()); } if ((AccessController.doPrivileged( J2DoPrivHelper.existsAction(queries[i].getSourceFile()))) .booleanValue()) { if (files == null) files = new HashSet(); files.add(queries[i].getSourceFile()); } } return files; }
public boolean drop(Class[] cls, int mode, ClassLoader envLoader) { if (mode == MODE_NONE) return true; if (isMappingOnlyFactory() && (mode & MODE_MAPPING) == 0) return true; Parser parser = newParser(false); MetaDataRepository pr = parser.getRepository(); pr.setSourceMode(MODE_MAPPING, false); parser.setMode((isMappingOnlyFactory()) ? mode : MODE_META | MODE_MAPPING | MODE_QUERY); parse(parser, cls); if (!isMappingOnlyFactory() && (mode & MODE_QUERY) != 0) { parser.setMode(MODE_QUERY); parse(parser, cls); meta = pr.getMetaData(cls[i], envLoader, false); if (meta != null) { if (getSourceFile(meta) != null) files.add(getSourceFile(meta)); if ((mode & MODE_META) != 0) pr.removeMetaData(meta); else if (!isMappingOnlyFactory()) clearMapping(meta); List qqs = (!isMappingOnlyFactory() && (mode & MODE_QUERY) == 0) ? null : new ArrayList(); boolean rem;
if (mode == MODE_NONE) return true; if (isMappingOnlyFactory() && (mode & MODE_MAPPING) == 0) return true; if (isMappingOnlyFactory() || (mode & MODE_META) != 0) metaFiles = assignDefaultMetaDataFiles(metas, queries, seqs, mode, clsNames); if (!isMappingOnlyFactory() && (mode & MODE_QUERY) != 0) queryFiles = assignDefaultQueryFiles(queries, clsNames); Parser parser; if (mode != MODE_QUERY) { int sermode = (isMappingOnlyFactory()) ? mode : mode | MODE_META; if ((mode & MODE_ANN_MAPPING) != 0) ser = newAnnotationSerializer(); else ser = newSerializer(); ser.setMode(sermode); if (metaFiles != null) { parser = newParser(false); parser.setMode(sermode); parser.setClassLoader(loader); parse(parser, metaFiles); if (isMappingOnlyFactory()) pr.setResolve(MODE_NONE); else
ClassArgParser cparser = newClassArgParser(); String[] clss; Set<String> names = new HashSet<String>(); if (log.isTraceEnabled()) log.trace(_loc.get("scanning-directory", file)); scan(new FileMetaDataIterator(file, newMetaDataFilter()), cparser, names, true, file); } else if (file.getName().endsWith(".jar")) { .doPrivileged(J2DoPrivHelper .newZipFileAction(file)); scan(new ZipFileMetaDataIterator(zFile, newMetaDataFilter()), cparser, names, true, file); } catch (PrivilegedActionException pae) { throw (IOException) pae.getException(); .getAbsoluteFileAction(file)); try { mapPersistentTypeNames(AccessController .doPrivileged(J2DoPrivHelper.toURLAction(f)), clss); } catch (PrivilegedActionException pae) { if (log.isTraceEnabled()) log.trace(_loc.get("scanning-directory", file)); scan( new FileMetaDataIterator(file, newMetaDataFilter()), cparser, names, true, file); continue;
Set files = null; for (int i = 0; i < metas.length; i++) { if (getSourceFile(metas[i]) == null) setSourceFile(metas[i], defaultSourceFile(metas[i])); if ((AccessController.doPrivileged(J2DoPrivHelper .existsAction(getSourceFile(metas[i])))).booleanValue()) { if (files == null) files = new HashSet(); files.add(getSourceFile(metas[i])); continue; if (queries[i].getSourceFile() == null) { File defaultFile = defaultSourceFile(queries[i], clsNames); queries[i].setSource(defaultFile, queries[i].getSourceScope(), queries[i].getSourceType(), defaultFile == null ? "" : defaultFile.getPath()); if (getSourceFile(seqs[i]) == null) setSourceFile(seqs[i], defaultSourceFile(seqs[i], clsNames)); if ((AccessController.doPrivileged( J2DoPrivHelper.existsAction(getSourceFile(seqs[i])))) .booleanValue()) { if (files == null) files = new HashSet(); files.add(getSourceFile(seqs[i]));
@Override public void clear() { super.clear(); if (_annoParser != null) _annoParser.clear(); if (_xmlParser != null) _xmlParser.clear(); if (_xml != null) _xml.clear(); }
/** * Parse all given classses. */ protected void parse(MetaDataParser parser, Class[] cls) { try { for (int i = 0; i < cls.length; i++) parser.parse(cls[i], isParseTopDown()); } catch (IOException ioe) { throw new GeneralException(ioe); } }
/** * Scan for persistent type names using the given metadata iterator. */ private void scan(MetaDataIterator mitr, ClassArgParser cparser, Set names, boolean mapNames, Object debugContext) throws IOException { Map map; try { map = cparser.mapTypeNames(mitr); } finally { mitr.close(); } Map.Entry entry; for (Iterator itr = map.entrySet().iterator(); itr.hasNext();) { entry = (Map.Entry) itr.next(); if (mapNames) mapPersistentTypeNames(entry.getKey(), (String[]) entry.getValue()); List newNames = Arrays.asList((String[]) entry.getValue()); if (log.isTraceEnabled()) log.trace(_loc.get("scan-found-names", newNames, debugContext)); names.addAll(newNames); } }