private void addModuleContext(Local local, FileObject rootObject, FileObject thisFolder, FileObject resource) throws IOException { ModuleResource moduleInfo = local.moduleResourceMap.get(thisFolder); moduleInfo.addContextResource(resource.getURL()); if (logger.isDebugEnabled()) { logger.debug("module '" + moduleInfo.getMappingPath() + "': found context file, url=" + resource.getURL()); } }
private void addModuleMessage(Local local, FileObject rootObject, FileObject thisFolder, FileObject resource) throws IOException { ModuleResource moduleInfo = local.moduleResourceMap.get(thisFolder); String directory = resource.getParent().getURL().toString(); String messageFileName = resource.getName().getBaseName(); String msgBasename; if (messageFileName.indexOf('_') == -1) { msgBasename = messageFileName.substring(0, messageFileName.indexOf('.')); } else { msgBasename = messageFileName.substring(0, messageFileName.indexOf('_')); } moduleInfo.addMessageResource(directory + msgBasename); if (logger.isDebugEnabled()) { logger.debug("module '" + moduleInfo.getMappingPath() + "': found messages file, url=" + resource.getURL()); } }
private void addModuleClass(Local local, FileObject rootObject, FileObject thisFolder, FileObject resource) throws IOException { String className = rootObject.getName().getRelativeName(resource.getName()); Assert.isTrue(!className.startsWith("/")); className = StringUtils.removeEnd(className, ".class"); className = className.replace('/', '.'); ModuleResource module = local.moduleResourceMap.get(thisFolder); try { // TODO: classloader... module.addModuleClass(Class.forName(className)); if (logger.isDebugEnabled()) { logger.debug("module '" + module.getMappingPath() + "': found class, name=" + className); } } catch (ClassNotFoundException e) { logger.error("", e); } }
protected void afterScanning(Local local) { for (ModuleResource moduleResource : local.moduleResourceMap.values()) { if (moduleResource.getContextResources().size() == 0 && moduleResource.getModuleClasses().size() == 0) { local.moduleResourceList.remove(moduleResource); if (logger.isInfoEnabled()) { logger.info("remove empty module '" + moduleResource.getMappingPath() + "' " + moduleResource.getModuleUrl()); } } } }
final Module parentModule = (moduleResource.getParent() == null) ? null// : modulesAsMap.get(moduleResource.getParent()); final WebApplicationContext parentContext = (parentModule == null) ? rootContext// : parentModule.getApplicationContext(); final String namespace = "context@controllers" + moduleResource.getRelativePath().replace('/', '.'); moduleResource.getContextResources(),// moduleResource.getMessageBasenames(),// /*id*/moduleResource.getModuleUrl().toString(),// registerBeanDefinitions(moduleContext, moduleResource.getModuleClasses()); moduleResource.getModuleUrl(), // moduleResource.getMappingPath(), // moduleResource.getRelativePath(), // moduleContext); + moduleResource.getModuleUrl(); servletContext.setAttribute(contextAttrKey, moduleContext); if (moduleResource.getInterceptedDeny() != null) { if (RoseStringUtil.matches(moduleResource.getInterceptedDeny(), interceptor .getName())) { iter.remove(); if (moduleResource.getInterceptedAllow() != null) { if (!RoseStringUtil.matches(moduleResource.getInterceptedAllow(), interceptor.getName())) {
if (candidate.getParent() != null) { parentModulePath = (parentModule == null) ? "" : parentModule .getMappingPath(); mappingPath = parentModule.getMappingPath() + "/" + mappingPath; } else if (StringUtils.isNotEmpty(relative)) { mappingPath = relative + "/" + mappingPath; mappingPath = parentModule.getMappingPath() + "/" + candidate.getName().getBaseName(); } else { ModuleResource moduleResource = new ModuleResource(); moduleResource.setMappingPath(mappingPath); moduleResource.setModuleUrl(candidate.getURL()); moduleResource.setRelativePath(RoseStringUtil.relativePathToModulePath(relative)); moduleResource.setParent(parentModule); if (interceptedAllow != null) { moduleResource.setInterceptedAllow(interceptedAllow); moduleResource.setInterceptedDeny(interceptedDeny);
final Module parentModule = (moduleResource.getParent() == null) ? null// : modulesAsMap.get(moduleResource.getParent()); final WebApplicationContext parentContext = (parentModule == null) ? rootContext// : parentModule.getApplicationContext(); final String namespace = "context@controllers" + moduleResource.getRelativePath().replace('/', '.'); moduleResource.getContextResources(),// moduleResource.getMessageBasenames(),// /*id*/moduleResource.getModuleUrl().toString(),// registerBeanDefinitions(moduleContext, moduleResource.getModuleClasses()); moduleResource.getModuleUrl(), // moduleResource.getMappingPath(), // moduleResource.getRelativePath(), // moduleContext); + moduleResource.getModuleUrl(); servletContext.setAttribute(contextAttrKey, moduleContext); if (moduleResource.getInterceptedDeny() != null) { if (RoseStringUtil.matches(moduleResource.getInterceptedDeny(), interceptor .getName())) { iter.remove(); if (moduleResource.getInterceptedAllow() != null) { if (!RoseStringUtil.matches(moduleResource.getInterceptedAllow(), interceptor.getName())) {
if (candidate.getParent() != null) { parentModulePath = (parentModule == null) ? "" : parentModule .getMappingPath(); mappingPath = parentModule.getMappingPath() + "/" + mappingPath; } else if (StringUtils.isNotEmpty(relative)) { mappingPath = relative + "/" + mappingPath; mappingPath = parentModule.getMappingPath() + "/" + candidate.getName().getBaseName(); } else { ModuleResource moduleResource = new ModuleResource(); moduleResource.setMappingPath(mappingPath); moduleResource.setModuleUrl(candidate.getURL()); moduleResource.setRelativePath(RoseStringUtil.relativePathToModulePath(relative)); moduleResource.setParent(parentModule); if (interceptedAllow != null) { moduleResource.setInterceptedAllow(interceptedAllow); moduleResource.setInterceptedDeny(interceptedDeny);
protected void afterScanning(Local local) { for (ModuleResource moduleResource : local.moduleResourceMap.values()) { if (moduleResource.getContextResources().size() == 0 && moduleResource.getModuleClasses().size() == 0) { local.moduleResourceList.remove(moduleResource); if (logger.isInfoEnabled()) { logger.info("remove empty module '" + moduleResource.getMappingPath() + "' " + moduleResource.getModuleUrl()); } } } }
private void addModuleContext(Local local, FileObject rootObject, FileObject thisFolder, FileObject resource) throws IOException { ModuleResource moduleInfo = local.moduleResourceMap.get(thisFolder); moduleInfo.addContextResource(resource.getURL()); if (logger.isDebugEnabled()) { logger.debug("module '" + moduleInfo.getMappingPath() + "': found context file, url=" + resource.getURL()); } }
private void addModuleMessage(Local local, FileObject rootObject, FileObject thisFolder, FileObject resource) throws IOException { ModuleResource moduleInfo = local.moduleResourceMap.get(thisFolder); String directory = resource.getParent().getURL().toString(); String messageFileName = resource.getName().getBaseName(); String msgBasename; if (messageFileName.indexOf('_') == -1) { msgBasename = messageFileName.substring(0, messageFileName.indexOf('.')); } else { msgBasename = messageFileName.substring(0, messageFileName.indexOf('_')); } moduleInfo.addMessageResource(directory + msgBasename); if (logger.isDebugEnabled()) { logger.debug("module '" + moduleInfo.getMappingPath() + "': found messages file, url=" + resource.getURL()); } }
private void addModuleClass(Local local, FileObject rootObject, FileObject thisFolder, FileObject resource) throws IOException { String className = rootObject.getName().getRelativeName(resource.getName()); Assert.isTrue(!className.startsWith("/")); className = StringUtils.removeEnd(className, ".class"); className = className.replace('/', '.'); ModuleResource module = local.moduleResourceMap.get(thisFolder); try { // TODO: classloader... module.addModuleClass(Class.forName(className)); if (logger.isDebugEnabled()) { logger.debug("module '" + module.getMappingPath() + "': found class, name=" + className); } } catch (ClassNotFoundException e) { logger.error("", e); } }