Initial OpenECOMP MSO commit
[so.git] / packages / arquillian-unit-tests / src / test / java / org / openecomp / mso / global_tests / ArquillianPackagerForITCases.java
1 package org.openecomp.mso.global_tests;
2
3 import java.io.File;
4 import java.io.IOException;
5 import java.nio.file.DirectoryStream;
6 import java.nio.file.Files;
7 import java.nio.file.Path;
8 import java.nio.file.Paths;
9 import java.util.Iterator;
10
11 import org.jboss.shrinkwrap.api.Archive;
12 import org.jboss.shrinkwrap.api.ShrinkWrap;
13 import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
14 import org.jboss.shrinkwrap.api.spec.JavaArchive;
15 import org.jboss.shrinkwrap.api.spec.WebArchive;
16
17 public class ArquillianPackagerForITCases {
18
19         public static Archive<?> createPackageFromExistingOne(String path, String globPattern, String newPackageName) {
20                 Path dir = Paths.get(path);
21
22                 try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, globPattern)) {
23                         Iterator<Path> it = stream.iterator();
24                         if (it.hasNext()) {
25
26                                 if (newPackageName.endsWith(".war")) {
27                                         File archive = it.next().toFile();
28                                         WebArchive webArchive = ShrinkWrap.create(WebArchive.class, newPackageName);
29                                         webArchive.merge((ShrinkWrap.createFromZipFile(WebArchive.class, archive)));
30                                         return webArchive;
31                                 } else if (newPackageName.endsWith(".jar")) {
32                                         File archive = it.next().toFile();
33                                         JavaArchive javaArchive = ShrinkWrap.create(JavaArchive.class, newPackageName);
34                                         javaArchive.merge((ShrinkWrap.createFromZipFile(JavaArchive.class, archive)));
35                                         return javaArchive;
36                                 } else if (newPackageName.endsWith(".ear")) {
37                                         File archive = it.next().toFile();
38                                         EnterpriseArchive earArchive = ShrinkWrap.create(EnterpriseArchive.class, newPackageName);
39                                         earArchive.merge((ShrinkWrap.createFromZipFile(EnterpriseArchive.class, archive)));
40                                         return earArchive;
41                                 } else {
42                                         return null;
43                                 }
44
45                         } else {
46                                 return null;
47                         }
48
49                 } catch (IOException e) {
50                         e.printStackTrace();
51                         return null;
52                 }
53
54         }
55         
56         
57 }