Skip to content

Commit 94da30f

Browse files
author
yamelsenih
committed
Add putTemporaryFile method
1 parent 8747b19 commit 94da30f

File tree

6 files changed

+85
-10
lines changed

6 files changed

+85
-10
lines changed
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
arguments=--init-script /home/yamel/.config/Code/User/globalStorage/redhat.java/1.32.0/config_linux/org.eclipse.osgi/55/0/.cp/gradle/init/init.gradle --init-script /home/yamel/.config/Code/User/globalStorage/redhat.java/1.32.0/config_linux/org.eclipse.osgi/55/0/.cp/gradle/protobuf/init.gradle
1+
arguments=
22
auto.sync=false
33
build.scans.enabled=false
4-
connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(8.1.1))
4+
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
55
connection.project.dir=
66
eclipse.preferences.version=1
77
gradle.user.home=
8-
java.home=/usr/lib/jvm/java-11-openjdk-amd64
8+
java.home=
99
jvm.arguments=
1010
offline.mode=false
11-
override.workspace.settings=true
12-
show.console.view=true
13-
show.executions.view=true
11+
override.workspace.settings=false
12+
show.console.view=false
13+
show.executions.view=false
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
eclipse.preferences.version=1
22
org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=ignore
3+
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
4+
org.eclipse.jdt.core.compiler.annotation.nonnull=org.springframework.lang.NonNull
5+
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.springframework.lang.NonNullApi
6+
org.eclipse.jdt.core.compiler.annotation.nullable=org.springframework.lang.Nullable
7+
org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
8+
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
9+
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
310
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
11+
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
412
org.eclipse.jdt.core.compiler.compliance=11
13+
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
14+
org.eclipse.jdt.core.compiler.debug.localVariable=generate
15+
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
16+
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
17+
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
18+
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
19+
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
20+
org.eclipse.jdt.core.compiler.problem.nullReference=warning
21+
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=warning
22+
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=ignore
23+
org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
24+
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
25+
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
26+
org.eclipse.jdt.core.compiler.release=disabled
527
org.eclipse.jdt.core.compiler.source=11

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"java.compile.nullAnalysis.mode": "interactive",
2+
"java.compile.nullAnalysis.mode": "automatic",
33
"java.configuration.updateBuildConfiguration": "disabled"
44
}

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ dependencies {
2828
)
2929
// ADempiere Core
3030
api "${baseGroupId}:base:${baseVersion}"
31-
api "com.amazonaws:aws-java-sdk-s3:1.12.756"
31+
api "com.amazonaws:aws-java-sdk-s3:1.12.777"
3232
}
3333

3434
sourceSets {

src/main/java/org/spin/eca62/support/IS3.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*****************************************************************************/
1717
package org.spin.eca62.support;
1818

19+
import java.io.File;
1920
import java.io.InputStream;
2021

2122
/**
@@ -40,4 +41,12 @@ public interface IS3 {
4041
* @throws Exception
4142
*/
4243
public InputStream getResource(ResourceMetadata resourceMetadata) throws Exception;
44+
45+
/**
46+
* Put a Temporary Resource
47+
* @param file
48+
* @return
49+
* @throws Exception
50+
*/
51+
public String putTemporaryFile(File file) throws Exception;
4352
}

src/main/java/org/spin/eca62/support/S3.java

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,20 @@
1818
package org.spin.eca62.support;
1919

2020
import java.io.ByteArrayInputStream;
21+
import java.io.File;
22+
import java.io.FileInputStream;
2123
import java.io.InputStream;
2224
import java.util.ArrayList;
2325
import java.util.List;
2426

2527
import org.adempiere.exceptions.AdempiereException;
28+
import org.compiere.model.MClientInfo;
2629
import org.compiere.util.Env;
2730
import org.compiere.util.MimeType;
2831
import org.compiere.util.Util;
2932
import org.spin.model.MADAppRegistration;
33+
import org.spin.util.support.AppSupportHandler;
34+
import org.spin.util.support.IAppSupport;
3035
import org.spin.util.support.webdav.IWebDav;
3136
import org.spin.util.support.webdav.IWebDavResource;
3237

@@ -295,8 +300,47 @@ public String testConnection() {
295300
}
296301
return message.toString();
297302
}
298-
299-
303+
304+
/**
305+
* Put a Temporary resource to S3
306+
* @param file
307+
* @return
308+
*/
309+
@Override
310+
public String putTemporaryFile(File file) throws Exception {
311+
try {
312+
// Push to S3
313+
MClientInfo clientInfo = MClientInfo.get(Env.getCtx());
314+
if(clientInfo.getFileHandler_ID() <= 0) {
315+
throw new AdempiereException("@FileHandler_ID@ @NotFound@");
316+
}
317+
MADAppRegistration genericConnector = MADAppRegistration.getById(Env.getCtx(), clientInfo.getFileHandler_ID(), null);
318+
if(genericConnector == null) {
319+
throw new AdempiereException("@AD_AppRegistration_ID@ @NotFound@");
320+
}
321+
// Load
322+
IAppSupport supportedApi = AppSupportHandler.getInstance().getAppSupport(genericConnector);
323+
if(supportedApi == null) {
324+
throw new AdempiereException("@AD_AppSupport_ID@ @NotFound@");
325+
}
326+
if(!IS3.class.isAssignableFrom(supportedApi.getClass())) {
327+
throw new AdempiereException("@AD_AppSupport_ID@ @Unsupported@");
328+
}
329+
// Push it
330+
IS3 fileHandler = (IS3) supportedApi;
331+
ResourceMetadata resourceMetadata = ResourceMetadata.newInstance()
332+
.withClientId(Env.getAD_Client_ID(Env.getCtx()))
333+
.withUserId(Env.getAD_User_ID(Env.getCtx()))
334+
.withContainerType(ResourceMetadata.ContainerType.RESOURCE)
335+
.withContainerId("tmp")
336+
.withName(file.getName())
337+
;
338+
String fileName = fileHandler.putResource(resourceMetadata, new FileInputStream(file));
339+
return fileName;
340+
} catch (Exception e) {
341+
throw new AdempiereException(e);
342+
}
343+
}
300344

301345
@Override
302346
public String putResource(ResourceMetadata resourceMetadata, InputStream resource) throws Exception {

0 commit comments

Comments
 (0)