Skip to content

Commit

Permalink
cleaned and renamed commands
Browse files Browse the repository at this point in the history
  • Loading branch information
addonis1990 committed Jul 3, 2015
1 parent e914c2e commit 871e4da
Show file tree
Hide file tree
Showing 5 changed files with 144 additions and 212 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,25 @@
package org.jboss.forge.addon.dbma.commands;

import org.jboss.forge.addon.dbma.facet.DBMAFacet;
import org.jboss.forge.addon.dbma.util.Constants;
import org.jboss.forge.addon.facets.FacetFactory;
import org.jboss.forge.addon.projects.ProjectFactory;
import org.jboss.forge.addon.projects.ui.AbstractProjectCommand;
import org.jboss.forge.addon.ui.command.UICommand;
import org.jboss.forge.addon.ui.context.UIBuilder;
import org.jboss.forge.addon.ui.context.UIContext;
import org.jboss.forge.addon.ui.context.UIExecutionContext;
import org.jboss.forge.addon.ui.context.UIValidationContext;
import org.jboss.forge.addon.ui.hints.InputType;
import org.jboss.forge.addon.ui.input.UISelectOne;
import org.jboss.forge.addon.ui.metadata.UICommandMetadata;
import org.jboss.forge.addon.ui.metadata.WithAttributes;
import org.jboss.forge.addon.ui.util.Metadata;
import org.jboss.forge.addon.ui.result.Result;
import org.jboss.forge.addon.ui.result.Results;

import java.lang.Exception;
import java.util.concurrent.Callable;

import javax.inject.Inject;

Expand All @@ -36,6 +42,10 @@ public class AddLiquibaseCommand extends AbstractProjectCommand implements UICom

@Inject
private DBMAFacet dbmaFacet;

@Inject
@WithAttributes(shortName = 'v', label = "Liquibase Version", type = InputType.DROPDOWN)
private UISelectOne<String> liquibaseVersion;

@Override
public UICommandMetadata getMetadata(UIContext context)
Expand All @@ -49,6 +59,23 @@ public UICommandMetadata getMetadata(UIContext context)
@Override
public void initializeUI(UIBuilder builder) throws Exception
{
builder.add(liquibaseVersion);
liquibaseVersion.setDefaultValue("");
liquibaseVersion.setValueChoices(new Callable<Iterable<String>>() {
@Override
public Iterable<String> call() throws Exception {
return dbmaFacet.getLiquibaseVersions();
}
});
}

@Override
public void validate(UIValidationContext validator)
{
super.validate(validator);
if (liquibaseVersion.getValue().equals(""))
validator.addValidationError(liquibaseVersion,
"Please select a Liquibase version");
}

@Override
Expand All @@ -58,26 +85,23 @@ public Result execute(UIExecutionContext context) throws Exception
return Results.success("Created migration directory and added liquibase dependency");
}

/*
* (non-Javadoc)
*
* @see org.jboss.forge.addon.projects.ui.AbstractProjectCommand#isProjectRequired()
*/
@Override
public boolean isEnabled(UIContext context) {
return !getSelectedProject(context).hasFacet(DBMAFacet.class);
}

@Override
protected boolean isProjectRequired()
{
return true;
}

/*
* (non-Javadoc)
*
* @see org.jboss.forge.addon.projects.ui.AbstractProjectCommand#getProjectFactory()
*/
@Inject
private ProjectFactory projectFactory;

@Override
protected ProjectFactory getProjectFactory()
{
// TODO Auto-generated method stub
return null;
return projectFactory;
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
package org.jboss.forge.addon.dbma.commands;

import org.jboss.forge.addon.dbma.facet.DBMAFacet;
import org.jboss.forge.addon.projects.ProjectFactory;
import org.jboss.forge.addon.projects.ui.AbstractProjectCommand;
import org.jboss.forge.addon.ui.command.AbstractUICommand;
import org.jboss.forge.addon.ui.command.UICommand;
import org.jboss.forge.addon.ui.context.UIBuilder;
import org.jboss.forge.addon.ui.context.UIContext;
import org.jboss.forge.addon.ui.context.UIExecutionContext;
import org.jboss.forge.addon.ui.context.UIValidationContext;
import org.jboss.forge.addon.ui.hints.InputType;
import org.jboss.forge.addon.ui.input.UISelectOne;
import org.jboss.forge.addon.ui.metadata.UICommandMetadata;
import org.jboss.forge.addon.ui.metadata.WithAttributes;
import org.jboss.forge.addon.ui.util.Metadata;
import org.jboss.forge.addon.ui.util.Categories;
import org.jboss.forge.addon.ui.result.Result;
import org.jboss.forge.addon.ui.result.Results;

import java.lang.Override;
import java.lang.Exception;
import java.util.concurrent.Callable;

import javax.inject.Inject;

public class GenerateChangelogFileCommand extends AbstractProjectCommand implements UICommand
{
@Inject
@WithAttributes(shortName = 'm', label = "Generation mode", type = InputType.DROPDOWN)
private UISelectOne<String> generationMode;

@Inject
DBMAFacet dbmaFacet;

@Override
public UICommandMetadata getMetadata(UIContext context)
{
return Metadata.forCommand(GenerateChangelogFileCommand.class)
.name("generate-initial-changelog-file");
}

@Override
public void initializeUI(UIBuilder builder) throws Exception
{
builder.add(generationMode);
generationMode.setDefaultValue("");
generationMode.setValueChoices(
new Callable<Iterable<String>>() {
@Override
public Iterable<String> call() throws Exception {
return dbmaFacet.getGenerationModes();
}
});

}

@Override
public void validate(UIValidationContext validator)
{
super.validate(validator);
if (generationMode.getValue().equals(""))
validator.addValidationError(generationMode,
"Please select how you want to generate the changelog file");
}

@Override
public Result execute(UIExecutionContext context) throws Exception
{
return Results
.success("Command 'create-initial-changelog-file' successfully executed!");
}

@Override
public boolean isEnabled(UIContext context) {
return getSelectedProject(context).hasFacet(DBMAFacet.class)
&& getSelectedProject(context).getFacet(DBMAFacet.class).isInstalled();
}

@Override
protected boolean isProjectRequired()
{
return true;
}

@Inject
private ProjectFactory projectFactory;

@Override
protected ProjectFactory getProjectFactory()
{
return projectFactory;
}
}

This file was deleted.

0 comments on commit 871e4da

Please sign in to comment.