Skip to content

Commit

Permalink
refactor default persistence file
Browse files Browse the repository at this point in the history
  • Loading branch information
EddeCCC committed Aug 20, 2024
1 parent 5bb3b14 commit 0b0bb13
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package rocks.inspectit.gepard.agent.configuration.http;

import java.io.IOException;
import org.apache.hc.client5.http.async.methods.SimpleHttpResponse;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.slf4j.Logger;
Expand All @@ -8,8 +9,6 @@
import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration;
import rocks.inspectit.gepard.agent.internal.configuration.util.ConfigurationMapper;

import java.io.IOException;

/** Callback for configuration requests to the configuration server. */
public class HttpConfigurationCallback implements FutureCallback<SimpleHttpResponse> {
private static final Logger log = LoggerFactory.getLogger(HttpConfigurationCallback.class);
Expand All @@ -30,10 +29,11 @@ public void completed(SimpleHttpResponse result) {
if (result.getCode() == 200) {
String body = result.getBodyText();
try {
// ToDo Only process, if changes were made
InspectitConfiguration configuration = ConfigurationMapper.toObject(body);
persistence.processConfiguration(configuration);
} catch (IOException e) {
log.error("Could not process new configuration", e);
log.error("Could not process new configuration", e);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,11 @@
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ConfigurationFileAccessor {
private static final Logger log = LoggerFactory.getLogger(ConfigurationFileAccessor.class);

private static ConfigurationFileAccessor instance;

Expand All @@ -34,7 +37,7 @@ public static ConfigurationFileAccessor getInstance() {
public byte[] readFile(Path path) throws IOException {
readLock.lock();
try {
if (!Files.exists(path))
if (Files.notExists(path))
throw new FileNotFoundException("Configuration file not found: " + path);

if (!Files.isReadable(path))
Expand All @@ -49,8 +52,11 @@ public byte[] readFile(Path path) throws IOException {
public void writeFile(Path path, String content) throws IOException {
writeLock.lock();
try {
if (!Files.exists(path))
throw new FileNotFoundException("Configuration file not found: " + path);
if (Files.notExists(path)) {
log.info("Creating local configuration file at {}", path);
Files.createDirectories(path.getParent());
Files.createFile(path);
}

if (!Files.isWritable(path))
throw new AccessDeniedException("Configuration file is not writable: " + path);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package rocks.inspectit.gepard.agent.internal.properties;

import io.opentelemetry.javaagent.bootstrap.JavaagentFileHolder;
import java.time.Duration;
import java.util.Objects;

Expand Down Expand Up @@ -63,9 +64,10 @@ public static String getPersistenceFile() {
*
* @return the default persistence file name
*/
@SuppressWarnings("ConstantConditions")
private static String getDefaultPersistenceFile() {
// TODO optimize location
return "inspectit-gepard/last-http-config.json";
String suffix = "/inspectit-gepard/last-http-config.json";
return JavaagentFileHolder.getJavaagentFile().getParent() + suffix;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@

import static org.junit.jupiter.api.Assertions.*;

import java.io.IOException;
import org.junit.jupiter.api.Test;
import rocks.inspectit.gepard.agent.internal.configuration.exception.CouldNotDeserializeConfigurationException;
import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration;

import java.io.IOException;

class ConfigurationMapperTest {

@Test
Expand Down

0 comments on commit 0b0bb13

Please sign in to comment.