Java Code Examples for org.springframework.core.io.support.PathMatchingResourcePatternResolver#getResources()
The following examples show how to use
org.springframework.core.io.support.PathMatchingResourcePatternResolver#getResources() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DataSourceAutoConfiguration.java From super-cloudops with Apache License 2.0 | 6 votes |
/** * Let typeAliasesPackage alias bean support wildcards. * * @return */ private Class<?>[] getTypeAliases(PathMatchingResourcePatternResolver resolver) throws Exception { List<Class<?>> typeAliases = new ArrayList<>(); // Define metadataReader MetadataReaderFactory metadataReaderFty = new CachingMetadataReaderFactory(resolver); for (String pkg : typeAliasesPackage.split(",")) { // Get location String location = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + ClassUtils.convertClassNameToResourcePath(pkg) + "**/*.class"; // Get resources. Resource[] resources = resolver.getResources(location); if (resources != null) { for (Resource resource : resources) { if (resource.isReadable()) { MetadataReader metadataReader = metadataReaderFty.getMetadataReader(resource); typeAliases.add(Class.forName(metadataReader.getClassMetadata().getClassName())); } } } } return typeAliases.toArray(new Class<?>[] {}); }
Example 2
Source File: MybatisConfig.java From ly-security with Apache License 2.0 | 6 votes |
@Bean public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) throws IOException { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); //mybatis配置 Properties prop = new Properties(); prop.setProperty("mapUnderscoreToCamelCase", "true"); sqlSessionFactoryBean.setConfigurationProperties(prop); sqlSessionFactoryBean.setTypeAliasesPackage("com.tc.ly.bean"); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] resources = resolver.getResources("classpath:mapper/*.xml"); sqlSessionFactoryBean.setMapperLocations(resources); sqlSessionFactoryBean.setDataSource(dataSource); return sqlSessionFactoryBean; }
Example 3
Source File: SqlSessionFactory2Config.java From mybatis.flying with Apache License 2.0 | 6 votes |
@Bean(name = "sqlSessionFactory2") @Primary public SqlSessionFactoryBean createSqlSessionFactory2Bean() throws IOException { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); /** 设置datasource */ sqlSessionFactoryBean.setDataSource(dataSource2); VFS.addImplClass(SpringBootVFS.class); /** 设置mybatis configuration 扫描路径 */ sqlSessionFactoryBean.setConfigLocation(new ClassPathResource("Configuration.xml")); /** 设置typeAlias 包扫描路径 */ sqlSessionFactoryBean.setTypeAliasesPackage("indi.mybatis.flying"); /** 添加mapper 扫描路径 */ PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] ra1 = resolver.getResources("classpath*:indi/mybatis/flying/mapper*/*.xml"); sqlSessionFactoryBean.setMapperLocations(ra1); // 扫描映射文件 return sqlSessionFactoryBean; }
Example 4
Source File: SqlSessionFactoryConfig.java From mybatis.flying with Apache License 2.0 | 6 votes |
@Bean(name = "sqlSessionFactory") @Primary public SqlSessionFactoryBean createSqlSessionFactoryBean() throws IOException { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); /** 设置datasource */ sqlSessionFactoryBean.setDataSource(dataSource1); VFS.addImplClass(SpringBootVFS.class); /** 设置mybatis configuration 扫描路径 */ sqlSessionFactoryBean.setConfigLocation(new ClassPathResource("Configuration.xml")); /** 设置typeAlias 包扫描路径 */ sqlSessionFactoryBean.setTypeAliasesPackage("indi.mybatis.flying"); /** 添加mapper 扫描路径 */ PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] ra1 = resolver.getResources("classpath*:indi/mybatis/flying/mapper*/*.xml"); sqlSessionFactoryBean.setMapperLocations(ra1); // 扫描映射文件 return sqlSessionFactoryBean; }
Example 5
Source File: Utility.java From mercury with Apache License 2.0 | 6 votes |
private List<String> getJarList(String path) { List<String> list = new ArrayList<>(); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); try { Resource[] res = resolver.getResources(path); for (Resource r : res) { String name = r.getFilename(); if (name != null) { list.add(name.endsWith(JAR) ? name.substring(0, name.length() - JAR.length()) : name); } } } catch (IOException e) { // ok to ignore } return list; }
Example 6
Source File: TestLabelsProperties.java From entando-core with GNU Lesser General Public License v3.0 | 6 votes |
protected void testLabelsTranslations(String propertiesFolder, String properties1, String properties2) throws Throwable { PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] resources1 = resolver.getResources(propertiesFolder + properties1); Resource[] resources2 = resolver.getResources(propertiesFolder + properties2); Properties props1 = new Properties(); Properties props2 = new Properties(); props1.load(resources1[0].getInputStream()); props2.load(resources2[0].getInputStream()); Set<String> stringPropertyNames1 = props1.stringPropertyNames(); Set<String> stringPropertyNames2 = props2.stringPropertyNames(); stringPropertyNames1.removeAll(stringPropertyNames2); stringPropertyNames1.forEach((v) -> { logger.error("{}{} -> found error for the key {} check this or {} file to fix this error", propertiesFolder, properties1, v, properties2); }); assertEquals(0, stringPropertyNames1.size()); stringPropertyNames1 = props1.stringPropertyNames(); stringPropertyNames2 = props2.stringPropertyNames(); stringPropertyNames2.removeAll(stringPropertyNames1); stringPropertyNames2.forEach((v) -> { logger.error("{}{} found error for the key {} check this or {} file to fix this error", propertiesFolder, properties2, v, properties1); }); assertEquals(0, stringPropertyNames2.size()); }
Example 7
Source File: BootstrapThemePopulator.java From molgenis with GNU Lesser General Public License v3.0 | 6 votes |
/** * Populate the database with the available bootstrap themes found in the jar. This enables the * release of the application with a set of predefined bootstrap themes. * * <p>If a given bootstrap 3 theme is located a matching bootstrap 4 theme is added the the * styleSheet row is present. */ public void populate() { PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); try { Resource[] bootstrap3Themes = resolver.getResources(LOCAL_CSS_BOOTSTRAP_3_THEME_LOCATION); Resource[] bootstrap4Themes = resolver.getResources(LOCAL_CSS_BOOTSTRAP_4_THEME_LOCATION); // filter out themes already stored in the database List<Resource> newThemes = Arrays.stream(bootstrap3Themes) .filter( theme -> dataService.getRepository(STYLE_SHEET).findOneById(theme.getFilename()) == null) .collect(Collectors.toList()); newThemes.forEach(nt -> addNewTheme(nt, bootstrap4Themes)); } catch (Exception e) { LOG.error("error populating bootstrap themes", e); } }
Example 8
Source File: GlobalMessageSource.java From n2o-framework with Apache License 2.0 | 6 votes |
protected void initMessageSource(String namesPackage) { Set<String> fileNames = new HashSet<String>(); try { PathMatchingResourcePatternResolver r = new PathMatchingResourcePatternResolver(); String pack = (!namesPackage.endsWith("/") ? namesPackage + "/" : namesPackage); Resource[] resources = r.getResources("classpath*:" + pack + "*.properties"); for (Resource resource : resources) { int endIdx = resource.getFilename().indexOf('_'); if (endIdx < 0) { endIdx = resource.getFilename().indexOf(".properties"); } fileNames.add(pack + resource.getFilename().substring(0, endIdx)); } } catch (IOException e) { throw new RuntimeException(e); } setBasenames(fileNames.toArray(new String[fileNames.size()])); }
Example 9
Source File: BootstrapMojo.java From celerio with Apache License 2.0 | 6 votes |
/** * Scan the classpath for SQL configurations. */ protected List<SqlConfInfo> getSqlConfInfos() { List<SqlConfInfo> packInfos = newArrayList(); PathMatchingResourcePatternResolver o = new PathMatchingResourcePatternResolver(); try { Resource packInfosAsResource[] = o.getResources("classpath*:sqlconf/*/00-info.txt"); for (Resource r : packInfosAsResource) { packInfos.add(new SqlConfInfo(r)); } Collections.sort(packInfos); return packInfos; } catch (IOException ioe) { throw new RuntimeException("Error while searching for SQL CONF having a sqlconf/*/00-info.txt file!", ioe); } }
Example 10
Source File: ClasspathTemplatePackInfoLoader.java From celerio with Apache License 2.0 | 6 votes |
public List<TemplatePackInfo> resolveTopLevelPacks() { List<TemplatePackInfo> packInfos = newArrayList(); PathMatchingResourcePatternResolver o = new PathMatchingResourcePatternResolver(); try { Resource packInfosAsResource[] = o.getResources(CLASSPATH_CELERIO_PACK); for (Resource r : packInfosAsResource) { CelerioPack celerioPack = celerioPackConfigLoader.load(r.getInputStream()); packInfos.add(new TemplatePackInfo(celerioPack)); } return packInfos; } catch (IOException ioe) { throw new RuntimeException("Error while searching for Celerio template pack having a META-INF/celerio-pack.xml file!", ioe); } }
Example 11
Source File: TemplateGenerator.java From spring-cloud-release with Apache License 2.0 | 6 votes |
File generate(List<Project> projects, List<ConfigurationProperty> configurationProperties) { PathMatchingResourcePatternResolver resourceLoader = new PathMatchingResourcePatternResolver(); try { Resource[] resources = resourceLoader .getResources("templates/spring-cloud/*.hbs"); List<TemplateProject> templateProjects = templateProjects(projects); for (Resource resource : resources) { File templateFile = resource.getFile(); File outputFile = new File(outputFolder, renameTemplate(templateFile)); Template template = template(templateFile.getName().replace(".hbs", "")); Map<String, Object> map = new HashMap<>(); map.put("projects", projects); map.put("springCloudProjects", templateProjects); map.put("properties", configurationProperties); String applied = template.apply(map); Files.write(outputFile.toPath(), applied.getBytes()); info("Successfully rendered [" + outputFile.getAbsolutePath() + "]"); } } catch (IOException e) { throw new IllegalStateException(e); } return outputFolder; }
Example 12
Source File: ApiResourceLoader.java From entando-core with GNU Lesser General Public License v3.0 | 5 votes |
private void loadApiResources(String locationPattern) throws Exception { PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] resources = resolver.getResources(locationPattern); ApiResourcesDefDOM dom = null; for (int i = 0; i < resources.length; i++) { Resource resource = resources[i]; InputStream is = null; String path = resource.getURL().getPath(); try { is = resource.getInputStream(); String xml = FileTextReader.getText(is); dom = new ApiResourcesDefDOM(xml, path); Map<String, ApiResource> extractedResources = dom.getResources(); if (null != extractedResources) { Iterator<ApiResource> extractedResourcesIter = extractedResources.values().iterator(); while (extractedResourcesIter.hasNext()) { ApiResource apiResource = extractedResourcesIter.next(); if (null != this.getResources().get(apiResource.getCode())) { _logger.info("Into definition file '{}' there is an API with namespace '{}', resource '{}' and there is just one already present - The old definition will be overrided!!!", path, apiResource.getNamespace(), apiResource.getResourceName()); } this.getResources().put(apiResource.getCode(), apiResource); } } _logger.debug("Loaded Api Resources definition by file {}", path); } catch (Throwable t) { _logger.error("Error loading Api Resources definition by location Pattern '{}'",path, t); //ApsSystemUtils.logThrowable(t, this, "loadApiResources", "Error loading Api Resources definition by location Pattern '" + path + "'"); } finally { if (null != is) { is.close(); } } } }
Example 13
Source File: PropertiesInfoCollector.java From n2o-framework with Apache License 2.0 | 5 votes |
private Map<String, List<PropertyInfo>> calculate() throws IOException { Map<String, List<PropertiesInfoCollector.PropertyInfo>> propertyMap = new HashMap<>(); PathMatchingResourcePatternResolver pathPatternResolver = new PathMatchingResourcePatternResolver(); Resource[] resources = pathPatternResolver.getResources(locationPattern); if (resources == null || resources.length == 0) { return Collections.unmodifiableMap(new HashMap<>()); } Arrays.stream(resources).map(this::retrieve) .forEach(file -> { final String[] group = {""}; final String[] name = {null}; final String[] description = {""}; file.forEach(str -> { for (String line : str.split("\n")) { line = clean(line); if (!line.isEmpty()) { if (isGroup(line)) { group[0] = line.replaceFirst("##", "").trim(); } else if (name[0] == null && isNameOrDescription(line)) { name[0] = line; } else if (name[0] != null && isNameOrDescription(line)) { description[0] = description[0].concat(line).concat("\n"); } else { //is val propertyMap.computeIfAbsent(group[0], key -> new ArrayList<>()) .add(new PropertiesInfoCollector.PropertyInfo(getKey(line), group[0], name[0], description[0])); name[0] = null; description[0] = ""; } } } }); }); Map<String, List<PropertiesInfoCollector.PropertyInfo>> propertyMapNotModified = new ConcurrentHashMap<>(); propertyMap.forEach((k, v) -> propertyMapNotModified.put(k, Collections.unmodifiableList(v))); return Collections.unmodifiableMap(propertyMapNotModified); }
Example 14
Source File: ReloadablePropertiesFactoryBean.java From disconf with Apache License 2.0 | 5 votes |
/** */ public void setLocations(List<String> fileNames) { List<Resource> resources = new ArrayList<Resource>(); for (String filename : fileNames) { // trim filename = filename.trim(); String realFileName = getFileName(filename); // // register to disconf // DisconfMgr.getInstance().reloadableScan(realFileName); // // only properties will reload // String ext = FilenameUtils.getExtension(filename); if (ext.equals("properties")) { PathMatchingResourcePatternResolver pathMatchingResourcePatternResolver = new PathMatchingResourcePatternResolver(); try { Resource[] resourceList = pathMatchingResourcePatternResolver.getResources(filename); for (Resource resource : resourceList) { resources.add(resource); } } catch (IOException e) { e.printStackTrace(); } } } this.locations = resources.toArray(new Resource[resources.size()]); lastModified = new long[locations.length]; super.setLocations(locations); }
Example 15
Source File: Hbm2ddl.java From wallride with Apache License 2.0 | 5 votes |
public static void main(String[] args) throws Exception { String locationPattern = "classpath:/org/wallride/domain/*"; final BootstrapServiceRegistry registry = new BootstrapServiceRegistryBuilder().build(); final MetadataSources metadataSources = new MetadataSources(registry); final StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder(registry); registryBuilder.applySetting(AvailableSettings.DIALECT, ExtendedMySQL5InnoDBDialect.class.getCanonicalName()); registryBuilder.applySetting(AvailableSettings.GLOBALLY_QUOTED_IDENTIFIERS, true); registryBuilder.applySetting(AvailableSettings.PHYSICAL_NAMING_STRATEGY, PhysicalNamingStrategySnakeCaseImpl.class); final PathMatchingResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); final Resource[] resources = resourcePatternResolver.getResources(locationPattern); final SimpleMetadataReaderFactory metadataReaderFactory = new SimpleMetadataReaderFactory(); for (Resource resource : resources) { MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource); AnnotationMetadata metadata = metadataReader.getAnnotationMetadata(); if (metadata.hasAnnotation(Entity.class.getName())) { metadataSources.addAnnotatedClass(Class.forName(metadata.getClassName())); } } final StandardServiceRegistryImpl registryImpl = (StandardServiceRegistryImpl) registryBuilder.build(); final MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder(registryImpl); new SchemaExport() .setHaltOnError(true) .setDelimiter(";") .create(EnumSet.of(TargetType.STDOUT), metadataBuilder.build()); }
Example 16
Source File: SchemaLogTestCase.java From camunda-bpm-platform with Apache License 2.0 | 5 votes |
private List<String> readFolderContent(String path) { List<String> files = new ArrayList<String>(); try { PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] resources = resolver.getResources("classpath:" + path + "/*"); assertThat(resources.length, greaterThan(0)); for (Resource res : resources) { files.add(res.getFilename()); } } catch (IOException e) { fail("unable to load resources from " + path); } return files; }
Example 17
Source File: MessageServiceImplTest.java From alfresco-repository with GNU Lesser General Public License v3.0 | 5 votes |
private void setupRepo() throws Exception { AuthenticationUtil.clearCurrentSecurityContext(); AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); // Create a test workspace this.testStoreRef = this.nodeService.createStore(StoreRef.PROTOCOL_WORKSPACE, "Test_" + System.currentTimeMillis()); // Get a reference to the root node NodeRef rootNodeRef = this.nodeService.getRootNode(this.testStoreRef); // Create and authenticate the user if(!authenticationService.authenticationExists(AuthenticationUtil.getAdminUserName())) { authenticationService.createAuthentication(AuthenticationUtil.getAdminUserName(), PWD.toCharArray()); } // Authenticate - as admin authenticationService.authenticate(AuthenticationUtil.getAdminUserName(), PWD.toCharArray()); // Store test messages in repo String pattern = "classpath*:" + BASE_RESOURCE_CLASSPATH + BASE_BUNDLE_NAME + "*"; PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] resources = resolver.getResources(pattern); if (resources != null) { for (int i = 0; i < resources.length; i++) { String filename = resources[i].getFilename(); addMessageResource(rootNodeRef, filename, resources[i].getInputStream()); } } }
Example 18
Source File: ApiGenMojo.java From graphql-apigen with Apache License 2.0 | 5 votes |
@Override public void execute() { try { sourceDirectory = makeAbsolute(sourceDirectory); outputDirectory = makeAbsolute(outputDirectory); if ( ! sourceDirectory.exists() ) return; getLog().debug("Running ApiGen\n\tsourceDirectory=" + sourceDirectory + "\n\toutputDirectory=" + outputDirectory); ClassLoader cp = getCompileClassLoader(); ApiGen apiGen = new ApiGen.Builder() .withOutputDirectory(outputDirectory.toPath()) .withGuiceModuleName(guiceModuleName) .withDefaultPackageName(defaultPackageName) .build(); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(cp); for ( org.springframework.core.io.Resource resource : resolver.getResources("classpath*:graphql-apigen-schema/*.graphql{,s}") ) { URL url = resource.getURL(); getLog().debug("Processing "+url); apiGen.addForReference(url); } findGraphql(sourceDirectory, apiGen::addForGeneration); apiGen.generate(); Resource schemaResource = new Resource(); schemaResource.setTargetPath("graphql-apigen-schema"); schemaResource.setFiltering(false); schemaResource.setIncludes(Arrays.asList("*.graphqls","*.graphql")); schemaResource.setDirectory(sourceDirectory.toString()); project.addResource(schemaResource); project.addCompileSourceRoot(outputDirectory.getAbsolutePath()); } catch (Exception e) { String msg = e.getMessage(); if ( null == msg ) msg = e.getClass().getName(); getLog().error(msg + " when trying to build sources from graphql.", e); } }
Example 19
Source File: JiraAdapter.java From ods-provisioning-app with Apache License 2.0 | 4 votes |
/** * Create permission set for jira project * * @param project the project * @return the number of created permission sets */ public int createSpecialPermissions(OpenProjectData project) { if (!isSpecialPermissionSchemeEnabled()) { logger.info( "Do not create special permission set for project {}, " + "since property jira.specialpermissionschema.enabled=false", project.projectKey); return 0; } PathMatchingResourcePatternResolver pmrl = new PathMatchingResourcePatternResolver(Thread.currentThread().getContextClassLoader()); int updatedPermissions = 0; try { Resource[] permissionFiles = pmrl.getResources(jiraPermissionFilePattern); logger.debug("Found permissionsets: {}", permissionFiles.length); for (Resource permissionFile : permissionFiles) { PermissionScheme singleScheme = new ObjectMapper().readValue(permissionFile.getInputStream(), PermissionScheme.class); String permissionSchemeName = project.projectKey + " PERMISSION SCHEME"; singleScheme.setName(permissionSchemeName); String description = project.description; if (description != null && description.length() > 0) { singleScheme.setDescription(description); } else { singleScheme.setDescription(permissionSchemeName); } // replace group with real group for (Permission permission : singleScheme.getPermissions()) { String group = permission.getHolder().getParameter(); if ("adminGroup".equals(group)) { permission.getHolder().setParameter(project.projectAdminGroup); } else if ("userGroup".equals(group)) { permission.getHolder().setParameter(project.projectUserGroup); } else if ("readonlyGroup".equals(group)) { permission.getHolder().setParameter(project.projectReadonlyGroup); } else if ("keyuserGroup".equals(group)) { permission.getHolder().setParameter(globalKeyuserRoleName); } } logger.debug( "Update permissionScheme {} location: {}", permissionSchemeName, permissionFile.getFilename()); String path = String.format("%s%s/permissionscheme", jiraUri, jiraApiPath); RestClientCall call = httpPost() .url(path) .body(singleScheme) .returnTypeReference(new TypeReference<PermissionScheme>() {}); singleScheme = getRestClient().execute(call); // update jira project path = String.format( "%s%s/project/%s/permissionscheme", jiraUri, jiraApiPath, project.projectKey); PermissionScheme small = new PermissionScheme(); small.setId(singleScheme.getId()); getRestClient().execute(httpPut().body(small).url(path).returnType(null)); updatedPermissions++; } } catch (Exception createPermissions) { // continue - we are ok if permissions fail, because the admin has access, and // can create / link the set logger.error( "Could not update jira project permissionset: {} Exception: {} ", project.projectKey, createPermissions.getMessage()); } return updatedPermissions; }
Example 20
Source File: SeedMultiResourceItemReader.java From seed with Apache License 2.0 | 4 votes |
/** * Figure out which resource to start with in case of restart, open the delegate and restore delegate's position in * the resource. */ @Override public void open(ExecutionContext executionContext) throws ItemStreamException { super.open(executionContext); Assert.notNull(resourcesLocationPattern, "ResourcesLocationPattern must be set"); PathMatchingResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver(); try { //新增:动态读取资源文件列表 resources = patternResolver.getResources(resourcesLocationPattern); } catch (IOException e) { e.printStackTrace(); } noInput = false; if (resources.length == 0) { if (strict) { throw new IllegalStateException( "No resources to read. Set strict=false if this is not an error condition."); } else { logger.warn("No resources to read. Set strict=true if this should be an error condition."); noInput = true; return; } } Arrays.sort(resources, comparator); if (executionContext.containsKey(getExecutionContextKey(RESOURCE_KEY))) { currentResource = executionContext.getInt(getExecutionContextKey(RESOURCE_KEY)); // context could have been saved before reading anything if (currentResource == -1) { currentResource = 0; } delegate.setResource(resources[currentResource]); delegate.open(executionContext); } else { currentResource = -1; } }