private String parseEnhancedTypeName(RefreshRequest request) { try { return parseEnhancedTypeName(request.file.openInputStream(), request.file.getBaseName()); } catch (IOException e) { return IErrorType.NAME; } }
@Override public String[] getTypesForFile(IFile file) { String type = TypeSystem.getGlobalModule().pathRelativeToRoot(file.getParent()); String packageName = (type.replace('/', '.') + '.' + file.getBaseName()).toLowerCase(); XmlSchemaIndex<?> index = getSchemaForNamespace(packageName); if (index != null) { Set<String> allTypeNames = index.getAllTypeNames(null); return allTypeNames.toArray(new String[allTypeNames.size()]); } // No schema index yet -- must be a new type, need to refresh namespace type at least return new String[] { packageName }; }
private IFile getFileMatchCase( IDirectory dir, String strFileName ) { IFile file = dir.file( strFileName ); return file != null && file.exists() && IFileUtil.getBaseName( strFileName ).equals( file.getBaseName() ) ? file : null; }
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; }
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; }
@Override public String[] getTypesForFile(IModule module, IFile file) { if (module != null) { // Module for (ITypeLoader loader : module.getModuleTypeLoader().getTypeLoaderStack()) { final List<String> typeNames = new ArrayList<String>(); if (loader.handlesFile(file)) { typeNames.addAll(Arrays.asList(loader.getTypesForFile(file))); } if (!typeNames.isEmpty()) { return typeNames.toArray(new String[typeNames.size()]); } } } // Global final List<String> typeNames = new ArrayList<String>(); for (ITypeLoader loader : getGlobalModuleTypeLoader().getTypeLoaderStack()) { if (loader.handlesFile(file)) { typeNames.addAll(Arrays.asList(loader.getTypesForFile(file))); } } if (!typeNames.isEmpty()) { return typeNames.toArray(new String[typeNames.size()]); } // Default return new String[] {"default." + file.getBaseName()}; }
@Override public String[] getTypesForFile(IModule module, IFile file) { if (module != null) { // Module for (ITypeLoader loader : module.getModuleTypeLoader().getTypeLoaderStack()) { final List<String> typeNames = new ArrayList<String>(); if (loader.handlesFile(file)) { typeNames.addAll(Arrays.asList(loader.getTypesForFile(file))); } if (!typeNames.isEmpty()) { return typeNames.toArray(new String[typeNames.size()]); } } } // Global final List<String> typeNames = new ArrayList<String>(); for (ITypeLoader loader : getGlobalModuleTypeLoader().getTypeLoaderStack()) { if (loader.handlesFile(file)) { typeNames.addAll(Arrays.asList(loader.getTypesForFile(file))); } } if (!typeNames.isEmpty()) { return typeNames.toArray(new String[typeNames.size()]); } // Default return new String[] {"default." + file.getBaseName()}; }
private void loadType(IFile antlibFile) { String antlibResource = readFile(antlibFile).trim(); if (antlibResource.isEmpty()) { // Nothing to load right now! return; } IFile antlibResourceFile = findFirstFile(antlibResource); String antlibName = antlibFile.getBaseName(); String typeName = AntlibTypeLoader.GW_VARK_TASKS_PACKAGE_WITH_DOT + antlibName; AntlibTypeLoader.log("loading antlib " + antlibFile.getBaseName() + " (" + antlibResource + ")", Project.MSG_VERBOSE); AntlibType type = new AntlibType(typeName, antlibFile, antlibResourceFile, _typeLoader); _typesByName.put(type.getName(), type); addSource(antlibFile, type.getName()); addSource(antlibResourceFile, type.getName()); }
private HashMap<String, IDirectory> getNonOverriddenCollectionPaths() { HashMap<String, IDirectory> map = new HashMap<String, IDirectory>(); List<Pair<String,IFile>> pairs = getModule().getFileRepository().findAllFilesByExtension(WSC_EXTENSION); for ( Pair<String, IFile> pair : pairs ) { IFile file = pair.getSecond(); IDirectory dir = file.getParent().dir(file.getBaseName()); String collectionPath = getCollectionPath(pair.getFirst()); if (!map.containsKey(collectionPath)) { map.put(collectionPath, dir); } } return map; }