src/share/classes/javax/management/remote/JMXServiceURL.java

Print this page


   1 /*
   2  * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 327             if (host.startsWith("["))
 328                 throw new MalformedURLException("More than one [[...]]");
 329         }
 330 
 331         this.protocol = protocol.toLowerCase();
 332         this.host = host;
 333         this.port = port;
 334 
 335         if (urlPath == null)
 336             urlPath = "";
 337         this.urlPath = urlPath;
 338 
 339         validate();
 340     }
 341 
 342     private static final String INVALID_INSTANCE_MSG =
 343             "Trying to deserialize an invalid instance of JMXServiceURL";
 344     private void readObject(ObjectInputStream  inputStream) throws IOException, ClassNotFoundException {
 345         ObjectInputStream.GetField gf = inputStream.readFields();
 346         String h = (String)gf.get("host", null);
 347         int p = (int)gf.get("port", -1);
 348         String proto = (String)gf.get("protocol", null);
 349         String url = (String)gf.get("urlPath", null);
 350 
 351         if (proto == null || url == null || h == null) {
 352             StringBuilder sb = new StringBuilder(INVALID_INSTANCE_MSG).append('[');
 353             boolean empty = true;
 354             if (proto == null) {
 355                 sb.append("protocol=null");
 356                 empty = false;
 357             }
 358             if (h == null) {
 359                 sb.append(empty ? "" : ",").append("host=null");
 360                 empty = false;
 361             }
 362             if (url == null) {
 363                 sb.append(empty ? "" : ",").append("urlPath=null");
 364             }
 365             sb.append(']');
 366             throw new InvalidObjectException(sb.toString());
 367         }


   1 /*
   2  * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 327             if (host.startsWith("["))
 328                 throw new MalformedURLException("More than one [[...]]");
 329         }
 330 
 331         this.protocol = protocol.toLowerCase();
 332         this.host = host;
 333         this.port = port;
 334 
 335         if (urlPath == null)
 336             urlPath = "";
 337         this.urlPath = urlPath;
 338 
 339         validate();
 340     }
 341 
 342     private static final String INVALID_INSTANCE_MSG =
 343             "Trying to deserialize an invalid instance of JMXServiceURL";
 344     private void readObject(ObjectInputStream  inputStream) throws IOException, ClassNotFoundException {
 345         ObjectInputStream.GetField gf = inputStream.readFields();
 346         String h = (String)gf.get("host", null);
 347         int p = gf.get("port", -1);
 348         String proto = (String)gf.get("protocol", null);
 349         String url = (String)gf.get("urlPath", null);
 350 
 351         if (proto == null || url == null || h == null) {
 352             StringBuilder sb = new StringBuilder(INVALID_INSTANCE_MSG).append('[');
 353             boolean empty = true;
 354             if (proto == null) {
 355                 sb.append("protocol=null");
 356                 empty = false;
 357             }
 358             if (h == null) {
 359                 sb.append(empty ? "" : ",").append("host=null");
 360                 empty = false;
 361             }
 362             if (url == null) {
 363                 sb.append(empty ? "" : ",").append("urlPath=null");
 364             }
 365             sb.append(']');
 366             throw new InvalidObjectException(sb.toString());
 367         }