aboutsummaryrefslogtreecommitdiffstats
path: root/sdc-workflow-designer-server
diff options
context:
space:
mode:
authorYuanHu <yuan.hu1@zte.com.cn>2018-02-07 16:46:51 +0800
committerYuanHu <yuan.hu1@zte.com.cn>2018-02-07 16:46:51 +0800
commit97f57847360ecabcde9200a17db9d527671c7dc3 (patch)
treeb84a0a1b049a7856e5db15694f250a473f4f5b5f /sdc-workflow-designer-server
parentad71da0a315d7f4516825c0cb7b39a1216d8a4fd (diff)
Provide the rest api of saving workflow data.
Save temporary files to local. Issue-ID: SDC-1004 Change-Id: I09f52cdf4ff39e103b7f75041e070c4148b23e07 Signed-off-by: YuanHu <yuan.hu1@zte.com.cn>
Diffstat (limited to 'sdc-workflow-designer-server')
-rw-r--r--sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResource.java5
-rw-r--r--sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/utils/FileCommonConstants.java21
-rw-r--r--sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/utils/FileCommonUtils.java86
-rw-r--r--sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/utils/FileCommonUtilsTest.java75
4 files changed, 173 insertions, 14 deletions
diff --git a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResource.java b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResource.java
index 8b3d7238..2ad4aeae 100644
--- a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResource.java
+++ b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResource.java
@@ -13,7 +13,6 @@
package org.onap.sdc.workflowdesigner.resources;
import java.io.IOException;
-import java.io.StringBufferInputStream;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
@@ -93,8 +92,8 @@ public class WorkflowModelerResource {
@ApiParam(value = "Model Content", required = true) String json) {
String filePath = "model.json";
try {
- FileCommonUtils.saveFile(new StringBufferInputStream(json), "", filePath);
- return Response.status(Response.Status.OK).entity(id).build();
+ FileCommonUtils.write(filePath, json);
+ return Response.status(Response.Status.OK).entity(json).build();
} catch (IOException e) {
logger.error("getServiceTemplateById failed.", e);
throw RestUtils.newInternalServerErrorException(e);
diff --git a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/utils/FileCommonConstants.java b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/utils/FileCommonConstants.java
new file mode 100644
index 00000000..b2c74906
--- /dev/null
+++ b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/utils/FileCommonConstants.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) 2017 ZTE Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the Apache License, Version 2.0
+ * and the Eclipse Public License v1.0 which both accompany this distribution,
+ * and are available at http://www.eclipse.org/legal/epl-v10.html
+ * and http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Contributors:
+ * ZTE - initial API and implementation and/or initial documentation
+ */
+
+package org.onap.sdc.workflowdesigner.utils;
+
+/**
+ *
+ */
+public interface FileCommonConstants {
+ String DEFAULT_CHARSET_NAME = "UTF-8";
+
+}
diff --git a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/utils/FileCommonUtils.java b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/utils/FileCommonUtils.java
index 6e65a96b..bdea66e1 100644
--- a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/utils/FileCommonUtils.java
+++ b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/utils/FileCommonUtils.java
@@ -20,7 +20,6 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
-import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
@@ -407,7 +406,7 @@ public class FileCommonUtils {
try {
int read = 0;
byte[] bytes = new byte[1024];
- os = new FileOutputStream(file, true);
+ os = new FileOutputStream(file, false);
while ((read = ins.read(bytes)) != -1) {
os.write(bytes, 0, read);
}
@@ -419,37 +418,102 @@ public class FileCommonUtils {
}
/**
+ *
+ * @param path
+ * @param fileName
+ * @param content
+ * @throws IOException
+ */
+ public static void writetoAbsoluteFile(String path, String fileName, String content)
+ throws IOException {
+ writetoAbsoluteFile(path, fileName, content, FileCommonConstants.DEFAULT_CHARSET_NAME);
+ }
+
+ /**
+ *
+ * @param path
+ * @param fileName
+ * @param content
+ * @param charsetName
+ * @throws IOException
+ */
+ public static void writetoAbsoluteFile(String path, String fileName, String content,
+ String charsetName) throws IOException {
+ write(path, fileName, content, charsetName);
+ }
+
+ /**
+ *
+ * @param fileName
* @param s
* @throws IOException
- * @throws UnsupportedEncodingException
*/
- public static void write(String s, String fileName)
- throws UnsupportedEncodingException, IOException {
+ public static void write(String fileName, String s) throws IOException {
+ write(".", fileName, s, FileCommonConstants.DEFAULT_CHARSET_NAME);
+
+ }
+
+ /**
+ *
+ * @param path
+ * @param fileName
+ * @param s
+ * @param charsetName
+ * @throws IOException
+ */
+ public static void write(String path, String fileName, String s, String charsetName)
+ throws IOException {
+ File tmpPath = new File(path);
+ if (!tmpPath.exists()) {
+ tmpPath.mkdirs();
+ }
+
+ String absolutePath = path + File.separator + fileName;
FileOutputStream out = null;
try {
- out = new FileOutputStream(fileName);
- out.write(s.getBytes("UTF-8"));
+ out = new FileOutputStream(absolutePath);
+ out.write(s.getBytes(charsetName));
out.close();
} finally {
closeOutputStream(out);
}
+ }
+ /**
+ *
+ * @param fileName
+ * @param s
+ * @param charsetName
+ * @throws IOException
+ */
+ public static void write(String fileName, String s, String charsetName) throws IOException {
+ write(".", fileName, s, charsetName);
}
/**
+ *
+ * @param fileName
* @param ss
+ * @throws IOException
+ */
+ public static void write(String fileName, String[] ss) throws IOException {
+ write(fileName, ss, FileCommonConstants.DEFAULT_CHARSET_NAME);
+ }
+
+ /**
+ *
* @param fileName
+ * @param ss
+ * @param charsetName
* @throws IOException
- * @throws UnsupportedEncodingException
*/
- public static void write(String[] ss, String fileName)
- throws UnsupportedEncodingException, IOException {
+ public static void write(String fileName, String[] ss, String charsetName) throws IOException {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < ss.length; i++) {
sb.append(ss[i]).append(System.lineSeparator());
}
- write(sb.toString(), fileName);
+ write(sb.toString(), fileName, charsetName);
}
/**
diff --git a/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/utils/FileCommonUtilsTest.java b/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/utils/FileCommonUtilsTest.java
new file mode 100644
index 00000000..b8d4319c
--- /dev/null
+++ b/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/utils/FileCommonUtilsTest.java
@@ -0,0 +1,75 @@
+/**
+ * Copyright (c) 2017 ZTE Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the Apache License, Version 2.0
+ * and the Eclipse Public License v1.0 which both accompany this distribution,
+ * and are available at http://www.eclipse.org/legal/epl-v10.html
+ * and http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Contributors:
+ * ZTE - initial API and implementation and/or initial documentation
+ */
+
+package org.onap.sdc.workflowdesigner.utils;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ *
+ */
+public class FileCommonUtilsTest {
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Before
+ public void setUp() throws Exception {}
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @After
+ public void tearDown() throws Exception {}
+
+ /**
+ * Test method for
+ * {@link org.onap.sdc.workflowdesigner.utils.FileCommonUtils#write(String, String)} .
+ */
+ @Test
+ public final void writeStringString() {
+ String fileName = "test.json";
+ String content = "{\"aaa\": \"节点\"}";
+
+ try {
+ FileCommonUtils.write(fileName, content);
+ String s = FileCommonUtils.readString(fileName);
+ assertEquals(s, content);
+ } catch (IOException e) {
+ }
+ }
+
+ /**
+ * Test method for
+ * {@link org.onap.sdc.workflowdesigner.utils.FileCommonUtils#writetoAbsoluteFile(String, String, String)}
+ * .
+ */
+ @Test
+ public final void saveFileStringStringString() {
+ String fileName = "test1.json";
+ String content = "{\"aaa\": \"节点\"}";
+
+ try {
+ FileCommonUtils.writetoAbsoluteFile(".", fileName, content);
+ String s = FileCommonUtils.readString(fileName);
+ assertEquals(s, content);
+ } catch (IOException e) {
+ }
+ }
+
+}