001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * https://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019 020package org.apache.commons.exec.environment; 021 022//import java.io.BufferedReader; 023//import java.io.IOException; 024//import java.util.HashMap; 025//import java.util.Map; 026// 027//import org.apache.commons.exec.CommandLine; 028 029/** 030 * Helper class to determine the environment variable for VMS. 031 * 032 * @deprecated No longer needed. 033 */ 034@Deprecated 035public class OpenVmsProcessingEnvironment extends DefaultProcessingEnvironment { 036 037 /** 038 * Constructs a new instance. 039 */ 040 public OpenVmsProcessingEnvironment() { 041 // empty 042 } 043 044 /* 045 * Hopefully removing super-class overrides won't cause Clirr error. If necessary can just delegate to super-class. 046 */ 047 048// /** 049// * Find the list of environment variables for this process. 050// * 051// * @return a map containing the environment variables 052// * @throws IOException the operation failed 053// */ 054// @Override 055// protected Map<String, String> createProcEnvironment() throws IOException { 056// if (procEnvironment == null) { 057// final BufferedReader in = runProcEnvCommand(); 058// procEnvironment = addVMSenvironmentVariables(new HashMap<String, String>(), in); 059// } 060// 061// return procEnvironment; 062// } 063// 064// /** 065// * Determine the OS specific command line to get a list of environment 066// * variables. 067// * 068// * @return the command line 069// */ 070// @Override 071// protected CommandLine getProcEnvCommand() { 072// final CommandLine commandLine = new CommandLine("show"); 073// commandLine.addArgument("symbol/global"); // the parser assumes symbols are global 074// commandLine.addArgument("*"); 075// return commandLine; 076// } 077// 078// /** 079// * This method is VMS specific and used by getProcEnvironment(). Parses VMS 080// * symbols from {@code in} and adds them to {@code environment}. 081// * {@code in} is expected to be the output of "SHOW SYMBOL/GLOBAL *". 082// * 083// * @param environment the current environment 084// * @param in the reader from the process to determine VMS env variables 085// * @return the updated environment 086// * @throws IOException operation failed 087// */ 088// private Map<String, String> addVMSenvironmentVariables(final Map<String, String> environment, 089// final BufferedReader in) throws IOException { 090// String line; 091// while ((line = in.readLine()) != null) { 092// final String SEP = "=="; // global symbol separator 093// final int sepidx = line.indexOf(SEP); 094// if (sepidx > 0) { 095// final String name = line.substring(0, sepidx).trim(); 096// String value = line.substring(sepidx+SEP.length()).trim(); 097// value = value.substring(1,value.length()-1); // drop enclosing quotes 098// environment.put(name,value); 099// } 100// } 101// return environment; 102// } 103}