@Override public String findMIMEType(FileObject fo) { if (fo.hasExt("xml") && fo.getPath().startsWith(MIME_RESOLVERS_PATH)) { // NOI18N // do not try to check ourselves! return null; } init(); if (state == DescParser.ERROR) { return null; } FileElement[] smell2 = smell; //#163378, #157838 - copy to prevent concurrent modification and not synchronize to prevent deadlock // smell is filled in reverse order for (int i = smell2.length - 1; i >= 0; i--) { if (ERR.isLoggable(Level.FINE)) ERR.fine("findMIMEType - smell.resolve."); String s = smell2[i].resolve(fo); if (s != null) { if (s.equals(FileElement.EXIT_MIME_TYPE)) { // if file matches conditions and exit element is present, do not continue in loop and return null return null; } if (ERR.isLoggable(Level.FINE)) ERR.log(Level.FINE, "MIMEResolverImpl.findMIMEType({0})={1}", new Object[]{fo, s}); // NOI18N return s; } } return null; }
if (!fo.hasExt("xml") || fo.getSize() == 0) { // NOI18N try { impl = (Impl) MIMEResolverImpl.create(fo);
private static synchronized List<MIMEResolver> declarativeResolvers() { List<MIMEResolver> declmimes = new ArrayList<MIMEResolver>(); if (declarativeFolder == null) { declarativeFolder = FileUtil.getConfigFile("Services/MIMEResolver"); // NOI18N } if (declarativeFolder != null) { for (FileObject f : Ordering.getOrder(Arrays.asList(declarativeFolder.getChildren()), true)) { if (f.hasExt("xml")) { // NOI18N try { // For now, just assume it has the right DTD. Could check this if desired. declmimes.add(MIMEResolverImpl.forDescriptor(f)); // NOI18N } catch (IOException ex) { Exceptions.printStackTrace(ex); } } } declarativeFolder.removeFileChangeListener(weakDeclarativeFolderListener); declarativeFolder.addFileChangeListener(weakDeclarativeFolderListener); } return declmimes; }
/** For a given file finds the primary file. * @param fo the (secondary) file * * @return the primary file for the file or <code>null</code> if the file is not * recognized by this loader */ protected FileObject findPrimaryFile(FileObject fo) { if (fo.hasExt (DataShadow.SHADOW_EXTENSION)) { return fo; } return null; }
@Nonnull private List<FileObject> getProfileFiles() { final FileObject root = FileUtil.toFileObject(new File("/Users/fritz/Library/ColorSync/Profiles")); // FIXME final List<FileObject> result = new ArrayList<FileObject>(); for (final FileObject f : Collections.list(root.getChildren(true))) { if (f.hasExt("icc")) { result.add(f); } } return result; } }
@Override protected boolean createKeys(List<FileObject> list) { FileObject[] files = machineDirectory.getChildren(); for (FileObject file : files) { if (file.hasExt(fileExtension) && !file.isFolder()) { list.add(file); } } return true; }
/** Finds delegate instance cookie/if provided in cookie set. * @return instance cookie or null */ private InstanceCookie.Of delegateIC () { //return ser; InstanceCookie.Of ic = null; if (getPrimaryFile().hasExt(XML_EXT)) { ic = (InstanceCookie.Of) getCookieFromEP(InstanceCookie.Of.class); } else { ic = ser; } return ic; }
public String instanceName () { // try the life object if any FileObject fo = entry ().getFile (); if (fo.lastModified ().getTime () <= saveTime) { Object o = bean.get (); if (o != null) { return o.getClass().getName(); } } if (!fo.hasExt (INSTANCE)) { return super.instanceName (); } return getClassName(fo); }
boolean containsSources(FileObject f) { if (f.isFolder()) { for (FileObject k : f.getChildren()) { if (containsSources(k)) { return true; } } return false; } else { return f.hasExt("java"); // NOI18N } } });
public Node.Cookie getCookie(Class clazz) { Node.Cookie supe = null; if (getPrimaryFile().hasExt(XML_EXT)) { // #24683 fix: do not return any cookie until the .settings file is written // successfully; PROP_COOKIE is fired when cookies are available. String filename = getPrimaryFile().getPath(); if (createdIDOs.contains(filename)) return null; supe = (Node.Cookie) getCookieFromEP(clazz); if (InstanceCookie.class.isAssignableFrom(clazz)) return supe; } if (supe == null) supe = super.getCookie(clazz); return supe; }
public boolean canCut() { if (!getDataObject().getPrimaryFile().hasExt(XML_EXT)) return super.canCut(); try { InstanceCookie ic = ic(); if (ic == null) return false; Class clazz = ic.instanceClass(); return (!SharedClassObject.class.isAssignableFrom(clazz)); } catch (Exception ex) { return false; } }
public boolean canCopy() { if (!getDataObject().getPrimaryFile().hasExt(XML_EXT)) return super.canCopy(); try { InstanceCookie ic = ic(); if (ic == null) return false; Class clazz = ic.instanceClass(); //XXX if (XMLSettingsSupport.BrokenSettings.class.isAssignableFrom(clazz)) // return false; return (!SharedClassObject.class.isAssignableFrom(clazz)); } catch (Exception ex) { return false; } }
void notifyFileChanged(FileEvent fe) { super.notifyFileChanged(fe); if (getPrimaryFile().hasExt(XML_EXT)) { if (!Creator.isFiredFromMe(fe)) { getCookiesLookup(true); } } }
/** Indicate whether the node may be renamed. * @return tests {@link DataObject#isRenameAllowed} */ public boolean canRename() { if (!getDataObject().getPrimaryFile().hasExt(XML_EXT)) return super.canRename(); return getDeclaredSetter() != null; }
/** Indicate whether the node may be destroyed. * @return tests {@link DataObject#isDeleteAllowed} */ public boolean canDestroy() { if (!getDataObject().getPrimaryFile().hasExt(XML_EXT)) return super.canDestroy(); try { InstanceCookie ic = ic(); if (ic == null) return true; Class clazz = ic.instanceClass(); return (!SharedClassObject.class.isAssignableFrom(clazz)); } catch (Exception ex) { return false; } }
protected Node createNodeDelegate () { if (getPrimaryFile().hasExt(XML_EXT)) { un = new UpdatableNode(createNodeDelegateImpl()); return un; } else { return createNodeDelegateImpl(); } }
private static boolean isOpenedForm(FileObject fo) { if (fo.existsExt("form") && fo.hasExt("java")) { // NOI18N try { DataObject dobj = DataObject.find(fo); if (dobj instanceof FormDataObject) { FormDataObject formDO = (FormDataObject) dobj; return formDO.getFormEditor().isOpened(); } } catch(DataObjectNotFoundException ex) { assert false; } } return false; } }
/** schedule task to save the instance */ final void scheduleSave () { // just for .ser files if (isSavingCanceled() || !getPrimaryFile().hasExt(SER_EXT)) return; doFileLock(); ser.getSaveTask().schedule(SAVE_DELAY); }
protected void handleDelete() throws IOException { savingCanceled = true; if (getPrimaryFile().hasExt(XML_EXT)) { handleDeleteSettings(); return; } if (ser != null) { RequestProcessor.Task task = ser.getSaveTask(); task.cancel(); if (ser.isSaving() && !task.isFinished()) task.waitFinished(); } relaseFileLock(); super.handleDelete(); }