diff --git a/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/AlternateAccessSelection.java b/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/AlternateAccessSelection.java index 095ad63..7401ca0 100644 --- a/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/AlternateAccessSelection.java +++ b/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/AlternateAccessSelection.java @@ -10,6 +10,7 @@ import java.io.OutputStream; import java.io.Serializable; import org.openmuc.jasn1.ber.*; import org.openmuc.jasn1.ber.types.*; +import org.openmuc.jasn1.ber.types.string.BerVisibleString; public class AlternateAccessSelection implements Serializable { diff --git a/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ConfirmedRequestPDU.java b/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ConfirmedRequestPDU.java index 1538f8b..f20f19f 100644 --- a/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ConfirmedRequestPDU.java +++ b/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ConfirmedRequestPDU.java @@ -9,6 +9,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.io.Serializable; import org.openmuc.jasn1.ber.*; +import org.openmuc.jasn1.ber.types.*; public class ConfirmedRequestPDU implements Serializable { diff --git a/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ConfirmedResponsePDU.java b/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ConfirmedResponsePDU.java index 34ed047..458b7ac 100644 --- a/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ConfirmedResponsePDU.java +++ b/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ConfirmedResponsePDU.java @@ -9,6 +9,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.io.Serializable; import org.openmuc.jasn1.ber.*; +import org.openmuc.jasn1.ber.types.BerInteger; public class ConfirmedResponsePDU implements Serializable { diff --git a/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/DeleteNamedVariableListRequest.java b/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/DeleteNamedVariableListRequest.java index 76123ba..530cc36 100644 --- a/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/DeleteNamedVariableListRequest.java +++ b/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/DeleteNamedVariableListRequest.java @@ -13,6 +13,7 @@ import java.util.Iterator; import java.io.Serializable; import org.openmuc.jasn1.ber.*; import org.openmuc.jasn1.ber.types.*; +import org.openmuc.jasn1.ber.types.string.BerVisibleString; public class DeleteNamedVariableListRequest implements Serializable { diff --git a/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ObjectName.java b/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ObjectName.java index 941f8d2..bd4cf02 100644 --- a/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ObjectName.java +++ b/src/main/java-gen/org/openmuc/openiec61850/internal/mms/asn1/ObjectName.java @@ -9,6 +9,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.io.Serializable; import org.openmuc.jasn1.ber.*; +import org.openmuc.jasn1.ber.types.string.BerVisibleString; public class ObjectName implements Serializable { diff --git a/src/main/java/org/openmuc/openiec61850/BdaEntryTime.java b/src/main/java/org/openmuc/openiec61850/BdaEntryTime.java index a0073fc..f34ba7b 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaEntryTime.java +++ b/src/main/java/org/openmuc/openiec61850/BdaEntryTime.java @@ -57,8 +57,8 @@ public final class BdaEntryTime extends BasicDataAttribute { if (value.length != 6) { return -1; } - return ((value[0] & 0xffl) << 24) + ((value[1] & 0xffl) << 16) + ((value[2] & 0xffl) << 8) + (value[3] & 0xffl) - + (((value[4] & 0xffl) << 8) + (value[5] & 0xffl)) * 86400000l; + return (((value[0] & 0xffl) << 24) + ((value[1] & 0xffl) << 16) + ((value[2] & 0xffl) << 8) + (value[3] & 0xffl) + + (((value[4] & 0xffl) << 8) + (value[5] & 0xffl)) * 86400000l) + 441763200000l; } public void setValue(byte[] value) { diff --git a/src/main/java/org/openmuc/openiec61850/ClientAssociation.java b/src/main/java/org/openmuc/openiec61850/ClientAssociation.java index a1e874c..02daaf6 100644 --- a/src/main/java/org/openmuc/openiec61850/ClientAssociation.java +++ b/src/main/java/org/openmuc/openiec61850/ClientAssociation.java @@ -944,10 +944,13 @@ public final class ClientAssociation { long fileSize = entry.getFileAttributes().getSizeOfFile().longValue(); - Calendar lastModified; + Calendar lastModified = null; + try { - lastModified = entry.getFileAttributes().getLastModified().asCalendar(); + + if (entry.getFileAttributes().getLastModified() != null) + lastModified = entry.getFileAttributes().getLastModified().asCalendar(); } catch (ParseException e) { throw new ServiceError(ServiceError.FAILED_DUE_TO_COMMUNICATIONS_CONSTRAINT, diff --git a/src/main/java/org/openmuc/openiec61850/FileInformation.java b/src/main/java/org/openmuc/openiec61850/FileInformation.java index 2d9ca64..433a273 100644 --- a/src/main/java/org/openmuc/openiec61850/FileInformation.java +++ b/src/main/java/org/openmuc/openiec61850/FileInformation.java @@ -21,6 +21,11 @@ public class FileInformation { return fileSize; } + /** + * Get the time stamp of last modification. As it is an optional attribute the return value can be null + * + * @return the time stamp of last modification, or null if the time stamp is not present + */ public Calendar getLastModified() { return lastModified; }