001 /*
002 * Copyright 2011 The Kuali Foundation.
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.kuali.kfs.vnd.businessobject;
017
018 import java.util.LinkedHashMap;
019 import java.util.List;
020
021 import org.apache.commons.lang.StringUtils;
022 import org.kuali.kfs.integration.purap.PurchasingAccountsPayableModuleService;
023 import org.kuali.kfs.integration.purap.PurchasingAccountsPayableSensitiveData;
024 import org.kuali.kfs.sys.context.SpringContext;
025 import org.kuali.kfs.vnd.VendorPropertyConstants;
026 import org.kuali.rice.kns.bo.Inactivateable;
027 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
028 import org.kuali.rice.kns.service.KualiModuleService;
029 import org.kuali.rice.kns.util.TypedArrayList;
030
031 /**
032 * CommodityCode Business Object
033 */
034 public class CommodityCode extends PersistableBusinessObjectBase implements Inactivateable {
035
036 private String purchasingCommodityCode;
037 private String commodityDescription;
038 private boolean salesTaxIndicator;
039 private boolean restrictedItemsIndicator;
040 private String sensitiveDataCode;
041 private boolean active;
042
043 private PurchasingAccountsPayableSensitiveData sensitiveData;
044
045 private List<CommodityContractManager> commodityContractManagers;
046
047 public CommodityCode() {
048 commodityContractManagers = new TypedArrayList(CommodityContractManager.class);
049 }
050
051 public boolean isActive() {
052 return active;
053 }
054
055 public void setActive(boolean active) {
056 this.active = active;
057 }
058
059 public String getPurchasingCommodityCode() {
060 return purchasingCommodityCode;
061 }
062
063 public void setPurchasingCommodityCode(String purchasingCommodityCode) {
064 this.purchasingCommodityCode = purchasingCommodityCode;
065 }
066
067 public String getCommodityDescription() {
068 return commodityDescription;
069 }
070
071 public void setCommodityDescription(String commodityDescription) {
072 this.commodityDescription = commodityDescription;
073 }
074
075 public boolean isRestrictedItemsIndicator() {
076 return restrictedItemsIndicator;
077 }
078
079 public void setRestrictedItemsIndicator(boolean restrictedItemsIndicator) {
080 this.restrictedItemsIndicator = restrictedItemsIndicator;
081 }
082
083 public String getSensitiveDataCode() {
084 return sensitiveDataCode;
085 }
086
087 public void setSensitiveDataCode(String sensitiveDataCode) {
088 this.sensitiveDataCode = sensitiveDataCode;
089 }
090
091 public PurchasingAccountsPayableSensitiveData getSensitiveData() {
092 /*if (StringUtils.isBlank(sensitiveDataCode)) {
093 if (sensitiveData != null) {
094 sensitiveData = null;
095 }
096 } else {
097 if (sensitiveData == null || !sensitiveData.getSensitiveDataCode().equals(this.sensitiveDataCode)) {
098 sensitiveData = SpringContext.getBean(PurchasingAccountsPayableModuleService.class).getSensitiveDataByCode(this.sensitiveDataCode);
099 }
100 }
101 return sensitiveData;*/
102 return sensitiveData = (PurchasingAccountsPayableSensitiveData)SpringContext.getBean(KualiModuleService.class)
103 .getResponsibleModuleService(PurchasingAccountsPayableSensitiveData.class)
104 .retrieveExternalizableBusinessObjectIfNecessary(this, sensitiveData, "sensitiveData");
105 }
106
107 public boolean isSalesTaxIndicator() {
108 return salesTaxIndicator;
109 }
110
111 public void setSalesTaxIndicator(boolean salesTaxIndicator) {
112 this.salesTaxIndicator = salesTaxIndicator;
113 }
114
115 public List<CommodityContractManager> getCommodityContractManagers() {
116 return commodityContractManagers;
117 }
118
119 public void setCommodityContractManagers(List<CommodityContractManager> commodityContractManagers) {
120 this.commodityContractManagers = commodityContractManagers;
121 }
122
123 /**
124 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
125 */
126 @Override
127 protected LinkedHashMap toStringMapper() {
128 LinkedHashMap m = new LinkedHashMap();
129 m.put(VendorPropertyConstants.PURCHASING_COMMODITY_CODE, this.purchasingCommodityCode);
130 m.put(VendorPropertyConstants.COMMODITY_DESCRIPTION, this.commodityDescription);
131 return null;
132 }
133
134 }