Skip to content

Commit 7945de5

Browse files
authored
Adds ContentType to setFileValue (#791)
1 parent cc2c64f commit 7945de5

24 files changed

Lines changed: 64 additions & 53 deletions

File tree

basyx.aasenvironment/basyx.aasenvironment-core/src/main/java/org/eclipse/digitaltwin/basyx/aasenvironment/base/DefaultAASEnvironment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ private void setFileToFileElement(String submodelId, List<SubmodelElement> fileS
198198
return;
199199
}
200200

201-
submodelRepository.setFileValue(submodelId, fileSMEIdShortPath, getFileName(inMemoryFile.getPath()), new ByteArrayInputStream(inMemoryFile.getFileContent()));
201+
submodelRepository.setFileValue(submodelId, fileSMEIdShortPath, getFileName(inMemoryFile.getPath()), "application/octet-stream", new ByteArrayInputStream(inMemoryFile.getFileContent()));
202202
}
203203

204204
private String getFileName(String path) {

basyx.submodelrepository/basyx.submodelrepository-backend/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/backend/CrudSubmodelRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,8 @@ public java.io.File getFileByPathSubmodel(String submodelId, String idShortPath)
204204
}
205205

206206
@Override
207-
public void setFileValue(String submodelId, String idShortPath, String fileName, InputStream inputStream) throws ElementDoesNotExistException, ElementNotAFileException {
208-
getService(submodelId).setFileValue(idShortPath, fileName, inputStream);
207+
public void setFileValue(String submodelId, String idShortPath, String fileName, String contentType, InputStream inputStream) throws ElementDoesNotExistException, ElementNotAFileException {
208+
getService(submodelId).setFileValue(idShortPath, fileName, contentType, inputStream);
209209
}
210210

211211
@Override

basyx.submodelrepository/basyx.submodelrepository-client/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/ConnectedSubmodelRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,8 @@ public File getFileByPathSubmodel(String submodelId, String idShortPath) throws
235235
}
236236

237237
@Override
238-
public void setFileValue(String submodelId, String idShortPath, String fileName, InputStream inputStream) throws ElementDoesNotExistException, ElementNotAFileException {
239-
getConnectedSubmodelService(submodelId).setFileValue(idShortPath, fileName, inputStream);
238+
public void setFileValue(String submodelId, String idShortPath, String fileName, String contentType, InputStream inputStream) throws ElementDoesNotExistException, ElementNotAFileException {
239+
getConnectedSubmodelService(submodelId).setFileValue(idShortPath, fileName, contentType, inputStream);
240240
}
241241

242242
@Override

basyx.submodelrepository/basyx.submodelrepository-core/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/SubmodelRepository.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,11 +252,17 @@ public default String getName() {
252252
* the Submodel id
253253
* @param idShortPath
254254
* the IdShort path of the file element
255+
* @param fileName
256+
* the file name
257+
* @param contentType
258+
* the content type of the file
259+
* @param inputStream
260+
* the inputStream of the file to be uploaded
255261
*
256262
* @throws ElementDoesNotExistException
257263
* @throws ElementNotAFileException
258264
*/
259-
public void setFileValue(String submodelId, String idShortPath, String fileName, InputStream inputStream) throws ElementDoesNotExistException, ElementNotAFileException;
265+
public void setFileValue(String submodelId, String idShortPath, String fileName, String contentType, InputStream inputStream) throws ElementDoesNotExistException, ElementNotAFileException;
260266

261267
/**
262268
* Deletes the file of a file submodelelement

basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositoryPersistencyTestSuite.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public void fileIsPersisted() throws IOException {
6666
Submodel submodel = DummySubmodelFactory.createSubmodelWithFileElement();
6767
getSubmodelRepository().createSubmodel(submodel);
6868

69-
getSubmodelRepository().setFileValue(DummySubmodelFactory.SUBMODEL_FOR_FILE_TEST, SubmodelServiceHelper.SUBMODEL_TECHNICAL_DATA_FILE_ID_SHORT, "dummyFile.jpeg", createDummyImageIS_A());
69+
getSubmodelRepository().setFileValue(DummySubmodelFactory.SUBMODEL_FOR_FILE_TEST, SubmodelServiceHelper.SUBMODEL_TECHNICAL_DATA_FILE_ID_SHORT, "dummyFile.jpeg", "image/jpeg", createDummyImageIS_A());
7070

7171
restartComponent();
7272

basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySubmodelServiceWrapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ public File getFileByPath(String idShortPath) throws ElementDoesNotExistExceptio
125125
}
126126

127127
@Override
128-
public void setFileValue(String idShortPath, String fileName, InputStream inputStream) throws ElementDoesNotExistException, ElementNotAFileException {
129-
repoApi.setFileValue(submodelId, idShortPath, fileName, inputStream);
128+
public void setFileValue(String idShortPath, String fileName, String contentType, InputStream inputStream) throws ElementDoesNotExistException, ElementNotAFileException {
129+
repoApi.setFileValue(submodelId, idShortPath, fileName, contentType, inputStream);
130130
}
131131

132132
@Override

basyx.submodelrepository/basyx.submodelrepository-feature-authorization/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/authorization/AuthorizedSubmodelRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,12 +278,12 @@ public File getFileByPathSubmodel(String submodelId, String idShortPath) throws
278278
}
279279

280280
@Override
281-
public void setFileValue(String submodelId, String idShortPath, String fileName, InputStream inputStream) throws ElementDoesNotExistException, ElementNotAFileException {
281+
public void setFileValue(String submodelId, String idShortPath, String fileName, String contentType, InputStream inputStream) throws ElementDoesNotExistException, ElementNotAFileException {
282282
boolean isAuthorized = permissionResolver.hasPermission(Action.UPDATE, new SubmodelTargetInformation(getIdAsList(submodelId), getIdAsList(idShortPath)));
283283

284284
throwExceptionIfInsufficientPermission(isAuthorized);
285285

286-
decorated.setFileValue(submodelId, idShortPath, fileName, inputStream);
286+
decorated.setFileValue(submodelId, idShortPath, fileName, contentType, inputStream);
287287
}
288288

289289
@Override

basyx.submodelrepository/basyx.submodelrepository-feature-kafka/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/kafka/KafkaSubmodelRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,8 @@ public void deleteFileValue(String identifier, String idShortPath) {
180180
}
181181

182182
@Override
183-
public void setFileValue(String submodelId, String idShortPath, String fileName, InputStream inputStream) {
184-
decorated.setFileValue(submodelId, idShortPath, fileName, inputStream);
183+
public void setFileValue(String submodelId, String idShortPath, String fileName, String contentType, InputStream inputStream) {
184+
decorated.setFileValue(submodelId, idShortPath, fileName, contentType, inputStream);
185185
}
186186

187187
@Override

basyx.submodelrepository/basyx.submodelrepository-feature-mqtt/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/mqtt/MqttSubmodelRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,8 @@ public void deleteFileValue(String identifier, String idShortPath) {
191191
}
192192

193193
@Override
194-
public void setFileValue(String submodelId, String idShortPath, String fileName, InputStream inputStream){
195-
decorated.setFileValue(submodelId, idShortPath, fileName, inputStream);
194+
public void setFileValue(String submodelId, String idShortPath, String fileName, String contentType, InputStream inputStream){
195+
decorated.setFileValue(submodelId, idShortPath, fileName, contentType, inputStream);
196196
SubmodelElement submodelElement = decorated.getSubmodelElement(submodelId, idShortPath);
197197
fileValueUpdated(submodelElement, getName(), submodelId, idShortPath);
198198
}

basyx.submodelrepository/basyx.submodelrepository-feature-mqtt/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/mqtt/TestMqttSubmodelObserver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ public void setFileValueEvent() throws DeserializationException, IOException {
221221

222222
File submodelElement = (File) submodel.getSubmodelElements().get(0);
223223

224-
submodelRepository.setFileValue(submodel.getId(), submodelElement.getIdShort(), FILE_SUBMODEL_ELEMENT_NAME, getInputStreamOfDummyFile(FILE_SUBMODEL_ELEMENT_CONTENT));
224+
submodelRepository.setFileValue(submodel.getId(), submodelElement.getIdShort(), FILE_SUBMODEL_ELEMENT_NAME, "application/octet-stream", getInputStreamOfDummyFile(FILE_SUBMODEL_ELEMENT_CONTENT));
225225

226226
assertEquals(topicFactory.createUpdateFileValueTopic(submodelRepository.getName(), submodel.getId(), submodelElement.getIdShort()), listener.lastTopic);
227227
assertEquals(submodelElement, deserializeSubmodelElementPayload(listener.lastPayload));

0 commit comments

Comments
 (0)