All Downloads are FREE. Search and download functionalities are using the official Maven repository.

prerna.util.git.reactors.SearchAssetReactor Maven / Gradle / Ivy

The newest version!
package prerna.util.git.reactors;

import prerna.reactor.AbstractReactor;
import prerna.sablecc2.om.PixelDataType;
import prerna.sablecc2.om.PixelOperationType;
import prerna.sablecc2.om.ReactorKeysEnum;
import prerna.sablecc2.om.nounmeta.NounMetadata;
import prerna.util.AssetUtility;
import prerna.util.Utility;
import prerna.util.git.GitAssetUtils;

public class SearchAssetReactor extends AbstractReactor {

	public SearchAssetReactor() {
		this.keysToGet = new String[] { ReactorKeysEnum.SEARCH.getKey(), ReactorKeysEnum.FILE_PATH.getKey(),
				ReactorKeysEnum.SPACE.getKey() };
		this.keyRequired = new int[] { 1, 0, 0 };
	}

	@Override
	public NounMetadata execute() {
		organizeKeys();
		String space = this.keyValue.get(this.keysToGet[2]);
		String assetFolder = AssetUtility.getAssetBasePath(this.insight, space, false);

		// get search term
		String search = keyValue.get(keysToGet[0]);

		// get specific search location
		String location = assetFolder;
		if (keyValue.containsKey(keysToGet[1])) {
			location = assetFolder + "/" + Utility.normalizePath(keyValue.get(keysToGet[1]));
			location = location.replaceAll("\\\\", "/");
		}

		// location = location.replaceAll("/app_assets", "");
		return new NounMetadata(GitAssetUtils.listAssetMetadata(location, search, assetFolder, null, null),
				PixelDataType.CUSTOM_DATA_STRUCTURE, PixelOperationType.OPERATION);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy