diff --git a/distribution/pom.xml b/distribution/pom.xml index 2e939a867c2..5dffed81247 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -3,7 +3,7 @@ org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 distribution diff --git a/examples/cascading/pom.xml b/examples/cascading/pom.xml index 6086a4f1188..248ce5deaa6 100644 --- a/examples/cascading/pom.xml +++ b/examples/cascading/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 cascading diff --git a/examples/ccsds-frames/pom.xml b/examples/ccsds-frames/pom.xml index 64907d8a72a..081c45028ee 100644 --- a/examples/ccsds-frames/pom.xml +++ b/examples/ccsds-frames/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 ccsds-frames diff --git a/examples/cfdp-udp/pom.xml b/examples/cfdp-udp/pom.xml index 4011aeffb93..965be3b43f5 100644 --- a/examples/cfdp-udp/pom.xml +++ b/examples/cfdp-udp/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 cfdp-udp diff --git a/examples/cfdp/pom.xml b/examples/cfdp/pom.xml index b0b59272efd..a77c649985e 100644 --- a/examples/cfdp/pom.xml +++ b/examples/cfdp/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 cfdp diff --git a/examples/perftest1/pom.xml b/examples/perftest1/pom.xml index 5eb2f015add..b240d7c1744 100644 --- a/examples/perftest1/pom.xml +++ b/examples/perftest1/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 perftest1 diff --git a/examples/perftest2/pom.xml b/examples/perftest2/pom.xml index f19793890b3..be6cef6ec69 100644 --- a/examples/perftest2/pom.xml +++ b/examples/perftest2/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 perftest2 diff --git a/examples/pom.xml b/examples/pom.xml index b0daecbf660..d9daa7a433d 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -5,7 +5,7 @@ org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 org.yamcs.examples diff --git a/examples/pus/pom.xml b/examples/pus/pom.xml index 9ea0b823bc7..cc99c74efbc 100644 --- a/examples/pus/pom.xml +++ b/examples/pus/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 pus diff --git a/examples/replication1/pom.xml b/examples/replication1/pom.xml index 29327258a92..c86d877cb27 100644 --- a/examples/replication1/pom.xml +++ b/examples/replication1/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 replication1 diff --git a/examples/replication2/pom.xml b/examples/replication2/pom.xml index 350f465cc6c..7064489d1d0 100644 --- a/examples/replication2/pom.xml +++ b/examples/replication2/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 replication2 diff --git a/examples/replication3/pom.xml b/examples/replication3/pom.xml index adf80e144b5..60d905671ea 100644 --- a/examples/replication3/pom.xml +++ b/examples/replication3/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 replication3 diff --git a/examples/simulation/pom.xml b/examples/simulation/pom.xml index 62dc07b2526..ed0f581e871 100644 --- a/examples/simulation/pom.xml +++ b/examples/simulation/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 simulation diff --git a/examples/snippets/pom.xml b/examples/snippets/pom.xml index 24b8b3722f0..94ce8310e66 100644 --- a/examples/snippets/pom.xml +++ b/examples/snippets/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 snippets diff --git a/examples/templates/pom.xml b/examples/templates/pom.xml index c8c14f3e8c9..6324320c573 100644 --- a/examples/templates/pom.xml +++ b/examples/templates/pom.xml @@ -5,7 +5,7 @@ org.yamcs.examples examples - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 templates diff --git a/packet-viewer/pom.xml b/packet-viewer/pom.xml index 4500f52feef..3e304d5f01e 100644 --- a/packet-viewer/pom.xml +++ b/packet-viewer/pom.xml @@ -3,7 +3,7 @@ org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 packet-viewer diff --git a/pom.xml b/pom.xml index 94fee4acb08..f61b0078a26 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 pom diff --git a/simulator/pom.xml b/simulator/pom.xml index d00f13b2141..14df0ed14ed 100644 --- a/simulator/pom.xml +++ b/simulator/pom.xml @@ -5,7 +5,7 @@ org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 simulator diff --git a/tests/pom.xml b/tests/pom.xml index 7adc887ebf7..1806c6f56bf 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -6,7 +6,7 @@ org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 tests diff --git a/yamcs-api/pom.xml b/yamcs-api/pom.xml index c8fd0721ab6..b9273715a78 100644 --- a/yamcs-api/pom.xml +++ b/yamcs-api/pom.xml @@ -4,7 +4,7 @@ org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 yamcs-api diff --git a/yamcs-client/pom.xml b/yamcs-client/pom.xml index 016d580f25e..2ca36f5e3db 100644 --- a/yamcs-client/pom.xml +++ b/yamcs-client/pom.xml @@ -3,7 +3,7 @@ org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 yamcs-client diff --git a/yamcs-core/pom.xml b/yamcs-core/pom.xml index d373ed4ea6e..62b9566fec3 100644 --- a/yamcs-core/pom.xml +++ b/yamcs-core/pom.xml @@ -3,7 +3,7 @@ org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 yamcs-core diff --git a/yamcs-core/src/main/java/org/yamcs/tctm/ccsds/VcTmPacketHandler.java b/yamcs-core/src/main/java/org/yamcs/tctm/ccsds/VcTmPacketHandler.java index 9981ec3539a..66040eed56f 100644 --- a/yamcs-core/src/main/java/org/yamcs/tctm/ccsds/VcTmPacketHandler.java +++ b/yamcs-core/src/main/java/org/yamcs/tctm/ccsds/VcTmPacketHandler.java @@ -85,7 +85,7 @@ public class VcTmPacketHandler implements TmPacketDataLink, VcDownlinkHandler, S private Parameter spDataInCount, spDataInRate, vcDelta; // List of published vcDelta's - private ArrayList vcDeltas = new ArrayList<>(); + private ArrayList vcDeltas = new ArrayList<>(1); public VcTmPacketHandler(String yamcsInstance, String name, VcDownlinkManagedParameters vmp) { @@ -120,7 +120,7 @@ public VcTmPacketHandler(String yamcsInstance, String name, VcDownlinkManagedPar } } - public synchronized void publishVcDelta(long prevCount, long currentCount, int vcDifference) throws InterruptedException { + public void publishVcDelta(long prevCount, long currentCount, int vcDifference) { long time = timeService.getMissionTime(); AggregateValue v = new AggregateValue(vcDeltaType.getMemberNames()); @@ -133,10 +133,6 @@ public synchronized void publishVcDelta(long prevCount, long currentCount, int v pv.setAcquisitionStatus(AcquisitionStatus.ACQUIRED); pv.setEngValue(v); - while (Thread.holdsLock(vcDeltas)) { - wait(); - } - vcDeltas.add(pv); } @@ -152,12 +148,20 @@ public void handle(DownlinkTransferFrame frame) { lastFrameSeq = frame.getVcFrameSeq(); // Publish the vcDelta - try { - if (frameLoss != 0) + synchronized (vcDeltas) { + if (frameLoss != 0) { + while (vcDeltas.size() == 1) { + // Wait till consumed + try { + vcDeltas.wait(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + log.error("Interrupted while waiting for vcDeltas to be consumed", e); + } + } + // Produce the vcDelta publishVcDelta(prevFrameSeq, lastFrameSeq, frameLoss); - - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); + } } if (frame.containsOnlyIdleData()) { @@ -450,11 +454,9 @@ public void setupSystemParameters(SystemParametersService sysParamService) { } - public synchronized void consumeVcDelta(List list) throws InterruptedException { + public void consumeVcDelta(List list) { list.addAll(vcDeltas); vcDeltas.clear(); - - notify(); } @Override @@ -463,13 +465,11 @@ public Collection getSystemParameters(long time) { try { collectSystemParameters(time, list); synchronized (vcDeltas) { - if (!vcDeltas.isEmpty()) + if (!vcDeltas.isEmpty()) { consumeVcDelta(list); + vcDeltas.notify(); + } } - - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - } catch (Exception e) { log.error("Exception caught when collecting link system parameters", e); } diff --git a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/eleven/SubServiceTen.java b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/eleven/SubServiceTen.java index cdec39bc3a1..9194a3cac58 100644 --- a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/eleven/SubServiceTen.java +++ b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/eleven/SubServiceTen.java @@ -67,7 +67,7 @@ public SubServiceTen(String yamcsInstance, YConfiguration config) { try { for (Map.Entry folderN: folders.entrySet()) - timetagScheduleDetailReportBucket.putObject(yamcsInstance + "/timetagScheduleDetailReport/" + folderN.getValue() + "/", "application/octet-stream", new HashMap<>(), new byte[0]); + timetagScheduleDetailReportBucket.putObject("timetagScheduleDetailReport/" + folderN.getValue() + "/", "application/octet-stream", new HashMap<>(), new byte[0]); } catch (IOException e) { log.error("Unable to create a directory `" + timetagScheduleDetailReportBucket.getName() + "/timetagScheduleDetailReport` for (Service - 11 | SubService - 10)", e); @@ -100,7 +100,7 @@ public ArrayList generateTimetagScheduleDetailReport(long gentime, Map metadata; if (foundObject == null) { - filename = yamcsInstance + "/timetagScheduleDetailReport/" + folders.get(apid) + "/" + LocalDateTime.ofInstant( + filename = "timetagScheduleDetailReport/" + folders.get(apid) + "/" + LocalDateTime.ofInstant( Instant.ofEpochSecond(gentime), ZoneId.of("GMT") ).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")) + ".csv"; @@ -239,7 +239,7 @@ public ArrayList process(TmPacket tmPacket) { try { foundObject = findObject(uniqueSignature); if (foundObject == null) { - String filename = yamcsInstance + "/timetagScheduleDetailReport/" + folders.get(apid) + "/" + LocalDateTime.ofInstant( + String filename = "timetagScheduleDetailReport/" + folders.get(apid) + "/" + LocalDateTime.ofInstant( Instant.ofEpochSecond(generationTime), ZoneId.of("GMT") ).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")) + ".csv"; diff --git a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/eleven/SubServiceThirteen.java b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/eleven/SubServiceThirteen.java index e481f5f0629..fc823598b29 100644 --- a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/eleven/SubServiceThirteen.java +++ b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/eleven/SubServiceThirteen.java @@ -66,7 +66,7 @@ public SubServiceThirteen(String yamcsInstance, YConfiguration config) { try { for (Map.Entry folderN: folders.entrySet()) - timetagScheduleSummaryReportBucket.putObject(yamcsInstance + "/timetagScheduleSummaryReport/" + folderN.getValue() + "/", "application/octet-stream", new HashMap<>(), new byte[0]); + timetagScheduleSummaryReportBucket.putObject("timetagScheduleSummaryReport/" + folderN.getValue() + "/", "application/octet-stream", new HashMap<>(), new byte[0]); } catch (IOException e) { log.error("Unable to create a directory `" + timetagScheduleSummaryReportBucket.getName() + "/timetagScheduleSummaryReport` for (Service - 11 | SubService - 13)", e); @@ -99,7 +99,7 @@ public void generateTimetagScheduleSummaryReport(long gentime, Map metadata; if (foundObject == null) { - filename = yamcsInstance + "/timetagScheduleSummaryReport/" + folders.get(apid) + "/" + LocalDateTime.ofInstant( + filename = "timetagScheduleSummaryReport/" + folders.get(apid) + "/" + LocalDateTime.ofInstant( Instant.ofEpochSecond(gentime), ZoneId.of("GMT") ).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")) + ".csv"; @@ -232,7 +232,7 @@ public ArrayList process(TmPacket tmPacket) { ObjectProperties foundObject = findObject(uniqueSignature); if (foundObject == null) { - String filename = yamcsInstance + "/timetagScheduleSummaryReport/" + folders.get(apid) + "/" + LocalDateTime.ofInstant( + String filename = "timetagScheduleSummaryReport/" + folders.get(apid) + "/" + LocalDateTime.ofInstant( Instant.ofEpochSecond(generationTime), ZoneId.of("GMT") ).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")) + ".csv"; diff --git a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/fifteen/SubServiceNineteen.java b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/fifteen/SubServiceNineteen.java index 57955149423..ed3bf78097c 100644 --- a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/fifteen/SubServiceNineteen.java +++ b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/fifteen/SubServiceNineteen.java @@ -73,7 +73,7 @@ public SubServiceNineteen(String yamcsInstance, YConfiguration config) { packetStoreStatusReportBucket = PusTmManager.reports; try { - packetStoreStatusReportBucket.putObject(yamcsInstance + "/packetStoreStatusReport/", "application/octet-stream", new HashMap<>(), new byte[0]); + packetStoreStatusReportBucket.putObject("packetStoreStatusReport/", "application/octet-stream", new HashMap<>(), new byte[0]); } catch (IOException e) { log.error("Unable to create a directory `" + packetStoreStatusReportBucket.getName() + "/packetStoreStatusReport` for (Service - 15 | SubService - 19)", e); @@ -88,7 +88,7 @@ public PreparedCommand process(PreparedCommand telecommand) { public void generatePacketStoredStatusReport(long generationTime, Map packetStoreReportMap) { long missionTime = PusTmManager.timeService.getMissionTime(); - String filename = yamcsInstance + "/packetStoreStatusReport/" + LocalDateTime.ofInstant( + String filename = "packetStoreStatusReport/" + LocalDateTime.ofInstant( Instant.ofEpochSecond(generationTime), ZoneId.of("GMT") ).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")) + ".csv"; diff --git a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/fifteen/SubServiceThirteen.java b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/fifteen/SubServiceThirteen.java index b1971d26c75..0dedb008f63 100644 --- a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/fifteen/SubServiceThirteen.java +++ b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/fifteen/SubServiceThirteen.java @@ -64,7 +64,7 @@ public SubServiceThirteen(String yamcsInstance, YConfiguration config) { try { for (Map.Entry folder: packetStoreMap.entrySet()) - packetStoreSummaryReportBucket.putObject(yamcsInstance + "/packetStoreSummaryReport/" + folder.getValue() + "/", "application/octet-stream", new HashMap<>(), new byte[0]); + packetStoreSummaryReportBucket.putObject("packetStoreSummaryReport/" + folder.getValue() + "/", "application/octet-stream", new HashMap<>(), new byte[0]); } catch (IOException e) { log.error("Unable to create a directory `" + packetStoreSummaryReportBucket.getName() + "/packetStoreSummaryReport` for (Service - 15 | SubService - 13)", e); @@ -88,7 +88,7 @@ public void generatePacketStoredSummaryReport(long generationTime, Map packetStoreReport: packetStoreReportMap.entrySet()) { - String filename = yamcsInstance + "/packetStoreSummaryReport/" + packetStoreMap.get(packetStoreReport.getKey()) + "/" + LocalDateTime.ofInstant( + String filename = "packetStoreSummaryReport/" + packetStoreMap.get(packetStoreReport.getKey()) + "/" + LocalDateTime.ofInstant( Instant.ofEpochSecond(generationTime), ZoneId.of("GMT") ).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")) + ".csv"; diff --git a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceNine.java b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceNine.java index c14f9390489..e59c2936111 100644 --- a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceNine.java +++ b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceNine.java @@ -64,7 +64,7 @@ public SubServiceNine(String yamcsInstance, YConfiguration subServiceSixConfig) physicalDeviceReportBucket = PusTmManager.reports; try { - physicalDeviceReportBucket.putObject(yamcsInstance + "/physicalDeviceReport/", "application/octet-stream", new HashMap<>(), new byte[0]); + physicalDeviceReportBucket.putObject("physicalDeviceReport/", "application/octet-stream", new HashMap<>(), new byte[0]); } catch (IOException e) { log.error("Unable to create a directory `" + physicalDeviceReportBucket.getName() + "/physicalDeviceReport` for (Service - 2 | SubService - 9)", e); @@ -92,7 +92,7 @@ public ArrayList process(TmPacket tmPacket) { long generationTime = ByteArrayUtils.decodeCustomInteger(pPkt.getGenerationTime(), 0, PusTmManager.absoluteTimeLength); long missionTime = PusTmManager.timeService.getMissionTime(); - String filename = yamcsInstance + "/physicalDeviceReport/" + LocalDateTime.ofInstant( + String filename = "physicalDeviceReport/" + LocalDateTime.ofInstant( Instant.ofEpochSecond(generationTime), ZoneId.of("GMT") ).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")) + ".json"; diff --git a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceSix.java b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceSix.java index f72207a8f42..6a9b8ea8dd1 100644 --- a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceSix.java +++ b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceSix.java @@ -51,7 +51,7 @@ public SubServiceSix(String yamcsInstance, YConfiguration subServiceSixConfig) { registerDumpBucket = PusTmManager.reports; try { - registerDumpBucket.putObject(yamcsInstance + "/deviceRegisterReport/", "application/octet-stream", new HashMap<>(), new byte[0]); + registerDumpBucket.putObject("deviceRegisterReport/", "application/octet-stream", new HashMap<>(), new byte[0]); } catch (IOException e) { log.error("Unable to create a directory `" + registerDumpBucket.getName() + "/registerDumpBucket` for (Service - 2 | SubService - 6)", e); @@ -80,7 +80,7 @@ public ArrayList process(TmPacket tmPacket) { long missionTime = PusTmManager.timeService.getMissionTime(); long generationTime = ByteArrayUtils.decodeCustomInteger(pPkt.getGenerationTime(), 0, PusTmManager.absoluteTimeLength); - String filename = yamcsInstance + "/deviceRegisterReport/" + LocalDateTime.ofInstant( + String filename = "deviceRegisterReport/" + LocalDateTime.ofInstant( Instant.ofEpochSecond(generationTime), ZoneId.of("GMT") ).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")) + ".json"; diff --git a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceTwelve.java b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceTwelve.java index 6c7d9cda4dc..5575c8a9e10 100644 --- a/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceTwelve.java +++ b/yamcs-core/src/main/java/org/yamcs/tctm/pus/services/tm/two/SubServiceTwelve.java @@ -64,7 +64,7 @@ public SubServiceTwelve(String yamcsInstance, YConfiguration subServiceSixConfig logicalDeviceReportBucket = PusTmManager.reports; try { - logicalDeviceReportBucket.putObject(yamcsInstance + "/logicalDeviceReport/", "application/octet-stream", new HashMap<>(), new byte[0]); + logicalDeviceReportBucket.putObject("logicalDeviceReport/", "application/octet-stream", new HashMap<>(), new byte[0]); } catch (IOException e) { log.error("Unable to create a directory `" + logicalDeviceReportBucket.getName() + "/logicalDeviceReport` for (Service - 2 | SubService - 12)", e); @@ -92,7 +92,7 @@ public ArrayList process(TmPacket tmPacket) { long generationTime = ByteArrayUtils.decodeCustomInteger(pPkt.getGenerationTime(), 0, PusTmManager.absoluteTimeLength); long missionTime = PusTmManager.timeService.getMissionTime(); - String filename = yamcsInstance + "/logicalDeviceReport/" + LocalDateTime.ofInstant( + String filename = "logicalDeviceReport/" + LocalDateTime.ofInstant( Instant.ofEpochSecond(generationTime), ZoneId.of("GMT") ).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")) + ".json"; diff --git a/yamcs-core/src/main/java/org/yamcs/yarch/FileSystemBucketDatabase.java b/yamcs-core/src/main/java/org/yamcs/yarch/FileSystemBucketDatabase.java index a45a507946e..2f6b3d3944e 100644 --- a/yamcs-core/src/main/java/org/yamcs/yarch/FileSystemBucketDatabase.java +++ b/yamcs-core/src/main/java/org/yamcs/yarch/FileSystemBucketDatabase.java @@ -62,13 +62,14 @@ public FileSystemBucket createBucket(String bucketName) throws IOException { * the name of the bucket. * * @param location - * the path to the bucket. This location should already exist. + * the path to the bucket. This location should already exist [Not anymore] */ public FileSystemBucket registerBucket(String bucketName, Path location) throws IOException { if (!location.toFile().exists()) { - throw new FileNotFoundException( - "Directory '" + location + "'(" + location.toAbsolutePath() + ") not found"); - } else if (!location.toFile().isDirectory()) { + // Create the path + Files.createDirectories(location); + + } if (!location.toFile().isDirectory()) { throw new IOException("Not a directory '" + location + "'"); } diff --git a/yamcs-tse/pom.xml b/yamcs-tse/pom.xml index 287aac0e6ff..e8d7a7a687e 100644 --- a/yamcs-tse/pom.xml +++ b/yamcs-tse/pom.xml @@ -3,7 +3,7 @@ org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 yamcs-tse diff --git a/yamcs-web/pom.xml b/yamcs-web/pom.xml index c5303061db7..a3bc89da57c 100644 --- a/yamcs-web/pom.xml +++ b/yamcs-web/pom.xml @@ -3,7 +3,7 @@ org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 yamcs-web diff --git a/yamcs-web/src/main/webapp/projects/webapp/src/app/admin/shared/admin-page/admin-page.component.css b/yamcs-web/src/main/webapp/projects/webapp/src/app/admin/shared/admin-page/admin-page.component.css index 2b3b7c44515..385957bd841 100644 --- a/yamcs-web/src/main/webapp/projects/webapp/src/app/admin/shared/admin-page/admin-page.component.css +++ b/yamcs-web/src/main/webapp/projects/webapp/src/app/admin/shared/admin-page/admin-page.component.css @@ -36,6 +36,7 @@ mat-toolbar { .navbar-logo { text-align: center; line-height: 0; + width: 98%; } .navbar-logo img { diff --git a/yamcs-web/src/main/webapp/projects/webapp/src/app/file-transfer/transfer-file-dialog/transfer-file-dialog.component.ts b/yamcs-web/src/main/webapp/projects/webapp/src/app/file-transfer/transfer-file-dialog/transfer-file-dialog.component.ts index 4d739ca97a1..b49b100d468 100644 --- a/yamcs-web/src/main/webapp/projects/webapp/src/app/file-transfer/transfer-file-dialog/transfer-file-dialog.component.ts +++ b/yamcs-web/src/main/webapp/projects/webapp/src/app/file-transfer/transfer-file-dialog/transfer-file-dialog.component.ts @@ -94,8 +94,6 @@ export class TransferFileDialogComponent implements OnDestroy { // Filter out displays and stacks buckets for (let i = 0; i < buckets.length; i++) { - if (buckets[i].name == 'displays' || buckets[i].name == 'stacks') - continue; newBuckets.push(buckets[i]); } diff --git a/yamcs-web/src/main/webapp/projects/webapp/src/app/shared/instance-page/instance-page.component.css b/yamcs-web/src/main/webapp/projects/webapp/src/app/shared/instance-page/instance-page.component.css index 4f1fa271336..d4cd5dde15c 100644 --- a/yamcs-web/src/main/webapp/projects/webapp/src/app/shared/instance-page/instance-page.component.css +++ b/yamcs-web/src/main/webapp/projects/webapp/src/app/shared/instance-page/instance-page.component.css @@ -71,6 +71,7 @@ mat-toolbar { .navbar-logo { text-align: center; line-height: 0; + width: 98%; } .navbar-logo img { diff --git a/yamcs-xtce/pom.xml b/yamcs-xtce/pom.xml index 092b64f47bf..91d30820e57 100644 --- a/yamcs-xtce/pom.xml +++ b/yamcs-xtce/pom.xml @@ -5,7 +5,7 @@ org.yamcs yamcs - 5.10.9-Pixxel-6.4.1 + 5.10.9-Pixxel-7.0.0 yamcs-xtce