1 /** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one or more 4 * contributor license agreements. See the NOTICE file distributed with 5 * this work for additional information regarding copyright ownership. 6 * The ASF licenses this file to You under the Apache License, Version 2.0 7 * (the "License"); you may not use this file except in compliance with 8 * the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 package org.apache.geronimo.naming.deployment.jsr88; 19 20 import org.apache.geronimo.xbeans.geronimo.naming.GerResourceRefType; 21 import org.apache.geronimo.xbeans.geronimo.naming.GerResourceEnvRefType; 22 23 /** 24 * Represents an element of the resource-env-refType in a Geronimo deployment 25 * plan. 26 * <p> 27 * Has 4 JavaBean Properties <br /> 28 * - refName (type String) <br /> 29 * - pattern (type Pattern) <br /> 30 * - adminObjectModule (type String) <br /> 31 * - adminObjectLink (type String) </p> 32 * 33 * @version $Rev: 470597 $ $Date: 2006-11-02 15:30:55 -0800 (Thu, 02 Nov 2006) $ 34 */ 35 public class ResourceEnvRef extends HasPattern { 36 public ResourceEnvRef() { 37 super(null); 38 } 39 40 public ResourceEnvRef(GerResourceEnvRefType xmlObject) { 41 super(xmlObject); 42 } 43 44 public void setRefName(String name) { 45 String old = getResourceRef().getRefName(); 46 getResourceRef().setRefName(name); 47 pcs.firePropertyChange("refName", old, name); 48 } 49 50 public String getRefName() { 51 return getResourceRef().getRefName(); 52 } 53 54 public String getAdminObjectLink() { 55 return getResourceRef().getAdminObjectLink(); 56 } 57 58 public void setAdminObjectLink(String link) { 59 GerResourceEnvRefType ref = getResourceRef(); 60 if(link != null && ref.isSetPattern()) { 61 clearPatternFromChoice(); 62 } 63 String old = getAdminObjectLink(); 64 ref.setAdminObjectLink(link); 65 pcs.firePropertyChange("adminObjectLink", old, link); 66 } 67 68 public String getAdminObjectModule() { 69 return getResourceRef().getAdminObjectModule(); 70 } 71 72 public void setAdminObjectModule(String module) { 73 GerResourceEnvRefType ref = getResourceRef(); 74 if(module != null && ref.isSetPattern()) { 75 clearPatternFromChoice(); 76 } 77 String old = getAdminObjectModule(); 78 ref.setAdminObjectModule(module); 79 pcs.firePropertyChange("adminObjectModule", old, module); 80 } 81 82 83 protected void clearNonPatternFromChoice() { 84 GerResourceEnvRefType ref = getResourceRef(); 85 if(ref.isSetAdminObjectLink()) { 86 String temp = ref.getAdminObjectLink(); 87 ref.unsetAdminObjectLink(); 88 pcs.firePropertyChange("adminObjectLink", temp, null); 89 } 90 if(ref.isSetAdminObjectModule()) { 91 String temp = ref.getAdminObjectModule(); 92 ref.unsetAdminObjectModule(); 93 pcs.firePropertyChange("adminObjectModule", temp, null); 94 } 95 } 96 97 protected GerResourceEnvRefType getResourceRef() { 98 return (GerResourceEnvRefType) getXmlObject(); 99 } 100 101 public void configure(GerResourceEnvRefType xml) { 102 setXmlObject(xml); 103 } 104 }