本文整理汇总了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);
}
示例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);
}
}
示例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);
}
示例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());
}
示例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();
}
示例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();
}
示例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());
}
示例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());
}
示例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());
}
示例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);
}
示例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);
}
示例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;
}
示例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());
}
示例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);
}