Skip to content

Commit 49e374a

Browse files
authored
remove unnecessary dependencies (fixes allure-framework#595, via allure-framework#597)
1 parent 7f33882 commit 49e374a

4 files changed

Lines changed: 57 additions & 9 deletions

File tree

allure-java-commons/build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ dependencies {
88
api(project(":allure-model"))
99
compileOnly("org.aspectj:aspectjrt")
1010
implementation("com.fasterxml.jackson.core:jackson-databind")
11-
implementation("org.apache.tika:tika-core")
12-
implementation("org.jooq:joor-java-8")
1311
testImplementation("io.github.benas:random-beans")
1412
testImplementation("io.github.glytching:junit-extensions")
1513
testImplementation("org.apache.commons:commons-lang3")

allure-java-commons/src/main/java/io/qameta/allure/util/NamingUtils.java

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.slf4j.Logger;
1919
import org.slf4j.LoggerFactory;
2020

21+
import java.lang.reflect.Field;
2122
import java.util.Map;
2223
import java.util.Objects;
2324
import java.util.Optional;
@@ -29,8 +30,6 @@
2930
import java.util.stream.Stream;
3031
import java.util.stream.StreamSupport;
3132

32-
import static org.joor.Reflect.on;
33-
3433
/**
3534
* @author charlie (Dmitry Baev).
3635
*/
@@ -88,9 +87,48 @@ private static String extractProperties(final Object object, final String[] part
8887
.map(child -> extractProperties(child, parts, index))
8988
.collect(JOINER);
9089
}
91-
final Object child = on(object).get(parts[index]);
90+
final Object child = extractChild(object, parts[index]);
9291
return extractProperties(child, parts, index + 1);
9392
}
9493
return ObjectUtils.toString(object);
9594
}
95+
96+
private static Object extractChild(final Object object, final String part) {
97+
final Class<?> type = object == null ? Object.class : object.getClass();
98+
try {
99+
return extractField(object, part, type);
100+
} catch (ReflectiveOperationException e) {
101+
throw new IllegalStateException("Unable to extract " + part + " value from " + type.getName(), e);
102+
}
103+
}
104+
105+
@SuppressWarnings("PMD.EmptyCatchBlock")
106+
private static Object extractField(final Object object, final String part, final Class<?> type)
107+
throws ReflectiveOperationException {
108+
try {
109+
final Field field = type.getField(part);
110+
return fieldValue(object, field);
111+
} catch (NoSuchFieldException e) {
112+
Class<?> t = type;
113+
while (t != null) {
114+
try {
115+
final Field declaredField = t.getDeclaredField(part);
116+
return fieldValue(object, declaredField);
117+
} catch (NoSuchFieldException ignore) {
118+
// Ignore
119+
}
120+
t = t.getSuperclass();
121+
}
122+
throw e;
123+
}
124+
}
125+
126+
private static Object fieldValue(final Object object, final Field field) throws IllegalAccessException {
127+
try {
128+
return field.get(object);
129+
} catch (IllegalAccessException e) {
130+
field.setAccessible(true);
131+
return field.get(object);
132+
}
133+
}
96134
}

allure-java-commons/src/main/java/io/qameta/allure/util/ResultsUtils.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727
import io.qameta.allure.model.Parameter;
2828
import io.qameta.allure.model.Status;
2929
import io.qameta.allure.model.StatusDetails;
30-
import org.apache.tika.io.IOUtils;
3130
import org.slf4j.Logger;
3231
import org.slf4j.LoggerFactory;
3332

33+
import java.io.ByteArrayOutputStream;
3434
import java.io.IOException;
3535
import java.io.InputStream;
3636
import java.io.PrintWriter;
@@ -60,6 +60,7 @@
6060
*/
6161
@SuppressWarnings({
6262
"ClassFanOutComplexity",
63+
"ClassDataAbstractionCoupling",
6364
"PMD.ExcessiveImports",
6465
"PMD.TooManyMethods",
6566
"PMD.GodClass",
@@ -394,14 +395,27 @@ private static Optional<String> readResource(final ClassLoader classLoader, fina
394395
if (Objects.isNull(is)) {
395396
return Optional.empty();
396397
}
397-
final byte[] bytes = IOUtils.toByteArray(is);
398+
final byte[] bytes = toBytes(is);
398399
return Optional.of(new String(bytes, StandardCharsets.UTF_8));
399400
} catch (IOException e) {
400401
LOGGER.warn("Unable to process description resource file", e);
401402
}
402403
return Optional.empty();
403404
}
404405

406+
private static byte[] toBytes(final InputStream is) throws IOException {
407+
final ByteArrayOutputStream output = new ByteArrayOutputStream();
408+
final byte[] buffer = new byte[4096];
409+
int n;
410+
do {
411+
n = is.read(buffer);
412+
if (n > 0) {
413+
output.write(buffer, 0, n);
414+
}
415+
} while (-1 != n);
416+
return output.toByteArray();
417+
}
418+
405419
private static boolean separateLines() {
406420
return parseBoolean(loadAllureProperties().getProperty(ALLURE_SEPARATE_LINES_SYSPROP));
407421
}

build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,12 @@ configure(subprojects) {
8888
dependency("io.github.glytching:junit-extensions:2.4.0")
8989
dependency("org.apache.commons:commons-lang3:3.12.0")
9090
dependency("org.apache.httpcomponents:httpclient:4.5.13")
91-
dependency("org.apache.tika:tika-core:1.26")
9291
dependency("org.aspectj:aspectjrt:1.9.6")
9392
dependency("org.aspectj:aspectjweaver:1.9.6")
9493
dependency("org.assertj:assertj-core:3.19.0")
9594
dependency("org.codehaus.groovy:groovy-all:2.5.13")
9695
dependency("org.freemarker:freemarker:2.3.31")
9796
dependency("org.jboss.resteasy:resteasy-client:4.6.0.Final")
98-
dependency("org.jooq:joor-java-8:0.9.14")
9997
dependency("org.mock-server:mockserver-netty:5.11.2")
10098
dependency("org.mockito:mockito-core:3.11.0")
10199
dependencySet("org.slf4j:1.7.30") {

0 commit comments

Comments
 (0)