synchronized private void lazyInitialization () { obj_files = obj.files(); }
/** Mark all contained files as belonging to this loader. * If the files are rescanned (e.g. after a disposal), the current data loader will be given preference. */ protected final void markFiles () throws IOException { Iterator en = files ().iterator (); while (en.hasNext ()) { FileObject fo = (FileObject)en.next (); loader.markFile (fo); } }
DataObject.Registry registries = DataObject.getRegistry(); registries.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { System.out.println("ChangedListener: o = " + e.getSource().getClass()); System.out.println("ChangedListener: o.source = " + e.getSource()); } }); DataObject[] objects = registries.getModified(); for (int i = 0; i < objects.length; i++) { DataObject dataObj = objects[I]; System.out.println("data object name = " + dataObj.getName()); System.out.println("data object pimary file name = " + dataObj.getPrimaryFile().getName()); Set fss = dataObj.files(); Iterator iter = fss.iterator(); while (iter.hasNext()) { FileObject fo = (FileObject) iter.next(); System.out.println("\tset file object: " + fo.getName()); } }
/** Create list of all files for given collection of data objects. * @param c collection of DataObjectPool.Item * @return set of files */ private static Set createSetOfAllFiles (Collection c) { HashSet set = new HashSet (c.size () * 7); Iterator it = c.iterator(); while (it.hasNext()) { Item item = (Item)it.next (); DataObject obj = item.getDataObjectOrNull (); if (obj != null) { getPOOL ().waitNotified (obj); set.addAll (obj.files ()); } } return set; }
private List<VCSFileProxy> getFiles(DataObject tcDataObject) { List<VCSFileProxy> ret = new ArrayList<VCSFileProxy>(); LOG.log(Level.FINER, " looking up files in dataobject {0} ", new Object[]{tcDataObject}); Set<FileObject> fos = tcDataObject.files(); if(fos != null) { for (FileObject fo : fos) { LOG.log(Level.FINER, " found file {0}", new Object[]{fo}); VCSFileProxy f = VCSFileProxy.createFileProxy(fo); if( f != null) { String path = FileUtils.getPath(f); if (!openedFiles.contains(path) && !touchedFiles.contains(path)) { ret.add(f); } } } } if(LOG.isLoggable(Level.FINER)) { for (VCSFileProxy f : ret) { LOG.log(Level.FINER, " returning file {0} ", new Object[]{f}); } } return ret; } private boolean handleManaged(VCSFileProxy file) {
public @Override String getHtmlDisplayName() { String result = null; DataObject dob = getLookup().lookup(DataObject.class); if (dob != null) { Set<FileObject> files = dob.files(); result = computeAnnotatedHtmlDisplayName(getDisplayName(), files); } return result; }
public Object getValue() { Set files = obj.files(); String[] toret = new String[files.size()]; int i = 0; for (Iterator it = files.iterator(); it.hasNext(); i++) { toret[i] = name((FileObject)it.next()); } final String pfilename = name(obj.getPrimaryFile()); Arrays.sort(toret, new Comparator() { public int compare(Object o1, Object o2) { String fname1 = (String) o1; String fname2 = (String) o2; if (fname1.equals(pfilename)) return -1; else if (fname2.equals(pfilename)) return 1; else return fname1.compareTo(fname2); } }); return toret; }
public @Override String getHtmlDisplayName() { String result = null; DataObject dob = getLookup().lookup(DataObject.class); if (dob != null) { Set<FileObject> files = dob.files(); result = computeAnnotatedHtmlDisplayName(getDisplayName(), files); } return result; }
/** * Copy the source files of a data object to specified target folder. * * <p> * Will copy the files contained in {@link DataObject#files()}. Will first * copy any other file than {@link DataObject#getPrimaryFile()} and then * copy the primary file. This ensures that any loader of the primary file * dependent on the secondary files has all the files available.</p> * * @param dataObject * @param targetFolder */ protected void copySourceFiles(DataObject dataObject, FileObject targetFolder) { Set<FileObject> files = dataObject.files(); // first copy secondary, so remove primary FileObject primary = dataObject.getPrimaryFile(); files.remove(primary); Iterator<FileObject> filesIterator = files.iterator(); while (filesIterator.hasNext()) { FileObject current = filesIterator.next(); copy(targetFolder, current); } copy(targetFolder, primary); }
/** * copy the source files from a data object to specified target folder. Will * copy the files contained in {@link DataObject#files()} Will first copy * any other file than {@link DataObject#getPrimaryFile()} and then copy the * primary file. This ensures that any loader of the primary file dependent * on the secondary files has all the files available. * * @param dataObject * @param targetFolder */ protected void copySourceFiles(DataObject dataObject, FileObject targetFolder) { Set<FileObject> files = dataObject.files(); // first copy secondary, so remove primary FileObject primary = dataObject.getPrimaryFile(); files.remove(primary); Iterator<FileObject> filesIterator = files.iterator(); while (filesIterator.hasNext()) { FileObject current = filesIterator.next(); copy(targetFolder, current); } copy(targetFolder, primary); }
/** * @param file * @return Set<File> all files that belong to the same DataObject as the * argument */ public static Set<VCSFileProxy> getAllDataObjectFiles(VCSFileProxy file) { Set<VCSFileProxy> filesToCheckout = new HashSet<>(2); filesToCheckout.add(file); FileObject fo = file.toFileObject(); if (fo != null) { try { DataObject dao = DataObject.find(fo); Set<FileObject> fileObjects = dao.files(); for (FileObject fileObject : fileObjects) { filesToCheckout.add(VCSFileProxy.createFileProxy(fileObject)); } } catch (DataObjectNotFoundException e) { // no dataobject, never mind } } return filesToCheckout; }
/** * Copy sourcefiles to import-folder * @param dataObject */ @Override public void importSources(DataObject dataObject) { FileObject importFolder = getImportFolder(true); Iterator<FileObject> files = dataObject.files().iterator(); while(files.hasNext()){ FileObject current = files.next(); try { String newFileName = FileUtil.findFreeFileName(importFolder, current.getName(), current.getExt()); FileUtil.copyFile(current, importFolder, newFileName); } catch (IOException ex) { Exceptions.printStackTrace(ex); } } }
Iterator it = obj.files().iterator(); while (it.hasNext()) { FileObject fo = (FileObject)it.next();
@Override public Set<DataObject> instantiate() throws IOException { TemplateWizard wiz = templateWizard; DataFolder targetFolder = wiz.getTargetFolder(); DataObject template = wiz.getTemplate(); String sourceFileName = wiz.getTargetName(); FileObject sourceTemplate = template.files().iterator().next(); Set<DataObject> res = new LinkedHashSet<DataObject>(); FileObject bro = FileUtil.findBrother(sourceTemplate, "h"); // NOI18N if (bro != null) { DataObject dobjBro = DataObject.find(bro); String headerFileName = (String) wiz.getProperty("headerFileName"); // NOI18N DataFolder headerFolderName = (DataFolder) wiz.getProperty("headerFolder"); // NOI18N res.add(dobjBro.createFromTemplate(headerFolderName, headerFileName)); } else { String errmsg = NbBundle.getMessage(CndClassWizardIterator.class, "MSG_missing_class_header_template", sourceTemplate.getName()+".h"); // NOI18N NotifyDescriptor.Message msg = new NotifyDescriptor. Message(errmsg, NotifyDescriptor.INFORMATION_MESSAGE); DialogDisplayer.getDefault().notify(msg); } res.add(template.createFromTemplate(targetFolder, sourceFileName )); return res; }
String n = fo2.getName(); try { n = fo2.getFileSystem().getStatus().annotateName(n, dobjs[i].files()); } catch (FileStateInvalidException e) {
String n = fo2.getName(); try { n = fo2.getFileSystem().getStatus().annotateName(n, dobjs[i].files()); } catch (FileStateInvalidException e) {
/** Overrides folder icon to search for icon in UIManager table for * BeanInfo.ICON_COLOR_16x16 type, to allow for different icons * across Look and Feels. * Keeps possibility of icon annotations. */ public Image getIcon (int type) { Image img = null; if (type == BeanInfo.ICON_COLOR_16x16) { // search for proper folder icon installed by core/windows module img = (Image)UIManager.get("Nb.Explorer.Folder.icon"); } if (img == null) { img = super.getIcon(type); } else { // give chance to annotate icon returned from UIManeger // copied from DataNode to keep the contract try { DataObject obj = getDataObject(); img = obj.getPrimaryFile().getFileSystem(). getStatus().annotateIcon(img, type, obj.files()); } catch (FileStateInvalidException e) { // no fs, do nothing } } return img; }
/** Overrides folder icon to search for icon in UIManager table for * BeanInfo.ICON_COLOR_16x16 type, to allow for different icons * across Look and Feels. * Keeps possibility of icon annotations. */ public Image getOpenedIcon (int type) { Image img = null; if (type == BeanInfo.ICON_COLOR_16x16) { // search for proper folder icon installed by core/windows module img = (Image)UIManager.get("Nb.Explorer.Folder.openedIcon"); } if (img == null) { img = super.getOpenedIcon(type); } else { // give chance to annotate icon returned from UIManeger // copied from DataNode to keep the contract try { DataObject obj = getDataObject(); img = obj.getPrimaryFile().getFileSystem(). getStatus().annotateIcon(img, type, obj.files()); } catch (FileStateInvalidException e) { // no fs, do nothing } } return img; }
/** Get the display name for the node. * A filesystem may {@link org.openide.filesystems.FileSystem#getStatus specially alter} this. * @return the desired name */ public String getDisplayName () { String name = (String) getDataObject().getPrimaryFile(). getAttribute(InstanceDataObject.EA_NAME); if (name == null) { try { String def = "\b"; // NOI18N FileSystem.Status fsStatus = getDataObject().getPrimaryFile(). getFileSystem().getStatus(); name = fsStatus.annotateName(def, getDataObject().files()); if (name.indexOf(def) < 0) { return name; } else { name = getNameForBean(); if (name != null) { name = fsStatus.annotateName (name, getDataObject().files()); } else { name = super.getDisplayName(); } } } catch (FileStateInvalidException e) { // no fs, do nothing } } return name; }
/** Find an icon for this node (in the closed state). * @param type constant from {@link java.beans.BeanInfo} * @return icon to use to represent the node */ public Image getIcon (int type) { if (noBeanInfo) return super.getIcon(type); Image img = null; try { DataObject dobj = getDataObject(); img = dobj.getPrimaryFile().getFileSystem().getStatus(). annotateIcon (img, type, dobj.files ()); } catch (FileStateInvalidException e) { // no fs, do nothing } if (img == null) img = initIcon(type); if (img == null) img = super.getIcon(type); return img; }