Skip to content

Commit 72bca67

Browse files
authored
Merge pull request #19 from epics-base/updated_pvdata
Updated pvdata
2 parents dcd4da7 + c0c9272 commit 72bca67

30 files changed

+485
-43
lines changed

pvDataJava/pom.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,17 @@
4242
<connection>https://github.com/epics-base/pvDataJava</connection>
4343
<developerConnection>https://github.com/epics-base/pvDataJava</developerConnection>
4444
</scm>
45+
<dependencies>
46+
<dependency>
47+
<groupId>${project.groupId}</groupId>
48+
<artifactId>epics-util</artifactId>
49+
<version>1.0.0-SNAPSHOT</version>
50+
</dependency>
51+
<dependency>
52+
<groupId>org.hamcrest</groupId>
53+
<artifactId>hamcrest-all</artifactId>
54+
<version>1.3</version>
55+
<scope>test</scope>
56+
</dependency>
57+
</dependencies>
4558
</project>

pvDataJava/src/org/epics/pvdata/copy/package.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,7 @@
1818
</dd>
1919
</dl>
2020

21+
22+
</p>
2123
</body>
2224
</html>

pvDataJava/src/org/epics/pvdata/factory/AbstractPVArray.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import org.epics.pvdata.pv.ArrayData;
1111
import org.epics.pvdata.pv.PVArray;
1212
import org.epics.pvdata.pv.SerializableControl;
13+
import org.epics.util.array.CollectionNumbers;
14+
import org.epics.util.array.ListNumber;
1315

1416
/**
1517
* Abstract base class for any PVArray field.
@@ -116,6 +118,22 @@ protected int internalPut(int offset, int len, Object from, int fromOffset) {
116118
return len;
117119
}
118120

121+
public void put(int offset, ListNumber list) {
122+
if (super.isImmutable())
123+
throw new IllegalStateException("field is immutable");
124+
125+
int newLength = offset + list.size();
126+
if (newLength > length)
127+
{
128+
checkLength(newLength);
129+
setCapacity(newLength);
130+
length = newLength;
131+
}
132+
133+
CollectionNumbers.toList(getValue()).setAll(offset, list);
134+
super.postPut();
135+
}
136+
119137
private void checkLength(int len)
120138
{
121139
Array.ArraySizeType type = getArray().getArraySizeType();

pvDataJava/src/org/epics/pvdata/factory/BasePVByteArray.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import org.epics.pvdata.pv.PVByteArray;
1313
import org.epics.pvdata.pv.ScalarArray;
1414
import org.epics.pvdata.pv.SerializableControl;
15+
import org.epics.util.array.ArrayByte;
16+
import org.epics.util.array.CollectionNumbers;
1517

1618

1719
/**
@@ -71,6 +73,11 @@ protected int getFromBuffer(ByteBuffer buffer, DeserializableControl control, in
7173
public int get(int offset, int len, ByteArrayData data) {
7274
return internalGet(offset, len, data);
7375
}
76+
77+
@Override
78+
public ArrayByte get() {
79+
return CollectionNumbers.unmodifiableListByte(value);
80+
}
7481

7582
/* (non-Javadoc)
7683
* @see org.epics.pvdata.pv.PVByteArray#put(int, int, byte[], int)

pvDataJava/src/org/epics/pvdata/factory/BasePVDoubleArray.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
import org.epics.pvdata.pv.PVDoubleArray;
1313
import org.epics.pvdata.pv.ScalarArray;
1414
import org.epics.pvdata.pv.SerializableControl;
15+
import org.epics.util.array.ArrayDouble;
16+
import org.epics.util.array.CollectionNumbers;
17+
import org.epics.util.array.ListNumber;
1518

1619

1720
/**
@@ -73,6 +76,11 @@ protected int getFromBuffer(ByteBuffer buffer, DeserializableControl control, in
7376
public int get(int offset, int len, DoubleArrayData data) {
7477
return internalGet(offset, len, data);
7578
}
79+
80+
@Override
81+
public ArrayDouble get() {
82+
return CollectionNumbers.unmodifiableListDouble(value);
83+
}
7684

7785
/* (non-Javadoc)
7886
* @see org.epics.pvdata.pv.PVDoubleArray#put(int, int, double[], int)
@@ -82,7 +90,6 @@ public int put(int offset, int len, double[] from, int fromOffset) {
8290
return internalPut(offset, len, from, fromOffset);
8391
}
8492

85-
8693
/* (non-Javadoc)
8794
* @see org.epics.pvdata.pv.PVDoubleArray#shareData(double[])
8895
*/

pvDataJava/src/org/epics/pvdata/factory/BasePVFloatArray.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import org.epics.pvdata.pv.PVFloatArray;
1313
import org.epics.pvdata.pv.ScalarArray;
1414
import org.epics.pvdata.pv.SerializableControl;
15+
import org.epics.util.array.ArrayFloat;
16+
import org.epics.util.array.CollectionNumbers;
1517

1618

1719
/**
@@ -73,6 +75,11 @@ protected int getFromBuffer(ByteBuffer buffer, DeserializableControl control, in
7375
public int get(int offset, int len, FloatArrayData data) {
7476
return internalGet(offset, len, data);
7577
}
78+
79+
@Override
80+
public ArrayFloat get() {
81+
return CollectionNumbers.unmodifiableListFloat(value);
82+
}
7683

7784
/* (non-Javadoc)
7885
* @see org.epics.pvdata.pv.PVFloatArray#put(int, int, float[], int)

pvDataJava/src/org/epics/pvdata/factory/BasePVIntArray.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import org.epics.pvdata.pv.PVIntArray;
1313
import org.epics.pvdata.pv.ScalarArray;
1414
import org.epics.pvdata.pv.SerializableControl;
15+
import org.epics.util.array.ArrayInteger;
16+
import org.epics.util.array.CollectionNumbers;
1517

1618

1719
/**
@@ -73,6 +75,11 @@ protected int getFromBuffer(ByteBuffer buffer, DeserializableControl control, in
7375
public int get(int offset, int len, IntArrayData data) {
7476
return internalGet(offset, len, data);
7577
}
78+
79+
@Override
80+
public ArrayInteger get() {
81+
return CollectionNumbers.unmodifiableListInt(value);
82+
}
7683

7784
/* (non-Javadoc)
7885
* @see org.epics.pvdata.pv.PVIntArray#put(int, int, int[], int)

pvDataJava/src/org/epics/pvdata/factory/BasePVLongArray.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import org.epics.pvdata.pv.PVLongArray;
1313
import org.epics.pvdata.pv.ScalarArray;
1414
import org.epics.pvdata.pv.SerializableControl;
15+
import org.epics.util.array.ArrayLong;
16+
import org.epics.util.array.CollectionNumbers;
1517

1618

1719
/**
@@ -73,6 +75,11 @@ protected int getFromBuffer(ByteBuffer buffer, DeserializableControl control, in
7375
public int get(int offset, int len, LongArrayData data) {
7476
return internalGet(offset, len, data);
7577
}
78+
79+
@Override
80+
public ArrayLong get() {
81+
return CollectionNumbers.unmodifiableListLong(value);
82+
}
7683

7784
/* (non-Javadoc)
7885
* @see org.epics.pvdata.pv.PVLongArray#put(int, int, long[], int)

pvDataJava/src/org/epics/pvdata/factory/BasePVShortArray.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import org.epics.pvdata.pv.ScalarArray;
1313
import org.epics.pvdata.pv.SerializableControl;
1414
import org.epics.pvdata.pv.ShortArrayData;
15+
import org.epics.util.array.ArrayShort;
16+
import org.epics.util.array.CollectionNumbers;
1517

1618

1719
/**
@@ -73,6 +75,11 @@ protected int getFromBuffer(ByteBuffer buffer, DeserializableControl control, in
7375
public int get(int offset, int len, ShortArrayData data) {
7476
return internalGet(offset, len, data);
7577
}
78+
79+
@Override
80+
public ArrayShort get() {
81+
return CollectionNumbers.unmodifiableListShort(value);
82+
}
7683

7784
/* (non-Javadoc)
7885
* @see org.epics.pvdata.pv.PVShortArray#put(int, int, short[], int)

pvDataJava/src/org/epics/pvdata/factory/BasePVUByteArray.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import org.epics.pvdata.pv.PVUByteArray;
1313
import org.epics.pvdata.pv.ScalarArray;
1414
import org.epics.pvdata.pv.SerializableControl;
15+
import org.epics.util.array.ArrayUByte;
16+
import org.epics.util.array.CollectionNumbers;
1517

1618

1719
/**
@@ -71,6 +73,11 @@ protected int getFromBuffer(ByteBuffer buffer, DeserializableControl control, in
7173
public int get(int offset, int len, ByteArrayData data) {
7274
return internalGet(offset, len, data);
7375
}
76+
77+
@Override
78+
public ArrayUByte get() {
79+
return CollectionNumbers.unmodifiableListUByte(value);
80+
}
7481

7582
/* (non-Javadoc)
7683
* @see org.epics.pvdata.pv.PVUByteArray#put(int, int, byte[], int)

0 commit comments

Comments
 (0)