From: elgekko Date: Sat, 14 Oct 2023 18:08:26 +0000 (+0200) Subject: MC2TSM local validator X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=6d56f5d177a8d812db87258a21b684b654573bcc;p=mediacube.git MC2TSM local validator --- diff --git a/server/hu.user.mediacube.executors.tests/src/hu/user/mediacube/executors/tests/_2023_OfflineMC2TSMValidator.java b/server/hu.user.mediacube.executors.tests/src/hu/user/mediacube/executors/tests/_2023_OfflineMC2TSMValidator.java new file mode 100644 index 00000000..4c4b7fbf --- /dev/null +++ b/server/hu.user.mediacube.executors.tests/src/hu/user/mediacube/executors/tests/_2023_OfflineMC2TSMValidator.java @@ -0,0 +1,71 @@ +package hu.user.mediacube.executors.tests; + +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.junit.Test; + +public class _2023_OfflineMC2TSMValidator { + + /* + dsmadmc -id=support -password=userkft1q2 -TABdelimited -dataonly=yes "select LL_NAME from backups where FILESPACE_NAME = '/JOBENGINE'" >htv-tsm.txt + SELECT mf.relativepath, m.archived FROM mediafile mf, media m WHERE m.id=mf.mediaid and mf.storeid=1 + */ + + @Test + public void process() throws Exception { + String tsmInput = "/opt/HTV/htv-tsm-2301.txt"; + String mcInput = "/opt/HTV/htv-mc-2301.txt"; + + List lines = Files.readAllLines(Paths.get(tsmInput)); + + Set tsm = new LinkedHashSet<>(); + lines.forEach(x -> { + if (tsm.contains(x)) { + // System.out.println("Already added " + x); + } else { + tsm.add(x); + } + + }); + + // Set conflict = new HashSet<>(Files.readAllLines(Paths.get("/opt/HTV/htv-conflict-2212.txt"))); + + System.out.println("TSM lines " + tsm.size()); + Set mc = new LinkedHashSet<>(Files.readAllLines(Paths.get(mcInput))); + Map mcMap = new HashMap<>(); + mc.forEach(x -> { + String[] tokens = x.split("\t"); + if (tokens.length != 2) { + System.out.println("Wrong line:" + x); + } else { + mcMap.put(tokens[0].replace("\"", ""), tokens[1].replace("'", "")); + } + }); + + int errorCount = 0; + Set mcIds = mcMap.keySet(); + StringBuilder sb = new StringBuilder(); + List mfIDs = new ArrayList<>(); + for (String mcfile : mcIds) { + boolean tsmContains = tsm.contains(mcfile); + if (!tsmContains) { +// if (conflict.contains(mcfile)) +// continue; + errorCount++; + } + } + System.out.println("All missing: " + errorCount); + +// String joinedString = String.join(",", mfIDs); +// System.out.println(joinedString); + Files.write(Paths.get("/opt/HTV/htv-missing.txt"), sb.toString().getBytes()); + } + +}