public boolean isConfigFile(IFile file) { final String extension = file.getExtension(); if (extension != null) { return EXTENSIONS.contains(extension); } return false; }
public boolean isConfigFile(IFile file) { final String extension = file.getExtension(); if (extension != null) { return EXTENSIONS.contains(extension); } return false; }
public ClassFileInfo( ClassPathEntry entry, IFile file, boolean isTestClass ) { _entry = entry; _file = file; _classType = _file.getExtension().equalsIgnoreCase("java") ? ClassType.JavaClass : ClassType.Class; _innerClassParts = Collections.emptyList(); _isTestClass = isTestClass; _file = file; }
public ClassFileInfo( ClassPathEntry entry, IFile file, boolean isTestClass ) { _entry = entry; _file = file; _classType = _file.getExtension().equalsIgnoreCase("java") ? ClassType.JavaClass : ClassType.Class; _innerClassParts = Collections.emptyList(); _isTestClass = isTestClass; _file = file; }
@Override public boolean handlesFile(IFile file) { return getExtensions().contains(file.getExtension()); }
@Override public boolean handlesFile(IFile file) { return getFileExtension().equals( file.getExtension() ); }
@Override public boolean handlesFile(IFile file) { return getExtensions().contains(file.getExtension()); }
@Override public RefreshKind refreshedFile(IFile file, String[] types, RefreshKind kind) { // List<String> typeNames = getTypeNamesForFile(file); if (file.getExtension().toLowerCase().equals(JSC_EXT) || file.getExtension().toLowerCase().equals(JSC_RPC_EXT) || file.getExtension().toLowerCase().equals(JSON_EXT)) { _rawTypes.clear(); _namespaces.clear(); _filesToTypes.clear(); if (file.getExtension().toLowerCase().equals(JSC_EXT)) { _jscFiles.clear(); } if (file.getExtension().toLowerCase().equals(JSC_RPC_EXT)) { _jscRpcFiles.clear(); } if (file.getExtension().toLowerCase().equals(JSON_EXT)) { _jsonFiles.clear(); } } return kind; }
@Override public boolean handlesFile( IFile file ) { return FILE_EXTENSION.equalsIgnoreCase( file.getExtension() ) && !isDisplayPropertiesFile( file.getName() ); }
@Override public boolean handlesFile( IFile file ) { return FILE_EXTENSION.equalsIgnoreCase( file.getExtension() ) && !isDisplayPropertiesFile( file.getName() ); }
@Override public boolean handlesFile(IFile file) { return ANTLIB_EXTENSION.equals(file.getExtension()) || _types.get().getSourceFiles().contains(file); }
private Set<String> indexEnhancements(RefreshRequest request) { Set<String> enhancedTypes = new HashSet<String>(); if (request.file != null && request.file.getExtension().equals("gsx") && // request type can be an inner class or block, avoid processing those as enhancements request.file.getBaseName().equals( getSimpleName( request.types[0] ) ) ) { String enhancementName = request.types[0]; _currentEnhName = enhancementName; String enhancedTypeName = parseEnhancedTypeName(request); if (enhancedTypeName != null && !IErrorType.NAME.equals(enhancedTypeName)) { ArrayList<String> enhancements = getEnhancementIndexForType(enhancedTypeName); if (!enhancements.contains(enhancementName)) { enhancements.add(enhancementName); enhancedTypes.add(enhancedTypeName); } } } return enhancedTypes; }
public Set<TypeName> getTypeNames(Set<String> extensions, ITypeLoader loader) { Set<TypeName> names = new HashSet<TypeName>(); for (PackageToClassPathEntryTreeMap child : _children.values()) { String name = child._strFullPackageName; name = name.substring(name.lastIndexOf('.') + 1); names.add(new TypeName(name, loader, TypeName.Kind.NAMESPACE, TypeName.Visibility.PUBLIC)); } for (IFileSystemGosuClassRepository.ClassPathEntry classPathEntry : _classPathEntries) { IDirectory entryPath = classPathEntry.getPath().dir(_strFullPackageName.replace('.', '/')); List<? extends IFile> files = entryPath.listFiles(); for (IFile file : files) { String extension = "." + file.getExtension(); if (extensions.contains(extension)) { String fqn = entryPath.relativePath(file).replace('/', '.'); fqn = fqn.substring(0, fqn.lastIndexOf('.')); names.add(new TypeName(_strFullPackageName + "." + fqn, loader, TypeName.Kind.TYPE, TypeName.Visibility.PUBLIC)); } } } return names; } }
public Set<TypeName> getTypeNames(Set<String> extensions, ITypeLoader loader) { Set<TypeName> names = new HashSet<TypeName>(); for (PackageToClassPathEntryTreeMap child : _children.values()) { String name = child._strFullPackageName; name = name.substring(name.lastIndexOf('.') + 1); names.add(new TypeName(name, loader, TypeName.Kind.NAMESPACE, TypeName.Visibility.PUBLIC)); } for (IFileSystemGosuClassRepository.ClassPathEntry classPathEntry : _classPathEntries) { IDirectory entryPath = classPathEntry.getPath().dir(_strFullPackageName.replace('.', '/')); List<? extends IFile> files = entryPath.listFiles(); for (IFile file : files) { String extension = "." + file.getExtension(); if (extensions.contains(extension)) { String fqn = entryPath.relativePath(file).replace('/', '.'); fqn = fqn.substring(0, fqn.lastIndexOf('.')); names.add(new TypeName(_strFullPackageName + "." + fqn, loader, TypeName.Kind.TYPE, TypeName.Visibility.PUBLIC)); } } } return names; } }
private MethodList initTasks(IModule module, IFile resource) { List<Pair<String, String>> listing; if (resource.getExtension().equals("properties")) { listing = readTaskListingFromPropertiesFile(resource); } else if (resource.getExtension().equals(".xml")) { listing = readTaskListingFromAntlib(resource); } else { throw new IllegalArgumentException("resourceName must have suffix .resource or .xml"); } MethodList methods = new MethodList(); for (Pair<String, String> entry : listing) { String taskName = entry.getFirst(); String taskClassName = entry.getSecond(); IMethodInfo method = createTaskAsMethod(module, taskName, taskClassName); methods.add(method); } return methods; }
public void assertManifestContainsSourcesEntry(IDirectory dir, String expectedSources) { HashSet<String> found = new HashSet<String>(); DynamicArray<? extends IFile> files = IDirectoryUtil.allContainedFilesExcludingIgnored(dir); for (IFile file : files) { String extension = file.getExtension(); if (extension.equals("gs") || extension.equals("gsx") || extension.equals("xsd")) { found.add(extension); } } List<String> foundExtensions = new ArrayList<String>(found); Collections.sort(foundExtensions); if (expectedSources != null) { List<String> expectedSourceExtensions = Arrays.asList(expectedSources.split(",")); Assertions.assertThat(foundExtensions) .as("the set of extensions in the manifest (Contains-Sources) don't match the set found in the jar") .isEqualTo(expectedSourceExtensions); assertEquals(expectedSources, _mf.getMainAttributes().getValue("Contains-Sources")); } else { Assertions.assertThat(foundExtensions).isEmpty(); assertNull(_mf.getMainAttributes().getValue("Contains-Sources")); } }
private Set<String> indexEnhancements( RefreshRequest request ) { Set<String> enhancedTypes = new HashSet<>(); if( request.file != null && request.file.getExtension().equals( "gsx" ) && // request type can be an inner class or block, avoid processing those as enhancements request.file.getBaseName().equals( getSimpleName( request.types[0] ) ) ) { String enhancementName = request.types[0]; _currentEnhName = enhancementName; IType enh = TypeSystem.getByFullNameIfValidNoJava( enhancementName ); if( enh instanceof IGosuEnhancement ) { String enhancedTypeName = parseEnhancedTypeName( ((IGosuEnhancement)enh).getSourceFileHandle() ); if( enhancedTypeName != null && !IErrorType.NAME.equals( enhancedTypeName ) ) { ArrayList<String> enhancements = getEnhancementIndexForType( enhancedTypeName ); if( !enhancements.contains( enhancementName ) ) { enhancements.add( enhancementName ); enhancedTypes.add( enhancedTypeName ); } } } } return enhancedTypes; }
void reload(IFile file, RefreshKind kind) { Set<String> types = _typesBySource.get(file); if (types != null) { for (String typeName : types) { AntlibType type = _typesByName.get(typeName); // Clear old type mappings _typesByName.remove(type.getName()); removeSource(type.getAntlibFile(), type.getName()); removeSource(type.getAntlibResourceFile(), type.getName()); // Reload .antlib if (kind != RefreshKind.DELETION) { loadType(type.getAntlibFile()); } } } else { // must be an .antlib file! if (!file.getExtension().equals(AntlibTypeLoader.ANTLIB_EXTENSION)) { throw new IllegalStateException("Unexpected source file being refreshed!"); } if (kind != RefreshKind.DELETION) { loadType(file); } } }
/** * @param type a type that is dynamically compiled to bytecode from source by Gosu * @return the corresponding file extension to replace the URL's .class extension when * searching for the source file to compile. Otherwise if the type has no physical * file or the file is not obtained from the classpath corresponding with a ClassLoader, * returns null. */ private String getFileExt( ICompilableType type ) { while( type instanceof ICompilableType ) { ISourceFileHandle sfh = type.getSourceFileHandle(); IFile file = sfh.getFile(); if( file != null ) { if( !sfh.isStandardPath() ) { // The path is not in the target classpath of any ClassLoader e.g., it's added to Gosu's type sys repo in StandardEntityAccess#getAdditionalSourceRoots() return null; } return '.' + file.getExtension(); } type = type.getEnclosingType(); } return null; }