private void generate(Module module, StandardMavenModuleType moduleType) {
      if (module == null) return;

      MavenModuleResourceConfiguration resourceConfig = new MavenModuleResourceConfiguration();
      MavenId projectId = mavenProject.getMavenId();
      resourceConfig.id = new MavenIdBean(projectId.getGroupId(), projectId.getArtifactId(), projectId.getVersion());

      MavenId parentId = mavenProject.getParentId();
      if (parentId != null) {
        resourceConfig.parentId = new MavenIdBean(parentId.getGroupId(), parentId.getArtifactId(), parentId.getVersion());
      }
      resourceConfig.directory = transformer.toRemotePathOrSelf(FileUtil.toSystemIndependentName(mavenProject.getDirectory()));
      resourceConfig.delimitersPattern = MavenFilteredPropertyPsiReferenceProvider.getDelimitersPattern(mavenProject).pattern();
      for (Map.Entry<String, String> entry : mavenProject.getModelMap().entrySet()) {
        String key = entry.getKey();
        String value = entry.getValue();
        if (value != null) {
          resourceConfig.modelMap.put(key, transformer.toRemotePathOrSelf(value));
        }
      }

      addEarModelMapEntries(mavenProject, resourceConfig.modelMap);

      Element pluginConfiguration = mavenProject.getPluginConfiguration("org.apache.maven.plugins", "maven-resources-plugin");
      resourceConfig.outputDirectory =
        transformer.toRemotePathOrSelf(getResourcesPluginGoalOutputDirectory(mavenProject, pluginConfiguration, "resources"));
      resourceConfig.testOutputDirectory =
        transformer.toRemotePathOrSelf(getResourcesPluginGoalOutputDirectory(mavenProject, pluginConfiguration, "testResources"));

      if (moduleType != StandardMavenModuleType.TEST_ONLY) {
        addResources(transformer, resourceConfig.resources, mavenProject.getResources());
      }

      if (moduleType != StandardMavenModuleType.MAIN_ONLY) {
        addResources(transformer, resourceConfig.testResources, mavenProject.getTestResources());
      }

      addWebResources(transformer, module, projectConfig, mavenProject);
      addEjbClientArtifactConfiguration(module, projectConfig, mavenProject);

      resourceConfig.filteringExclusions.addAll(MavenProjectsTree.getFilterExclusions(mavenProject));

      final Properties properties = getFilteringProperties(mavenProject, mavenProjectsManager);
      for (Map.Entry<Object, Object> propEntry : properties.entrySet()) {
        resourceConfig.properties.put((String)propEntry.getKey(), transformer.toRemotePathOrSelf((String)propEntry.getValue()));
      }

      resourceConfig.escapeString = MavenJDOMUtil.findChildValueByPath(pluginConfiguration, "escapeString", null);
      String escapeWindowsPaths = MavenJDOMUtil.findChildValueByPath(pluginConfiguration, "escapeWindowsPaths");
      if (escapeWindowsPaths != null) {
        resourceConfig.escapeWindowsPaths = Boolean.parseBoolean(escapeWindowsPaths);
      }

      String overwrite = MavenJDOMUtil.findChildValueByPath(pluginConfiguration, "overwrite");
      if (overwrite != null) {
        resourceConfig.overwrite = Boolean.parseBoolean(overwrite);
      }

      projectConfig.moduleConfigurations.put(module.getName(), resourceConfig);
      generateManifest(mavenProject, module, resourceConfig);
    }
private void generate(Module module, StandardMavenModuleType moduleType)