List of usage examples for org.apache.commons.vfs2 FileType FOLDER
FileType FOLDER
To view the source code for org.apache.commons.vfs2 FileType FOLDER.
Click Source Link
From source file:org.pentaho.metaverse.impl.VfsLineageCollector.java
@Override public List<String> listArtifactsForFile(String pathToArtifact, String startingDate, String endingDate) throws IllegalArgumentException { List<String> paths = new ArrayList<>(); try {/* w w w.j a v a 2 s .c o m*/ FileSystemOptions opts = new FileSystemOptions(); FileObject lineageRootFolder = KettleVFS.getFileObject(getOutputFolder(), opts); FileSelector dateRangeFilter = new VfsDateRangeFilter(format, startingDate, endingDate); FileSelector depthFilter = new FileDepthSelector(1, 256); if (lineageRootFolder.exists() && lineageRootFolder.getType() == FileType.FOLDER) { // get all of the date folders of lineage we have FileObject[] dayFolders = lineageRootFolder.findFiles(dateRangeFilter); for (FileObject dayFolder : dayFolders) { FileObject[] listThisFolder = dayFolder.findFiles(depthFilter); for (FileObject currentFile : listThisFolder) { FileObject requested = currentFile.resolveFile(pathToArtifact); if (requested.exists() && requested.getType() == FileType.FOLDER) { FileObject[] requestedChildren = requested.getChildren(); for (FileObject requestedChild : requestedChildren) { if (requestedChild.getType() == FileType.FILE) { paths.add(requestedChild.getName().getPath()); } } } } } } return paths; } catch (Exception e) { throw new IllegalArgumentException(e); } }
From source file:org.pentaho.metaverse.util.VfsDateRangeFilter.java
@Override public boolean includeFile(FileSelectInfo fileInfo) { boolean result = super.includeFile(fileInfo); try {// w w w .j av a 2 s . c o m if (fileInfo.getFile().getType() == FileType.FOLDER) { Date folderDate = format.parse(fileInfo.getFile().getName().getBaseName()); // assume a match on start & end dates int startCompare = 0; int endCompare = 0; // it is a valid date, now, is it greater than or equal to the requested date? if (startingDate != null) { startCompare = folderDate.compareTo(startingDate); } if (endingDate != null) { endCompare = folderDate.compareTo(endingDate); } return startCompare >= 0 && endCompare <= 0 && result; } else { return false; } } catch (ParseException | FileSystemException e) { // folder name is not a valid date string, reject it return false; } }
From source file:org.pentaho.metaverse.util.VfsDateRangeFilterTest.java
@Test public void testAccept_startDateSet() throws Exception { filter = new VfsDateRangeFilter(format, start); FileSelectInfo fsi = mock(FileSelectInfo.class); FileObject fo = mock(FileObject.class); FileName fn = mock(FileName.class); when(fn.getBaseName()).thenReturn(end); when(fo.getType()).thenReturn(FileType.FOLDER); when(fo.getName()).thenReturn(fn);//from ww w.ja va2s . c o m when(fsi.getFile()).thenReturn(fo); when(fsi.getDepth()).thenReturn(1); assertTrue(filter.includeFile(fsi)); when(fn.getBaseName()).thenReturn(start); assertTrue("Start date is not inclusive", filter.includeFile(fsi)); when(fn.getBaseName()).thenReturn("20000101"); assertFalse("Before start date was accepted", filter.includeFile(fsi)); }
From source file:org.pentaho.metaverse.util.VfsDateRangeFilterTest.java
@Test public void testAccept_startDateSet_endDateSet() throws Exception { filter = new VfsDateRangeFilter(format, start, end); FileSelectInfo fsi = mock(FileSelectInfo.class); FileObject fo = mock(FileObject.class); FileName fn = mock(FileName.class); when(fn.getBaseName()).thenReturn(end); when(fo.getType()).thenReturn(FileType.FOLDER); when(fo.getName()).thenReturn(fn);//from www . ja v a 2 s.co m when(fsi.getFile()).thenReturn(fo); when(fsi.getDepth()).thenReturn(1); assertTrue("End date is not inclusive", filter.includeFile(fsi)); when(fn.getBaseName()).thenReturn(start); assertTrue("Start date is not inclusive", filter.includeFile(fsi)); when(fn.getBaseName()).thenReturn(between); assertTrue("Between start and end date is not accepted", filter.includeFile(fsi)); when(fn.getBaseName()).thenReturn("20000101"); assertFalse("Before start date was accepted", filter.includeFile(fsi)); when(fn.getBaseName()).thenReturn("21000101"); assertFalse("After end date was accepted", filter.includeFile(fsi)); }
From source file:org.pentaho.metaverse.util.VfsDateRangeFilterTest.java
@Test public void testAccept_startDateNull_endDateSet() throws Exception { filter = new VfsDateRangeFilter(format, null, end); FileSelectInfo fsi = mock(FileSelectInfo.class); FileObject fo = mock(FileObject.class); FileName fn = mock(FileName.class); when(fn.getBaseName()).thenReturn(end); when(fo.getType()).thenReturn(FileType.FOLDER); when(fo.getName()).thenReturn(fn);//from w w w.ja v a 2s . c o m when(fsi.getFile()).thenReturn(fo); when(fsi.getDepth()).thenReturn(1); assertTrue("End date is not inclusive", filter.includeFile(fsi)); when(fn.getBaseName()).thenReturn("20000101"); assertTrue("Before end date was not accepted", filter.includeFile(fsi)); when(fn.getBaseName()).thenReturn("21000101"); assertFalse("After end date was accepted", filter.includeFile(fsi)); }
From source file:org.pentaho.metaverse.util.VfsDateRangeFilterTest.java
@Test public void testAccept_invalidDateStringFolder() throws Exception { filter = new VfsDateRangeFilter(format, start, end); filter = new VfsDateRangeFilter(format, null, end); FileSelectInfo fsi = mock(FileSelectInfo.class); FileObject fo = mock(FileObject.class); FileName fn = mock(FileName.class); when(fn.getBaseName()).thenReturn("not a date"); when(fo.getType()).thenReturn(FileType.FOLDER); when(fo.getName()).thenReturn(fn);// ww w . j av a2 s .c o m when(fsi.getFile()).thenReturn(fo); when(fsi.getDepth()).thenReturn(1); assertFalse("Invalid date was accepted", filter.includeFile(fsi)); }
From source file:org.pentaho.reporting.designer.extensions.pentaho.repository.actions.ValidateLoginTask.java
public boolean validateLoginData() throws FileSystemException { if (loginData == null) { return true; }//from w w w. ja v a 2s . com final FileObject vfsConnection = PublishUtil.createVFSConnection(VFS.getManager(), loginData); try { final FileSystem fileSystem = vfsConnection.getFileSystem(); if (fileSystem instanceof WebSolutionFileSystem) { final WebSolutionFileSystem webSolutionFileSystem = (WebSolutionFileSystem) fileSystem; final Long l = (Long) webSolutionFileSystem .getAttribute(WebSolutionFileSystem.LAST_REFRESH_TIME_ATTRIBUTE); if (l != null) { if ((System.currentTimeMillis() - l) > 500) { webSolutionFileSystem.getLocalFileModel().refresh(); } } return true; } } catch (FileSystemException fse) { // not all file systems support attributes .. } catch (IOException e) { return false; } final FileType type = vfsConnection.getType(); if (type != FileType.FOLDER) { return false; } return true; }
From source file:org.pentaho.reporting.designer.extensions.pentaho.repository.dialogs.RepositoryOpenDialog.java
public String performOpen(final AuthenticationData loginData, final String previousSelection) throws FileSystemException, UnsupportedEncodingException { fileSystemRoot = PublishUtil.createVFSConnection(VFS.getManager(), loginData); if (previousSelection == null) { setSelectedView(fileSystemRoot); } else {/*from w ww .ja v a2s . c om*/ final FileObject view = fileSystemRoot.resolveFile(previousSelection); if (view == null) { setSelectedView(fileSystemRoot); } else { if (view.exists() == false) { setSelectedView(fileSystemRoot); } else if (view.getType() == FileType.FOLDER) { setSelectedView(view); } else { setSelectedView(view.getParent()); } } } if (StringUtils.isEmpty(fileNameTextField.getText(), true) && previousSelection != null) { final String fileName = IOUtils.getInstance().getFileName(previousSelection); DebugLog.log("Setting filename to " + fileName); fileNameTextField.setText(fileName); } getConfirmAction().setEnabled(validateInputs(false)); if (super.performEdit() == false || selectedView == null) { return null; } return getSelectedFile(); }
From source file:org.pentaho.reporting.designer.extensions.pentaho.repository.model.RepositoryTableModel.java
public int getRowCount() { if (selectedPath == null) { return 0; }/*from www . j a va 2s .co m*/ try { if (selectedPath.getType() != FileType.FOLDER) { return 0; } final FileObject[] children = selectedPath.getChildren(); int count = 0; for (int i = 0; i < children.length; i++) { final FileObject child = children[i]; if (isShowHiddenFiles() == false && child.isHidden()) { continue; } if (child.getType() != FileType.FOLDER) { if (PublishUtil.acceptFilter(filters, child.getName().getBaseName()) == false) { continue; } } count += 1; } return count; } catch (FileSystemException fse) { UncaughtExceptionsModel.getInstance().addException(fse); return 0; } }
From source file:org.pentaho.reporting.designer.extensions.pentaho.repository.model.RepositoryTableModel.java
public FileObject getElementForRow(final int row) { if (selectedPath == null) { return null; }/*from www.j ava2 s.com*/ try { if (selectedPath.getType() != FileType.FOLDER) { return null; } final FileObject[] children = selectedPath.getChildren(); int count = 0; for (int i = 0; i < children.length; i++) { final FileObject child = children[i]; if (isShowHiddenFiles() == false && child.isHidden()) { continue; } if (child.getType() != FileType.FOLDER) { if (PublishUtil.acceptFilter(filters, child.getName().getBaseName()) == false) { continue; } } if (count == row) { return child; } count += 1; } return null; } catch (FileSystemException fse) { UncaughtExceptionsModel.getInstance().addException(fse); return null; } }