当前位置: 首页>>代码示例>>Java>>正文


Java JavaSourceFacet.saveJavaSource方法代码示例

本文整理汇总了Java中org.jboss.forge.addon.parser.java.facets.JavaSourceFacet.saveJavaSource方法的典型用法代码示例。如果您正苦于以下问题:Java JavaSourceFacet.saveJavaSource方法的具体用法?Java JavaSourceFacet.saveJavaSource怎么用?Java JavaSourceFacet.saveJavaSource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.jboss.forge.addon.parser.java.facets.JavaSourceFacet的用法示例。


在下文中一共展示了JavaSourceFacet.saveJavaSource方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createCRUDRepository

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
private void createCRUDRepository(JavaClassSource entitySource, Project project) {
   // build interface declaration
   final String name = entitySource.getName();
   final String idFieldType = entitySource.getFields().stream()
         .filter(field -> field.hasAnnotation(Id.class))
         .findFirst()
         .orElseThrow(IllegalArgumentException::new)
         .getType()
         .getSimpleName();
   final String repoInterfaceDeclaration = "public interface " + name
            + "Repository extends PagingAndSortingRepository<"
         + name + "," + idFieldType + "> {}";

   JavaInterfaceSource repoSource = Roaster.parse(JavaInterfaceSource.class, repoInterfaceDeclaration)
         .setPackage(entitySource.getPackage());
   repoSource.addImport("org.springframework.data.repository.PagingAndSortingRepository");
   Roaster.format(repoSource.toString());

   // Create Java Classes Greeting and GreetingProperties
   JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class);
   facet.saveJavaSource(repoSource);
}
 
开发者ID:forge,项目名称:springboot-addon,代码行数:23,代码来源:CreateSpringBootJPASupportDecorator.java

示例2: modifyJavaClass

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
public static void modifyJavaClass(Project project, String className, Optional<String> packageName,
                                   JavaClassSourceDecorator decorator) {

   final String packageLocation = packageName.orElseGet(() -> project.getFacet(MetadataFacet.class).getProjectGroupName());
   final JavaSourceFacet sourceFacet = project.getFacet(JavaSourceFacet.class);
   final DirectoryResource targetPackage = sourceFacet.getPackage(packageLocation);

   final JavaResource sbAppResource = targetPackage.getChild(className).as(JavaResource.class);
   if (sbAppResource.exists()) {
      JavaClassSource sbApp = Roaster.parse(JavaClassSource.class, sbAppResource.getResourceInputStream());

      decorator.modify(sbApp);

      sourceFacet.saveJavaSource(sbApp);
   }
}
 
开发者ID:forge,项目名称:springboot-addon,代码行数:17,代码来源:SpringBootHelper.java

示例3: createJavaSourceForComponent

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
private void createJavaSourceForComponent(Project project, String schemeName, String packageName, String className) {
    JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class);
    String fqn = packageName + "." + className;

    JavaResource existing = facet.getJavaResource(fqn);
    if (existing != null && existing.exists()) {
        // override existing
        existing.delete();
    }

    // need to parse to be able to extends another class
    final JavaClassSource javaClass = Roaster.create(JavaClassSource.class);
    javaClass.setName(className);
    javaClass.setPackage(packageName);
    javaClass.setSuperType("DjangoComponent");
    javaClass.addImport("io.fabric8.django.component.connector.DjangoComponent");

    // add public no-arg constructor
    javaClass.addMethod().setPublic().setConstructor(true).setBody("super(\"" + schemeName + "\", \"" + fqn + "\");");

    facet.saveJavaSource(javaClass);
}
 
开发者ID:fabric8io,项目名称:django,代码行数:23,代码来源:ConnectorSelectComponentStep.java

示例4: addSizeConstraint

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
public void addSizeConstraint(Project project, JavaClassSource klass, String propertyName, boolean onAccessor,
         String message,
         String min, String max) throws FileNotFoundException
{
   PropertySource<JavaClassSource> property = klass.getProperty(propertyName);
   final AnnotationSource<JavaClassSource> constraintAnnotation = addConstraintOnProperty(property, onAccessor,
            Size.class,
            message);

   if (min != null)
   {
      constraintAnnotation.setLiteralValue("min", min);
   }

   if (max != null)
   {
      constraintAnnotation.setLiteralValue("max", max);
   }

   JavaSourceFacet javaSourceFacet = project.getFacet(JavaSourceFacet.class);
   javaSourceFacet.saveJavaSource(constraintAnnotation.getOrigin());
}
 
开发者ID:forge,项目名称:angularjs-addon,代码行数:23,代码来源:ProjectHelper.java

示例5: addJavaVerticle

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
private String addJavaVerticle(Project project, String packageName, String className, boolean isMain) {
  JavaSourceFacet source = project.getFacet(JavaSourceFacet.class);

  String topLevelPackage;
  if (packageName == null) {
    topLevelPackage = source.getBasePackage();
  } else {
    topLevelPackage = packageName;
  }

  if (className.endsWith(".java")) {
    className = className.substring(0, className.length() - ".java".length());
  }

  JavaClassSource mainVerticle = Roaster.create(JavaClassSource.class)
      .setPackage(topLevelPackage)
      .setAbstract(false)
      .setName(className)
      .setSuperType("io.vertx.core.AbstractVerticle");
  mainVerticle
      .addImport("io.vertx.core.*");
  mainVerticle.addMethod().setName("start").setBody(
      "vertx.createHttpServer().requestHandler(req -> req.response().end(\"Hello World!\")).listen(8080);")
      .setPublic()
      .addAnnotation(Override.class);

  JavaResource resource = source.saveJavaSource(mainVerticle.getEnclosingType());

  if (isMain) {
    ForgeUtils.addPropertyToProject(project, "vertx.verticle", topLevelPackage + "." + className);
  }
  addJavaVerticleTest(project,packageName,className);
  return resource.toString();
}
 
开发者ID:cescoffier,项目名称:vertx-forge-addon,代码行数:35,代码来源:Verticles.java

示例6: execute

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
@Override
public Result execute(UIExecutionContext context) throws Exception
{
    Project project = getSelectedProject(context);
    WildFlySwarmFacet wildFlySwarm = project.getFacet(WildFlySwarmFacet.class);
    List<FractionDescriptor> installedFractions = wildFlySwarm.getInstalledFractions();
    if (enableJAXRS(installedFractions))
    {
        JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class);
        JavaClassSource restEndpoint = Roaster.create(JavaClassSource.class)
                    .setPackage(facet.getBasePackage() + ".rest")
                    .setName("HelloWorldEndpoint");
        if (hasCDI(installedFractions))
        {
            restEndpoint.addAnnotation(ApplicationScoped.class);
        }
        restEndpoint.addAnnotation(Path.class).setStringValue("/hello");
        MethodSource<JavaClassSource> method = restEndpoint.addMethod().setPublic().setReturnType(Response.class)
                    .setName("doGet")
                    .setBody("return Response.ok(\"Hello from WildFly Swarm!\").build();");
        method.addAnnotation(GET.class);
        method.addAnnotation(javax.ws.rs.Produces.class).setStringArrayValue(new String[] { MediaType.TEXT_PLAIN });
        facet.saveJavaSource(restEndpoint);
    }
    if (hasTopologyJgroups(installedFractions))
    {
        WildFlySwarmConfiguration config = wildFlySwarm.getConfiguration();
        Map<String, String> props = new TreeMap<>(config.getProperties());
        props.put("swarm.bind.address", "127.0.0.1");
        props.put("java.net.preferIPv4Stack", "true");
        props.put("jboss.node.name", "${project.artifactId}");
        wildFlySwarm.setConfiguration(WildFlySwarmConfigurationBuilder.create(config).properties(props));
    }
    return Results.success();
}
 
开发者ID:forge,项目名称:wildfly-swarm-addon,代码行数:36,代码来源:SetupFractionsStep.java

示例7: addNotNullConstraint

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
public void addNotNullConstraint(Project project, JavaClassSource klass, String propertyName, boolean onAccessor,
         String message)
         throws FileNotFoundException
{
   PropertySource<JavaClassSource> property = klass.getProperty(propertyName);
   final Annotation<JavaClassSource> constraintAnnotation = addConstraintOnProperty(property, onAccessor,
            NotNull.class,
            message);

   JavaSourceFacet javaSourceFacet = project.getFacet(JavaSourceFacet.class);
   javaSourceFacet.saveJavaSource(constraintAnnotation.getOrigin());
}
 
开发者ID:forge,项目名称:angularjs-addon,代码行数:13,代码来源:ProjectHelper.java

示例8: addMinConstraint

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
public void addMinConstraint(Project project, JavaClassSource klass, String propertyName, boolean onAccessor,
         String message, String min)
         throws FileNotFoundException
{
   PropertySource<JavaClassSource> property = klass.getProperty(propertyName);
   final AnnotationSource<JavaClassSource> constraintAnnotation = addConstraintOnProperty(property, onAccessor,
            Min.class,
            message);
   constraintAnnotation.setLiteralValue(min);

   JavaSourceFacet javaSourceFacet = project.getFacet(JavaSourceFacet.class);
   javaSourceFacet.saveJavaSource(constraintAnnotation.getOrigin());
}
 
开发者ID:forge,项目名称:angularjs-addon,代码行数:14,代码来源:ProjectHelper.java

示例9: addMaxConstraint

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
public void addMaxConstraint(Project project, JavaClassSource klass, String propertyName, boolean onAccessor,
         String message, String max)
         throws FileNotFoundException
{
   PropertySource<JavaClassSource> property = klass.getProperty(propertyName);
   final AnnotationSource<JavaClassSource> constraintAnnotation = addConstraintOnProperty(property, onAccessor,
            Max.class,
            message);
   constraintAnnotation.setLiteralValue(max);

   JavaSourceFacet javaSourceFacet = project.getFacet(JavaSourceFacet.class);
   javaSourceFacet.saveJavaSource(constraintAnnotation.getOrigin());
}
 
开发者ID:forge,项目名称:angularjs-addon,代码行数:14,代码来源:ProjectHelper.java

示例10: testNewJobXml

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
@Test
public void testNewJobXml() throws Exception {
	Project project = factory.createTempProject(Arrays.asList(ResourcesFacet.class, JavaSourceFacet.class));
	JavaClassSource reader = Roaster.parse(JavaClassSource.class, getClass().getClassLoader().getResource("templates/MyItemReader.jv"));
	JavaClassSource processor = Roaster.parse(JavaClassSource.class, getClass().getClassLoader().getResource("templates/MyItemProcessor.jv"));
	JavaClassSource writer = Roaster.parse(JavaClassSource.class, getClass().getClassLoader().getResource("templates/MyItemWriter.jv"));
	JavaSourceFacet java = project.getFacet(JavaSourceFacet.class);
	JavaResource readerResource = java.saveJavaSource(reader);
	JavaResource processorResource = java.saveJavaSource(processor);
	JavaResource writerResource = java.saveJavaSource(writer);
	
	CommandController commandController = harness.createCommandController(BatchNewJobXmlCommand.class, project.getRoot());
	commandController.initialize();
	
	// set values
	commandController.setValueFor("reader", readerResource.getJavaType().getQualifiedName());
	commandController.setValueFor("processor", processorResource.getJavaType().getQualifiedName());
	commandController.setValueFor("writer", writerResource.getJavaType().getQualifiedName());
	commandController.setValueFor("jobXML", "myJob.xml");
	
	// validate
	List<UIMessage> validate = commandController.validate();
	Assert.assertEquals(0,  validate.size());
	
	// execute
	Result result = commandController.execute();
	
	// verify results
	Assert.assertFalse(result instanceof Failed);
}
 
开发者ID:javaee-samples,项目名称:forge-addons,代码行数:31,代码来源:BatchNewJobXmlCommandTest.java

示例11: testNewJobXmlOptionalProcessor

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
@Test
public void testNewJobXmlOptionalProcessor() throws Exception {
	Project project = factory.createTempProject(Arrays.asList(ResourcesFacet.class, JavaSourceFacet.class));
	
	JavaClassSource reader = Roaster.parse(JavaClassSource.class, getClass().getClassLoader().getResource("templates/MyItemReader.jv"));
	JavaClassSource writer = Roaster.parse(JavaClassSource.class, getClass().getClassLoader().getResource("templates/MyItemWriter.jv"));
	JavaSourceFacet java = project.getFacet(JavaSourceFacet.class);
	JavaResource readerResource = java.saveJavaSource(reader);
	JavaResource writerResource = java.saveJavaSource(writer);
	
	CommandController commandController = harness.createCommandController(BatchNewJobXmlCommand.class, project.getRoot());
	commandController.initialize();
	
	// set values
	commandController.setValueFor("reader", readerResource.getJavaType().getQualifiedName());
	commandController.setValueFor("writer", writerResource.getJavaType().getQualifiedName());
	commandController.setValueFor("jobXML", "myJob.xml");
	
	// validate
	List<UIMessage> validate = commandController.validate();
	Assert.assertEquals(0,  validate.size());
	
	// execute
	Result result = commandController.execute();
	
	// verify results
	Assert.assertFalse(result instanceof Failed);
}
 
开发者ID:javaee-samples,项目名称:forge-addons,代码行数:29,代码来源:BatchNewJobXmlCommandTest.java

示例12: decorateSource

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
@Override
public JavaClassSource decorateSource(UIExecutionContext context, Project project, JavaClassSource source) throws Exception {
   // Check that we have the spring-boot-starter-web dependency and add it if we don't
   SpringBootHelper.addSpringBootDependency(project, SpringBootFacet.SPRING_BOOT_STARTER_WEB_ARTIFACT);

   // Create Java Classes Greeting and GreetingProperties
   JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class);
   facet.saveJavaSource(createGreetingClass(source));
   facet.saveJavaSource(createGreetingPropertiesClass(source));

   final Properties properties = new Properties();
   if (wrapped.getPath().hasValue()) {
      final String value = wrapped.getPath().getValue();
      properties.put("server.contextPath", (value.startsWith("/") ? value : "/" + value));
   }
   properties.put("greeting.message", "Hello, %s!");
   SpringBootHelper.writeToApplicationProperties(project, properties);

   // Create the Controller
   source.addImport(AtomicLong.class);
   source.addAnnotation(RestController.class);
   source.addField().setPrivate().setFinal(false).setType("GreetingProperties").setName("properties").addAnnotation(Autowired.class);
   source.addField().setPrivate().setFinal(true).setType("AtomicLong").setName("counter").setLiteralInitializer("new AtomicLong()");

   for (RestMethod restMethod : wrapped.getMethods().getValue()) {
      MethodSource<?> greeting = source.addMethod()
            .setPublic()
            .setName(restMethod.getMethodName())
            .setReturnType("Greeting");

      switch (restMethod) {
         case GET:
            greeting.addAnnotation(RequestMapping.class).setStringValue("/greeting");
            greeting.addParameter(String.class, "name").addAnnotation(RequestParam.class).setLiteralValue("value", "\"name\"").setLiteralValue("defaultValue", "\"world\"");
            greeting.setBody("return new Greeting(this.counter.incrementAndGet(), String.format(this.properties.getMessage(), name));");
            break;
         case POST:
            source.addImport(UriBuilder.class);
            // TODO
            break;
         case PUT:
            // TODO
            break;
         case DELETE:
            // TODO
            break;
      }
   }

   return source;

}
 
开发者ID:forge,项目名称:springboot-addon,代码行数:53,代码来源:RestNewEndpointDecorator.java

示例13: execute

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
@Override
public Result execute(UIExecutionContext context) throws Exception {
    Project project = getSelectedProject(context);
    JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class);

    // does the project already have camel?
    Dependency core = findCamelCoreDependency(project);
    if (core == null) {
        return Results.fail("The project does not include camel-core");
    }

    // do we already have a class with the name
    String fqn = targetPackage.getValue() != null ? targetPackage.getValue() + "." + name.getValue() : name.getValue();

    JavaResource existing = facet.getJavaResource(fqn);
    if (existing != null && existing.exists()) {
        return Results.fail("A class with name " + fqn + " already exists");
    }

    // need to parse to be able to extends another class
    final JavaClassSource javaClass = Roaster.create(JavaClassSource.class);
    javaClass.setName(name.getValue());
    if (targetPackage.getValue() != null) {
        javaClass.setPackage(targetPackage.getValue());
    }
    javaClass.setSuperType("RouteBuilder");
    javaClass.addImport("org.apache.camel.builder.RouteBuilder");

    boolean cdi = CamelCommandsHelper.isCdiProject(getSelectedProject(context));
    boolean spring = CamelCommandsHelper.isSpringProject(getSelectedProject(context));

    if (cdi) {
        javaClass.addAnnotation("javax.inject.Singleton");
    } else if (spring) {
        javaClass.addAnnotation("org.springframework.stereotype.Component");
    }

    javaClass.addMethod()
            .setPublic()
            .setReturnTypeVoid()
            .setName("configure")
            .addThrows(Exception.class).setBody("");

    JavaResource javaResource = facet.saveJavaSource(javaClass);

    // if we are in an GUI editor then open the file
    if (isRunningInGui(context.getUIContext())) {
        context.getUIContext().setSelection(javaResource);
    }

    return Results.success("Created new RouteBuilder class " + name.getValue());
}
 
开发者ID:fabric8io,项目名称:fabric8-forge,代码行数:53,代码来源:CamelNewRouteBuilderCommand.java

示例14: saveJavaSource

import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; //导入方法依赖的package包/类
private void saveJavaSource() throws FileNotFoundException
{
   JavaSourceFacet java = project.getFacet(JavaSourceFacet.class);
   java.saveJavaSource(entityClass);
}
 
开发者ID:forge,项目名称:angularjs-addon,代码行数:6,代码来源:InspectionResultProcessorTest.java


注:本文中的org.jboss.forge.addon.parser.java.facets.JavaSourceFacet.saveJavaSource方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。