/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1999 by Sun Microsystems, Inc.
* All rights reserved.
*
*/
// URLAttributeVerifier.java: Parse a service template from a URL
// Author: James Kempf
// Created On: Mon Jun 23 11:52:04 1997
// Last Modified By: James Kempf
// Last Modified On: Thu Jun 11 13:24:03 1998
// Update Count: 22
//
package com.sun.slp;
import java.util.*;
import java.net.*;
import java.io.*;
/**
* A URLAttributeVerifier object performs service template parsing from
* a URL. Most of the work is done by the superclass. This class
* takes care of opening the Reader on the URL.
*
* @author James Kempf
*
*/
class URLAttributeVerifier extends AttributeVerifier {
/**
* Construct a URLAttributeVerifier for the file named in the parameter.
*
* @param url URL from which to read the template
* @exception ServiceLocationException Error code may be:
* SYSTEM_ERROR
* when the URL can't be opened or
* some other i/o error occurs.
* PARSE_ERROR
* if an error occurs during
* attribute parsing.
*/
URLAttributeVerifier(String url)
throws ServiceLocationException {
super();
initialize(url);
}
// Open a reader on the URL and initialize the attribute verifier.
private void initialize(String urlName)
throws ServiceLocationException {
InputStream is = null;
try {
// Open the URL.
URL url = new URL(urlName);
// Open an input stream on the URL.
is = url.openStream();
// Initialize the verifier, by parsing the file.
super.initialize(new InputStreamReader(is));
} catch (MalformedURLException ex) {
throw
new ServiceLocationException(
ServiceLocationException.INTERNAL_SYSTEM_ERROR,
"invalid_url",
new Object[] {urlName});
} catch (IOException ex) {
throw
new ServiceLocationException(
ServiceLocationException.INTERNAL_SYSTEM_ERROR,
"url_ioexception",
new Object[] { urlName, ex.getMessage()});
}
try {
is.close();
} catch (IOException ex) {
}
}
}