modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java |
19 ++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
New commits:
commit 75fddb05a1798dc37c88e21970524b0f9fc72f9f
Author: John Sanda <jsanda(a)redhat.com>
Date: Thu Jun 30 15:16:31 2011 -0400
Changing the rate at which drift detection runs to 1 minute for development
The rate at which drift detection runs will be made configurable via a
plugin container configuration property later on down the road. The
shorter, hard-coded interval is just to intended to make manual
testing during development easier.
diff --git
a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
index 619ef7d..be93ed5 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
@@ -67,7 +67,8 @@ public class DriftManager extends AgentService implements
DriftAgentService, Dri
driftDetector.setDriftClient(this);
driftThreadPool = new ScheduledThreadPoolExecutor(5);
- driftThreadPool.scheduleAtFixedRate(driftDetector, 30, 1800, TimeUnit.SECONDS);
+ // TODO Make the drift detection rate configurable
+ driftThreadPool.scheduleAtFixedRate(driftDetector, 30, 60, TimeUnit.SECONDS);
}
@Override
commit 61956fb6f33fccf765410c1b7f4adf9e7657f6eb
Author: John Sanda <jsanda(a)redhat.com>
Date: Thu Jun 30 11:30:56 2011 -0400
Copy file content into zip file
In the last commit I modified logic to create a flat zip file, but I was
not actually copying content into the zip file. This commit copies
content. There is still some more work to do to ensure streams are
closed and logic for error handling.
diff --git
a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
index 5b74a3a..619ef7d 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
@@ -30,6 +30,7 @@ import org.rhq.core.pc.agent.AgentService;
import org.rhq.core.pc.inventory.InventoryManager;
import org.rhq.core.pc.inventory.ResourceContainer;
import org.rhq.core.pc.measurement.MeasurementManager;
+import org.rhq.core.util.stream.StreamUtil;
public class DriftManager extends AgentService implements DriftAgentService, DriftClient,
ContainerService {
@@ -115,7 +116,10 @@ public class DriftManager extends AgentService implements
DriftAgentService, Dri
//zipFileOrDirectory(contentDir, zipFile);
for (File file : contentDir.listFiles()) {
+ FileInputStream fis = new FileInputStream(file);
stream.putNextEntry(new ZipEntry(file.getName()));
+ StreamUtil.copy(fis, stream, false);
+ fis.close();
}
stream.close();
commit 9d0591cdba22a5b7aeb6979891631d4a0aec3d63
Author: John Sanda <jsanda(a)redhat.com>
Date: Thu Jun 30 10:41:48 2011 -0400
Do not use ZipUtil for generating content zip file
The server expects a flat zip file but I discovered last night that
ZipUtil preserves paths.
diff --git
a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
index f252c08..5b74a3a 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
@@ -3,12 +3,16 @@ package org.rhq.core.pc.drift;
import static org.rhq.core.util.ZipUtil.zipFileOrDirectory;
import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -107,7 +111,13 @@ public class DriftManager extends AgentService implements
DriftAgentService, Dri
public void sendChangeSetContentToServer(int resourceId, String
driftConfigurationName, File contentDir) {
try {
File zipFile = new File(pluginContainerConfiguration.getTemporaryDirectory(),
"content.zip");
- zipFileOrDirectory(contentDir, zipFile);
+ ZipOutputStream stream = new ZipOutputStream(new BufferedOutputStream(new
FileOutputStream(zipFile)));
+ //zipFileOrDirectory(contentDir, zipFile);
+
+ for (File file : contentDir.listFiles()) {
+ stream.putNextEntry(new ZipEntry(file.getName()));
+ }
+ stream.close();
DriftServerService driftServer =
pluginContainerConfiguration.getServerServices().getDriftServerService();
driftServer.sendFilesZip(resourceId, zipFile.length(), remoteInputStream(new
BufferedInputStream(
Show replies by date