blob: fce437da2aeeea38e450d34bf71875f8d9eb37fc [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.ofbiz.webtools.labelmanager;
import java.util.LinkedHashMap;
import java.util.Map;
import org.apache.ofbiz.base.util.Debug;
import org.apache.ofbiz.base.util.UtilValidate;
public class LabelInfo {
public static final String module = LabelInfo.class.getName();
protected String labelKey = "";
protected String labelKeyComment = "";
protected String fileName = "";
protected Map<String, LabelValue> labelValues = new LinkedHashMap<String, LabelValue>();
public LabelInfo(String labelKey, String labelKeyComment, String fileName, String localeStr, String labelValue, String labelComment) {
this.labelKey = labelKey;
this.labelKeyComment = labelKeyComment;
this.fileName = fileName;
setLabelValue(localeStr, labelValue, labelComment, false);
}
public String getLabelKey() {
return labelKey;
}
public String getLabelKeyComment() {
return labelKeyComment;
}
public void setLabelKeyComment(String labelKeyComment) {
this.labelKeyComment = labelKeyComment;
}
public String getFileName() {
return fileName;
}
public LabelValue getLabelValue(String localeStr) {
return labelValues.get(localeStr);
}
public int getLabelValueSize() {
return labelValues.size();
}
public boolean setLabelValue(String localeStr, String labelValue, String labelComment, boolean update) {
LabelValue localeFound = getLabelValue(localeStr);
boolean isDuplicatedLocales = false;
if (UtilValidate.isEmpty(localeFound)) {
if (UtilValidate.isNotEmpty(labelValue)) {
localeFound = new LabelValue(labelValue, labelComment);
labelValues.put(localeStr, localeFound);
}
} else {
if (update) {
if (UtilValidate.isNotEmpty(labelValue)) {
localeFound.setLabelValue(labelValue);
localeFound.setLabelComment(labelComment);
labelValues.put(localeStr, localeFound);
} else {
labelValues.remove(localeStr);
}
} else {
if (Debug.warningOn()) {
Debug.logWarning("Already found locale " + localeStr + " for label " + labelKey + " into the file " + fileName, module);
}
isDuplicatedLocales = true;
}
}
return isDuplicatedLocales;
}
}