Skip to content

Commit

Permalink
Merge pull request #928 from mareknovotny/WINDUPRULE-166
Browse files Browse the repository at this point in the history
WINDUPRULE-166 replacing Static IP with Hard-coded IP
  • Loading branch information
OndraZizka committed May 17, 2016
2 parents c6fd4b4 + b5c952c commit e2fcf9a
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 36 deletions.
Expand Up @@ -27,16 +27,16 @@
import org.ocpsoft.rewrite.context.EvaluationContext;

/**
* Finds files that contain potential static IP addresses, determined by regular expression.
* Finds files that contain potential hard-coded IP addresses, determined by regular expression.
*
* @author <a href="mailto:bradsdavis@gmail.com">Brad Davis</a>
*/
@RuleMetadata(phase = ReportGenerationPhase.class)
public class CreateStaticIPAddressReportRuleProvider extends AbstractRuleProvider
public class CreateHardcodedIPAddressReportRuleProvider extends AbstractRuleProvider
{
private static final String TITLE = "Static IP Addresses";
private static final String TITLE = "Hard-coded IP Addresses";
public static final String TEMPLATE_REPORT = "/reports/templates/static_ip_addresses.ftl";
public static final String REPORT_DESCRIPTION = "The Static IP report provides a list of all static IP addresses that were found in the application. These often require review during migration.";
public static final String REPORT_DESCRIPTION = "The Hard-coded IP report provides a list of all hard-coded IP addresses that were found in the application. These often require review during migration.";

@Override
public Configuration getConfiguration(final GraphContext graphContext)
Expand All @@ -45,7 +45,7 @@ public Configuration getConfiguration(final GraphContext graphContext)
.begin()
.addRule()
// when a IP Location Model exists...
.when(Query.fromType(StaticIPLocationModel.class))
.when(Query.fromType(HardcodedIPLocationModel.class))
// perform the write of this report once (GraphOperation)...
.perform(new GraphOperation()
{
Expand Down Expand Up @@ -83,12 +83,12 @@ private ApplicationReportModel createIPReport(GraphContext context, ProjectModel
applicationReport.setProjectModel(rootProjectModel);

// find all IPLocationModels
GraphService<StaticIPLocationModel> ipLocationModelService = new GraphService<>(context, StaticIPLocationModel.class);
Iterable<StaticIPLocationModel> results = ipLocationModelService.findAll();
GraphService<HardcodedIPLocationModel> ipLocationModelService = new GraphService<>(context, HardcodedIPLocationModel.class);
Iterable<HardcodedIPLocationModel> results = ipLocationModelService.findAll();

Map<String, WindupVertexFrame> relatedData = new HashMap<>(1);
WindupVertexListModel staticIPList = new GraphService<>(context, WindupVertexListModel.class).create();
for (StaticIPLocationModel location : results)
for (HardcodedIPLocationModel location : results)
{
if (location.getFile().getProjectModel().getRootProjectModel().equals(rootProjectModel))
staticIPList.addItem(location);
Expand Down
Expand Up @@ -31,15 +31,16 @@
import org.w3c.dom.Element;

/**
* Finds files that contain potential static IP addresses, determined by regular expression.
* Finds files that contain potential hard-coded IP addresses, determined by regular expression.
*
* @author <a href="mailto:bradsdavis@gmail.com">Brad Davis</a>
* @author <a href="mailto:hotmana76@gmail.com">Marek Novotny</a>
*/
@RuleMetadata(phase = MigrationRulesPhase.class)
public class DiscoverStaticIPAddressRuleProvider extends AbstractRuleProvider
public class DiscoverHardcodedIPAddressRuleProvider extends AbstractRuleProvider
{
private static final String IP_PATTERN = "(?<![\\w.])\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(?![\\w.])";
private static final Logger LOG = Logger.getLogger(DiscoverStaticIPAddressRuleProvider.class.getSimpleName());
private static final Logger LOG = Logger.getLogger(DiscoverHardcodedIPAddressRuleProvider.class.getSimpleName());

@Override
public Configuration getConfiguration(GraphContext context)
Expand Down Expand Up @@ -69,17 +70,17 @@ public void perform(GraphRewrite event, EvaluationContext context, FileLocationM
return;
}

StaticIPLocationModel location = GraphService.addTypeToModel(event.getGraphContext(), payload,
StaticIPLocationModel.class);
HardcodedIPLocationModel location = GraphService.addTypeToModel(event.getGraphContext(), payload,
HardcodedIPLocationModel.class);
location.setRuleID(((Rule) context.get(Rule.class)).getId());
location.setTitle("Static IP Address Detected");
location.setTitle("Hard-coded IP Address Detected");

StringBuilder hintBody = new StringBuilder("**Static IP: ");
StringBuilder hintBody = new StringBuilder("**Hard-coded IP: ");
hintBody.append(payload.getSourceSnippit());
hintBody.append("**");

hintBody.append("\n\n");
hintBody.append("When migrating environments, static IP addresses may need to be modified or eliminated.");
hintBody.append("When migrating environments, hard-coded IP addresses may need to be modified or eliminated.");
location.setHint(hintBody.toString());

location.setEffort(0);
Expand Down
@@ -0,0 +1,15 @@
package org.jboss.windup.rules.apps.java.ip;

import org.jboss.windup.reporting.model.InlineHintModel;

import com.tinkerpop.frames.modules.typedgraph.TypeValue;

/**
* Contains the location of a hard-coded IP address within a file
*
*/
@TypeValue(HardcodedIPLocationModel.TYPE)
public interface HardcodedIPLocationModel extends InlineHintModel
{
String TYPE = "HardcodedIPLocationModel";
}

This file was deleted.

Expand Up @@ -39,7 +39,7 @@
* @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a>
*/
@RunWith(Arquillian.class)
public class DiscoverStaticIPAddressTest
public class DiscoverHardcodedIPAddressTest
{
@Deployment
@AddonDependencies({
Expand Down Expand Up @@ -96,11 +96,11 @@ public void testStaticIPScanner() throws IOException, InstantiationException, Il
unexpectedIPs.add("192.168.0.9.3.4");

InlineHintService service = new InlineHintService(context);
Pattern ipExtractor = Pattern.compile("\\*\\*Static IP: (.*?)\\*\\*");
Pattern ipExtractor = Pattern.compile("\\*\\*Hard-coded IP: (.*?)\\*\\*");
int numberFound = 0;
for (InlineHintModel hint : service.findAll())
{
if (StringUtils.equals("Static IP Address Detected", hint.getTitle()))
if (StringUtils.equals("Hard-coded IP Address Detected", hint.getTitle()))
{
Matcher matcher = ipExtractor.matcher(hint.getHint());
if (matcher.find())
Expand Down
Expand Up @@ -13,7 +13,7 @@
import org.jboss.windup.graph.GraphContext;
import org.jboss.windup.reporting.model.ReportModel;
import org.jboss.windup.reporting.service.ReportService;
import org.jboss.windup.rules.apps.java.ip.CreateStaticIPAddressReportRuleProvider;
import org.jboss.windup.rules.apps.java.ip.CreateHardcodedIPAddressReportRuleProvider;
import org.jboss.windup.rules.apps.java.model.JarManifestModel;
import org.jboss.windup.rules.apps.java.reporting.rules.CreateCompatibleFileReportRuleProvider;
import org.jboss.windup.rules.apps.java.reporting.rules.CreateReportIndexRuleProvider;
Expand Down Expand Up @@ -107,7 +107,7 @@ private void validateStaticIPReport(GraphContext context)
ReportService reportService = new ReportService(context);
ReportModel reportModel = reportService.getUniqueByProperty(
ReportModel.TEMPLATE_PATH,
CreateStaticIPAddressReportRuleProvider.TEMPLATE_REPORT);
CreateHardcodedIPAddressReportRuleProvider.TEMPLATE_REPORT);
TestStaticIPReportUtil util = new TestStaticIPReportUtil();
Path reportPath = reportService.getReportDirectory().resolve(reportModel.getReportFilename());
util.loadPage(reportPath);
Expand Down

0 comments on commit e2fcf9a

Please sign in to comment.