summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/controller/WizardSequenceSQLBasedLinear.java
blob: e0735ca5ec9857caf05580dff12661a66a232b8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
 * ============LICENSE_START==========================================
 * ONAP Portal SDK
 * ===================================================================
 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
 * ===================================================================
 *
 * Unless otherwise specified, all software contained herein is licensed
 * under the Apache License, Version 2.0 (the "License");
 * you may not use this software except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *             http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Unless otherwise specified, all documentation contained herein is licensed
 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
 * you may not use this documentation except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *             https://creativecommons.org/licenses/by/4.0/
 *
 * Unless required by applicable law or agreed to in writing, documentation
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * ============LICENSE_END============================================
 *
 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
 */
package org.onap.portalsdk.analytics.controller;

import org.onap.portalsdk.analytics.system.Globals;
import org.onap.portalsdk.analytics.util.AppConstants;

public class WizardSequenceSQLBasedLinear extends WizardSequence {

	public WizardSequenceSQLBasedLinear(boolean userIsAuthorizedToSeeLog) {
		super();

		add(AppConstants.WS_SQL);
		add(AppConstants.WS_COLUMNS);
		add(AppConstants.WS_FORM_FIELDS);
		//add(AppConstants.WS_JAVASCRIPT);
		//if(!Globals.showAnimatedChartOnly())
			//add(AppConstants.WS_CHART);
		add(AppConstants.WS_USER_ACCESS);
		//add(AppConstants.WS_MAP);
		//add(AppConstants.WS_SCHEDULE);
		if (userIsAuthorizedToSeeLog)
			if (Globals.getEnableReportLog())
				add(AppConstants.WS_REPORT_LOG);
		add(AppConstants.WS_RUN);
	} // WizardSequenceSQLBasedLinear

} // WizardSequenceSQLBasedLinear
al.Number.Integer.Long */ }
/*
 * ============LICENSE_START==========================================
 * ONAP Portal SDK
 * ===================================================================
 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
 * ===================================================================
 *
 * Unless otherwise specified, all software contained herein is licensed
 * under the Apache License, Version 2.0 (the "License");
 * you may not use this software except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *             http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Unless otherwise specified, all documentation contained herein is licensed
 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
 * you may not use this documentation except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *             https://creativecommons.org/licenses/by/4.0/
 *
 * Unless required by applicable law or agreed to in writing, documentation
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * ============LICENSE_END============================================
 *
 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
 */
package org.onap.portalsdk.analytics.util.jar;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
import java.net.URL;
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;

public class ExtractJar {

	public static int bufferSize = 8192;
	public static String JARFILE = "raptor_upgrade.jar";

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		if (args.length > 0 && args[0] != null && args[0].length() > 0)
			extractFilesFromJar(args[0]);
		else {
			System.out.println("Current Directory is taken as webapp path");
			String currentDir = new File(".").getAbsolutePath();
			extractFilesFromJar(currentDir);
		}
	}

	/**
	 * 
	 * @param jarFile
	 * @throws Exception
	 */
	public static void readJar(File jarFile) throws Exception {
		JarInputStream in = new JarInputStream(new FileInputStream(jarFile));
		JarEntry je;
		while ((je = in.getNextJarEntry()) != null) {
			if (je.isDirectory() == false) {
				if (je.getName().startsWith("org/onap/portalsdk/analytics/config/")) {
					System.out.println(je.getName() + " " + je.getTime());

				}
			}
		}
		in.close();
	}

	/**
	 * 
	 * @param directory
	 * @throws IOException
	 */
	public static void extractFilesFromJar(String directory) throws IOException {
		Class clazz = ExtractJar.class;
		URL jarUrl = clazz.getProtectionDomain().getCodeSource().getLocation();

		JarInputStream entryStream = new JarInputStream(jarUrl.openStream());
		JarEntry entry;

		while (true) {
			entry = entryStream.getNextJarEntry();
			if (entry == null)
				break;
			if (entry.getName().indexOf("jarutil") < 0) {
				System.out.println(entry.getName());
				File file = new File(directory, entry.getName());
				if (entry.isDirectory()) {
					if (!file.exists())
						file.mkdirs();
				} else {
					File dir = new File(file.getParent());
					if (!dir.exists())
						dir.mkdirs();
					if (file.exists())
						file.delete();
					FileOutputStream fout = new FileOutputStream(file);
					copy(entryStream, fout);
					fout.close();

					if (entry.getTime() >= 0)
						file.setLastModified(entry.getTime());
				}

			}
			entryStream.closeEntry();
		}
		entryStream.close();
		System.out.println("/WEB-INF/classes/org/onap/portalsdk/analytics");
		System.out.println("Delete .... ");

		File file1 = new File(directory, "/WEB-INF/classes/org/onap/portalsdk/analytics");

		deleteDir(file1);
		System.out.println("Deleted  ....");

		System.out.println("raptor_upgrade_setup.jar");
		file1 = new File(directory, "/raptor_upgrade_setup.jar");

		deleteDir(file1);
		System.out.println("Deleted  ....");

		System.out.println("/org");
		System.out.println("Delete .... ");

		file1 = new File(directory, "/org");
		System.out.println(" ********************************* ");
		deleteDir(file1);
		System.out.println("Deleted  ....");
		System.out.println("org");
		System.out.println("Delete .... ");

		System.out.println("************************************************");
		System.out.println("*                                              *");
		System.out.println("*                                              *");
		System.out.println("*          RAPTOR SETUP COMPLETE.              *");
		System.out.println("*                                              *");
		System.out.println("*         Thank you for upgrading.             *");
		System.out.println("*                                              *");
		System.out.println("************************************************");
	}

	/**
	 * 
	 * @param in
	 * @param out
	 * @param byteCount
	 * @throws IOException
	 */
	public static void copy(InputStream in, OutputStream out, long byteCount) throws IOException {
		byte buffer[] = new byte[bufferSize];
		int len = bufferSize;
		if (byteCount >= 0) {
			while (byteCount > 0) {
				if (byteCount < bufferSize)
					len = in.read(buffer, 0, (int) byteCount);
				else
					len = in.read(buffer, 0, bufferSize);
				if (len == -1)
					break;

				byteCount -= len;
				out.write(buffer, 0, len);
			}
		} else {
			while (true) {
				len = in.read(buffer, 0, bufferSize);
				if (len < 0)
					break;
				out.write(buffer, 0, len);
			}
		}
	}

	/**
	 * Copy Reader to Writer for byteCount bytes or until EOF or exception.
	 * 
	 * @param in
	 * @param out
	 * @param byteCount
	 * @throws IOException
	 */
	public static void copy(Reader in, Writer out, long byteCount) throws IOException {
		char buffer[] = new char[bufferSize];
		int len = bufferSize;
		if (byteCount >= 0) {
			while (byteCount > 0) {
				if (byteCount < bufferSize)
					len = in.read(buffer, 0, (int) byteCount);
				else
					len = in.read(buffer, 0, bufferSize);

				if (len == -1)
					break;
				byteCount -= len;
				out.write(buffer, 0, len);
			}
		} else {
			while (true) {
				len = in.read(buffer, 0, bufferSize);
				if (len == -1)
					break;
				out.write(buffer, 0, len);
			}
		}
	}

	/**
	 * Copy Stream in to Stream out until EOF or exception.
	 * 
	 * @param in
	 * @param out
	 * @throws IOException
	 */
	public static void copy(InputStream in, OutputStream out) throws IOException {
		copy(in, out, -1);
	}

	public static boolean deleteDir(File dir) {
		System.out.println("Name: " + dir.getName() + " " + dir.isDirectory());
		if (dir.isDirectory()) {
			String[] children = dir.list();
			System.out.println(children);
			for (int i = 0; i < children.length; i++) {
				boolean success = deleteDir(new File(dir, children[i]));
				if (!success) {
					return false;
				}
			}
		}

		return dir.delete();
	}

}