Skip to content

Commit

Permalink
first refactorings to get regular expression for relativePath
Browse files Browse the repository at this point in the history
  • Loading branch information
cecom committed Dec 28, 2016
1 parent bb7a6a9 commit 8f01ea4
Show file tree
Hide file tree
Showing 42 changed files with 664 additions and 320 deletions.
13 changes: 11 additions & 2 deletions api/src/main/java/com/geewhiz/pacify/defect/DefectException.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,15 @@ public DefectException(PMarker pMarker, PFile pFile, PProperty pProperty) {
this(pMarker, null, pFile, pProperty);
}

public DefectException(PFile pFile, PProperty pProperty) {
this(pFile.getPMarker(), pFile.getPArchive(), pFile, pProperty);
}

public DefectException(PFile pFile) {
this(pFile.getPMarker(), pFile.getPArchive(), pFile, null);
}

// TODO: hier aufräumen, brauch nur noch PFile Constructor
public DefectException(PMarker pMarker, PArchive pArchive, PFile pFile, PProperty pProperty) {
this.pMarker = pMarker;
this.pArchive = pArchive;
Expand Down Expand Up @@ -87,13 +96,13 @@ public String getDefectMessage() {
result.append(String.format("\n\t[MarkerFile=%s]", pMarker.getFile().getAbsolutePath()));
}
if (pArchive != null) {
result.append(String.format("\n\t[Archive=%s]", pMarker.getAbsoluteFileFor(pArchive)));
result.append(String.format("\n\t[Archive=%s]", pArchive.getFile().getAbsolutePath()));
if (pFile != null) {
result.append(String.format("\n\t[Archive File=%s]", pFile.getRelativePath()));
}
} else {
if (pFile != null) {
result.append(String.format("\n\t[File=%s]", pMarker.getAbsoluteFileFor(pFile)));
result.append(String.format("\n\t[File=%s]", pFile.getFile().getAbsolutePath()));
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.geewhiz.pacify.defect;

import com.geewhiz.pacify.model.PArchive;
import com.geewhiz.pacify.model.PFile;
import com.geewhiz.pacify.model.PMarker;

/*
* Licensed to the Apache Software Foundation (ASF) under one
Expand All @@ -27,18 +25,13 @@ public class FilterNotFoundDefect extends DefectException {

private static final long serialVersionUID = 1L;

public FilterNotFoundDefect(PMarker pMarker, PFile pFile) {
super(pMarker, pFile);
}

public FilterNotFoundDefect(PMarker pMarker, PArchive pArchive, PFile pFile) {
super(pMarker, pArchive, pFile);
public FilterNotFoundDefect(PFile pFile) {
super(pFile);
}

@Override
public String getDefectMessage() {
return super.getDefectMessage() +
String.format("\n\t[Filter=%s]", getPFile().getFilterClass()) +
String.format("\n\t[Message=%s]", "Couldn't find filter class or couldn't initialize it. Have a look at the debug output.");
return super.getDefectMessage() + String.format("\n\t[Filter=%s]", getPFile().getFilterClass())
+ String.format("\n\t[Message=%s]", "Couldn't find filter class or couldn't initialize it. Have a look at the debug output.");
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.geewhiz.pacify.defect;

import com.geewhiz.pacify.model.PArchive;
import com.geewhiz.pacify.model.PFile;
import com.geewhiz.pacify.model.PMarker;
import com.geewhiz.pacify.model.PProperty;

/*
Expand All @@ -28,12 +26,8 @@ public class PropertyDuplicateDefinedInPMarkerDefect extends DefectException {

private static final long serialVersionUID = 1L;

public PropertyDuplicateDefinedInPMarkerDefect(PMarker pMarker, PFile pFile, PProperty pProperty) {
super(pMarker, pFile, pProperty);
}

public PropertyDuplicateDefinedInPMarkerDefect(PMarker pMarker, PArchive pArchive, PFile pFile, PProperty pProperty) {
super(pMarker, pArchive, pFile, pProperty);
public PropertyDuplicateDefinedInPMarkerDefect(PFile pFile, PProperty pProperty) {
super(pFile, pProperty);
}

}
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.geewhiz.pacify.defect;

import com.geewhiz.pacify.model.PArchive;
import com.geewhiz.pacify.model.PFile;
import com.geewhiz.pacify.model.PMarker;

/*
* Licensed to the Apache Software Foundation (ASF) under one
Expand All @@ -29,20 +27,14 @@ public class WrongTokenDefinedDefect extends DefectException {

private String errorMessage;

public WrongTokenDefinedDefect(PMarker pMarker, PFile pFile, String errorMessage) {
super(pMarker, pFile);
this.errorMessage = errorMessage;
}

public WrongTokenDefinedDefect(PMarker pMarker, PArchive pArchive, PFile pFile, String errorMessage) {
super(pMarker, pArchive, pFile);
public WrongTokenDefinedDefect(PFile pFile, String errorMessage) {
super(pFile);
this.errorMessage = errorMessage;
}

@Override
public String getDefectMessage() {
return super.getDefectMessage() +
String.format("\n\t[ErrorMessage=%s]", errorMessage);
return super.getDefectMessage() + String.format("\n\t[ErrorMessage=%s]", errorMessage);
}

@Override
Expand Down
10 changes: 5 additions & 5 deletions common/src/main/java/com/geewhiz/pacify/utils/FileUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@

public class FileUtils {

private static Logger logger = LogManager.getLogger(FileUtils.class.getName());
private static Logger logger = LogManager.getLogger(FileUtils.class.getName());

private static final boolean IS_POSIX = FileSystems.getDefault().supportedFileAttributeViews().contains("posix");

Expand Down Expand Up @@ -132,7 +132,7 @@ public static Boolean archiveContainsFile(PMarker pMarker, PArchive pArchive, St
try {
ArchiveStreamFactory factory = new ArchiveStreamFactory();

File archiveFile = pMarker.getAbsoluteFileFor(pArchive);
File archiveFile = pArchive.getFile();
ais = factory.createArchiveInputStream(pArchive.getType(), new FileInputStream(archiveFile));

ArchiveEntry entry;
Expand Down Expand Up @@ -161,7 +161,7 @@ public static String getFileInOneString(PMarker pMarker, PArchive pArchive, PFil
try {
ArchiveStreamFactory factory = new ArchiveStreamFactory();

File archiveFile = pMarker.getAbsoluteFileFor(pArchive);
File archiveFile = pArchive.getFile();
ais = factory.createArchiveInputStream(pArchive.getType(), new FileInputStream(archiveFile));

ArchiveEntry entry;
Expand Down Expand Up @@ -211,7 +211,7 @@ public static File extractFile(PMarker pMarker, PArchive pArchive, String file)
try {
ArchiveStreamFactory factory = new ArchiveStreamFactory();

File archiveFile = pMarker.getAbsoluteFileFor(pArchive);
File archiveFile = pArchive.getFile();
ais = factory.createArchiveInputStream(pArchive.getType(), new FileInputStream(archiveFile));

ArchiveEntry entry;
Expand Down Expand Up @@ -256,7 +256,7 @@ public static void replaceFilesInArchive(PMarker pMarker, PArchive pArchive, Map
ArchiveOutputStream aos = null;
List<FileInputStream> streamsToClose = new ArrayList<FileInputStream>();

File archiveFile = pMarker.getAbsoluteFileFor(pArchive);
File archiveFile = pArchive.getFile();
File tmpArchive = FileUtils.createEmptyFileWithSamePermissions(archiveFile);

try {
Expand Down
11 changes: 3 additions & 8 deletions common/src/main/java/com/geewhiz/pacify/utils/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -58,20 +58,15 @@ public static String getJarVersion() {
return attr.getValue("Implementation-Version");
}

public static PacifyFilter getPacifyFilter(PMarker pMarker, PFile pFile) throws DefectException {
return getPacifyFilter(pMarker, null, pFile);
}

public static PacifyFilter getPacifyFilter(PMarker pMarker, PArchive pArchive, PFile pFile) throws DefectException {
public static PacifyFilter getPacifyFilter(PFile pFile) throws DefectException {
String filterClass = pFile.getFilterClass();

try {
PacifyFilter filter = (PacifyFilter) Class.forName(filterClass).getConstructor(PMarker.class, PArchive.class, PFile.class)
.newInstance(pMarker, pArchive, pFile);
PacifyFilter filter = (PacifyFilter) Class.forName(filterClass).getConstructor(PFile.class).newInstance(pFile);
return filter;
} catch (Exception e) {
logger.debug("Error while instantiate filter class [" + filterClass + "]", e);
throw new FilterNotFoundDefect(pMarker, pArchive, pFile);
throw new FilterNotFoundDefect(pFile);
}

}
Expand Down
10 changes: 4 additions & 6 deletions impl/src/main/java/com/geewhiz/pacify/Replacer.java
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,11 @@ private File createCopy() throws DefectException {
}

public LinkedHashSet<Defect> doReplacement(EntityManager entityManager) {
FilterManager filterManager = new FilterManager(entityManager, propertyResolveManager);

LinkedHashSet<Defect> defects = new LinkedHashSet<Defect>();
for (PMarker pMarker : entityManager.getPMarkers()) {
logger.info(" Processing Marker File [{}],", pMarker.getFile().getAbsolutePath());
FilterManager filterManager = new FilterManager(propertyResolveManager,
pMarker);
defects.addAll(filterManager.doFilter());
}
defects.addAll(filterManager.doFilter());

return defects;
}

Expand Down
25 changes: 10 additions & 15 deletions impl/src/main/java/com/geewhiz/pacify/ShowUsedProperties.java
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,7 @@ private void writeToFile(EntityManager entityManager) {
throw new RuntimeException(e);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
finally {
} finally {
if (writer != null) {
writer.close();
}
Expand All @@ -115,20 +114,16 @@ private Set<String> getAllProperties(EntityManager entityManager) {
for (PMarker pMarker : entityManager.getPMarkers()) {
logger.info(" [{}]", pMarker.getFile().getAbsolutePath());

for (Object entry : pMarker.getFilesAndArchives()) {
if (entry instanceof PFile) {
PFile pFile = (PFile) entry;
logger.debug(" [Getting properties for file {}]", pFile.getRelativePath());
for (PFile pFile : entityManager.getPFilesFrom(pMarker)) {
logger.debug(" [Getting properties for file {}]", pFile.getRelativePath());
getPFileProperties(allUsedProperties, pFile);
}

for (PArchive pArchive : entityManager.getPArchivesFrom(pMarker)) {
for (PFile pFile : pArchive.getPFiles()) {
logger.debug(" [Getting properties for archive [{}]", pArchive.getRelativePath());
logger.debug(" [file [{}]", pFile.getRelativePath());
getPFileProperties(allUsedProperties, pFile);
} else if (entry instanceof PArchive) {
PArchive pArchive = (PArchive) entry;
for (PFile pFile : pArchive.getPFiles()) {
logger.debug(" [Getting properties for archive [{}]", pArchive.getRelativePath());
logger.debug(" [file [{}]", pFile.getRelativePath());
getPFileProperties(allUsedProperties, pFile);
}
} else {
throw new NotImplementedException("ShowUsedProperty implementation for " + entry.getClass().getName() + " not implemented.");
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion impl/src/main/java/com/geewhiz/pacify/Validator.java
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ public LinkedHashSet<Defect> validateInternal(EntityManager entityManager) {
logger.info(" Processing Marker File [{}]", pMarker.getFile().getAbsolutePath());
for (PMarkerCheck pMarkerCheck : pMarkerChecks) {
logger.debug(" Check [{}]", pMarkerCheck.getClass().getName());
defects.addAll(pMarkerCheck.checkForErrors(pMarker));
defects.addAll(pMarkerCheck.checkForErrors(entityManager, pMarker));
}
}
return defects;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import java.util.LinkedHashSet;

import com.geewhiz.pacify.defect.Defect;
import com.geewhiz.pacify.managers.EntityManager;
import com.geewhiz.pacify.model.PMarker;

public interface PMarkerCheck {
Expand All @@ -30,5 +31,5 @@ public interface PMarkerCheck {
* @param pMarker which should be checked?
* @return if there are defects, return a list with the defects.
*/
LinkedHashSet<Defect> checkForErrors(PMarker pMarker);
LinkedHashSet<Defect> checkForErrors(EntityManager entityManager, PMarker pMarker);
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,17 @@
import com.geewhiz.pacify.checks.PMarkerCheck;
import com.geewhiz.pacify.defect.ArchiveDuplicateDefinedInPMarkerDefect;
import com.geewhiz.pacify.defect.Defect;
import com.geewhiz.pacify.managers.EntityManager;
import com.geewhiz.pacify.model.PArchive;
import com.geewhiz.pacify.model.PMarker;

public class CheckArchiveDuplicateDefinedInPacifyFile implements PMarkerCheck {

public LinkedHashSet<Defect> checkForErrors(PMarker pMarker) {
public LinkedHashSet<Defect> checkForErrors(EntityManager entityManager, PMarker pMarker) {
LinkedHashSet<Defect> defects = new LinkedHashSet<Defect>();

List<String> archives = new ArrayList<String>();
for (PArchive pArchive : pMarker.getPArchives()) {
for (PArchive pArchive : entityManager.getPArchivesFrom(pMarker)) {
if (archives.contains(pArchive.getRelativePath())) {
Defect defect = new ArchiveDuplicateDefinedInPMarkerDefect(pMarker, pArchive);
defects.add(defect);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,16 @@
import com.geewhiz.pacify.checks.PMarkerCheck;
import com.geewhiz.pacify.defect.ArchiveTypeNotImplementedDefect;
import com.geewhiz.pacify.defect.Defect;
import com.geewhiz.pacify.managers.EntityManager;
import com.geewhiz.pacify.model.PArchive;
import com.geewhiz.pacify.model.PMarker;

public class CheckCorrectArchiveType implements PMarkerCheck {

public LinkedHashSet<Defect> checkForErrors(PMarker pMarker) {
public LinkedHashSet<Defect> checkForErrors(EntityManager entityManager, PMarker pMarker) {
LinkedHashSet<Defect> defects = new LinkedHashSet<Defect>();

for (PArchive pArchive : pMarker.getPArchives()) {
for (PArchive pArchive : entityManager.getPArchivesFrom(pMarker)) {
String type = pArchive.getInternalType();
if ("jar".equalsIgnoreCase(type)) {
continue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,22 @@
import com.geewhiz.pacify.defect.Defect;
import com.geewhiz.pacify.defect.DefectException;
import com.geewhiz.pacify.defect.FilterNotFoundDefect;
import com.geewhiz.pacify.managers.EntityManager;
import com.geewhiz.pacify.model.PArchive;
import com.geewhiz.pacify.model.PFile;
import com.geewhiz.pacify.model.PMarker;
import com.geewhiz.pacify.utils.Utils;

public class CheckCorrectPacifyFilter implements PMarkerCheck {

public LinkedHashSet<Defect> checkForErrors(PMarker pMarker) {
public LinkedHashSet<Defect> checkForErrors(EntityManager entityManager, PMarker pMarker) {
LinkedHashSet<Defect> defects = new LinkedHashSet<Defect>();

for (PArchive pArchive : pMarker.getPArchives()) {
for (PArchive pArchive : entityManager.getPArchivesFrom(pMarker)) {
checkPFiles(defects, pMarker, pArchive, pArchive.getPFiles());
}

checkPFiles(defects, pMarker, pMarker.getPFiles());
checkPFiles(defects, pMarker, entityManager.getPFilesFrom(pMarker));
return defects;
}

Expand All @@ -51,9 +52,9 @@ private void checkPFiles(LinkedHashSet<Defect> defects, PMarker pMarker, List<PF
private void checkPFiles(LinkedHashSet<Defect> defects, PMarker pMarker, PArchive pArchive, List<PFile> pFiles) {
for (PFile pFile : pFiles) {
try {
Utils.getPacifyFilter(pMarker, pArchive, pFile);
Utils.getPacifyFilter(pFile);
} catch (DefectException e) {
defects.add(new FilterNotFoundDefect(pMarker, pArchive, pFile));
defects.add(new FilterNotFoundDefect(pFile));
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,21 @@
import com.geewhiz.pacify.checks.PMarkerCheck;
import com.geewhiz.pacify.defect.Defect;
import com.geewhiz.pacify.defect.FileDuplicateDefinedInPMarkerDefect;
import com.geewhiz.pacify.managers.EntityManager;
import com.geewhiz.pacify.model.PArchive;
import com.geewhiz.pacify.model.PFile;
import com.geewhiz.pacify.model.PMarker;

public class CheckFileDuplicateDefinedInPacifyFile implements PMarkerCheck {

public LinkedHashSet<Defect> checkForErrors(PMarker pMarker) {
public LinkedHashSet<Defect> checkForErrors(EntityManager entityManager,PMarker pMarker) {
LinkedHashSet<Defect> defects = new LinkedHashSet<Defect>();

for (PArchive pArchive : pMarker.getPArchives()) {
for (PArchive pArchive :entityManager.getPArchivesFrom(pMarker)) {
checkPFiles(defects, pMarker, pArchive, pArchive.getPFiles());
}

checkPFiles(defects, pMarker, pMarker.getPFiles());
checkPFiles(defects, pMarker, entityManager.getPFilesFrom(pMarker));
return defects;
}

Expand Down
Loading

0 comments on commit 8f01ea4

Please sign in to comment.