
org.broadleafcommerce.openadmin.dto.PersistencePackage Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of broadleaf-open-admin-platform Show documentation
Show all versions of broadleaf-open-admin-platform Show documentation
BroadleafCommerce Open Admin Platform
The newest version!
/*
* #%L
* BroadleafCommerce Open Admin Platform
* %%
* Copyright (C) 2009 - 2013 Broadleaf Commerce
* %%
* Licensed 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.
* #L%
*/
package org.broadleafcommerce.openadmin.dto;
import org.apache.commons.lang3.ArrayUtils;
import org.broadleafcommerce.common.presentation.client.PersistencePerspectiveItemType;
import java.io.Serializable;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
public class PersistencePackage implements Serializable, StateDescriptor {
private static final long serialVersionUID = 1L;
protected String ceilingEntityFullyQualifiedClassname;
protected String securityCeilingEntityFullyQualifiedClassname;
protected String sectionEntityField;
protected String fetchTypeFullyQualifiedClassname;
protected PersistencePerspective persistencePerspective;
protected String[] customCriteria;
protected Entity entity;
protected String csrfToken;
protected String requestingEntityName;
protected Map subPackages = new LinkedHashMap();
protected boolean validateUnsubmittedProperties = true;
protected SectionCrumb[] sectionCrumbs;
public PersistencePackage(String ceilingEntityFullyQualifiedClassname, Entity entity, PersistencePerspective persistencePerspective, String[] customCriteria, String csrfToken) {
this(ceilingEntityFullyQualifiedClassname, null, entity, persistencePerspective, customCriteria, csrfToken);
}
public PersistencePackage(String ceilingEntityFullyQualifiedClassname, String fetchTypeFullyQualifiedClassname, Entity entity, PersistencePerspective persistencePerspective, String[] customCriteria, String csrfToken) {
this.ceilingEntityFullyQualifiedClassname = ceilingEntityFullyQualifiedClassname;
this.fetchTypeFullyQualifiedClassname = fetchTypeFullyQualifiedClassname;
this.persistencePerspective = persistencePerspective;
this.entity = entity;
this.customCriteria = customCriteria;
this.csrfToken = csrfToken;
}
public PersistencePackage() {
//do nothing
}
@Override
public Property findProperty(String name) {
return entity.findProperty(name);
}
@Override
public Property[] getProperties() {
return entity.getProperties();
}
@Override
public Map getPMap() {
return entity.getPMap();
}
public String getCeilingEntityFullyQualifiedClassname() {
return ceilingEntityFullyQualifiedClassname;
}
public void setCeilingEntityFullyQualifiedClassname(
String ceilingEntityFullyQualifiedClassname) {
this.ceilingEntityFullyQualifiedClassname = ceilingEntityFullyQualifiedClassname;
}
public String getSecurityCeilingEntityFullyQualifiedClassname() {
return securityCeilingEntityFullyQualifiedClassname;
}
public void setSecurityCeilingEntityFullyQualifiedClassname(
String securityCeilingEntityFullyQualifiedClassname) {
this.securityCeilingEntityFullyQualifiedClassname = securityCeilingEntityFullyQualifiedClassname;
}
public PersistencePerspective getPersistencePerspective() {
return persistencePerspective;
}
public void setPersistencePerspective(
PersistencePerspective persistencePerspective) {
this.persistencePerspective = persistencePerspective;
}
public String[] getCustomCriteria() {
return customCriteria;
}
public void setCustomCriteria(String[] customCriteria) {
this.customCriteria = customCriteria;
}
public void addCustomCriteria(String criteria) {
customCriteria = ArrayUtils.add(customCriteria, criteria);
}
public void removeCustomCriteria(String criteria) {
int pos = containsCriteria(criteria);
if (pos >= 0) {
customCriteria = ArrayUtils.remove(customCriteria, pos);
}
}
public int containsCriteria(String criteria) {
if (ArrayUtils.isEmpty(customCriteria)) {
return -1;
}
for (int i = 0; i < customCriteria.length; i++) {
if (customCriteria[i] != null && customCriteria[i].equals(criteria)) {
return i;
} else if (customCriteria[i] == null && criteria == null) {
return i;
}
}
return -1;
}
public Entity getEntity() {
return entity;
}
public void setEntity(Entity entity) {
this.entity = entity;
}
public String getCsrfToken() {
return csrfToken;
}
public void setCsrfToken(String csrfToken) {
this.csrfToken = csrfToken;
}
public String getFetchTypeFullyQualifiedClassname() {
return fetchTypeFullyQualifiedClassname;
}
public void setFetchTypeFullyQualifiedClassname(String fetchTypeFullyQualifiedClassname) {
this.fetchTypeFullyQualifiedClassname = fetchTypeFullyQualifiedClassname;
}
public String getSectionEntityField() {
return sectionEntityField;
}
public void setSectionEntityField(String sectionEntityField) {
this.sectionEntityField = sectionEntityField;
}
public String getRequestingEntityName() {
return requestingEntityName;
}
public void setRequestingEntityName(String requestingEntityName) {
this.requestingEntityName = requestingEntityName;
}
public Map getPersistencePerspectiveItems() {
if (persistencePerspective != null) {
return persistencePerspective.getPersistencePerspectiveItems();
}
return new HashMap();
}
public Map getSubPackages() {
return subPackages;
}
public void setSubPackages(Map subPackages) {
this.subPackages = subPackages;
}
public boolean isValidateUnsubmittedProperties() {
return validateUnsubmittedProperties;
}
public void setValidateUnsubmittedProperties(boolean validateUnsubmittedProperties) {
this.validateUnsubmittedProperties = validateUnsubmittedProperties;
}
public SectionCrumb[] getSectionCrumbs() {
return sectionCrumbs;
}
public void setSectionCrumbs(SectionCrumb[] sectionCrumbs) {
this.sectionCrumbs = sectionCrumbs;
}
public SectionCrumb getClosetCrumb(String myCeiling) {
if (ArrayUtils.isEmpty(sectionCrumbs)) {
return new SectionCrumb();
} else {
SectionCrumb previous = sectionCrumbs[sectionCrumbs.length-1];
for (SectionCrumb sectionCrumb : sectionCrumbs) {
if (sectionCrumb.getSectionIdentifier().equals(myCeiling)) {
break;
} else {
previous = sectionCrumb;
}
}
return previous;
}
}
public SectionCrumb getBottomCrumb() {
if (ArrayUtils.isEmpty(sectionCrumbs)) {
return new SectionCrumb();
}
return sectionCrumbs[sectionCrumbs.length-1];
}
public SectionCrumb getTopCrumb() {
if (ArrayUtils.isEmpty(sectionCrumbs)) {
return new SectionCrumb();
}
return sectionCrumbs[0];
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder("PersistencePackage{");
sb.append("ceilingEntityFullyQualifiedClassname='").append(ceilingEntityFullyQualifiedClassname).append('\'');
sb.append(", securityCeilingEntityFullyQualifiedClassname='").append
(securityCeilingEntityFullyQualifiedClassname).append('\'');
sb.append(", sectionEntityField='").append(sectionEntityField).append('\'');
sb.append(", fetchTypeFullyQualifiedClassname='").append(fetchTypeFullyQualifiedClassname).append('\'');
sb.append(", persistencePerspective=").append(persistencePerspective);
sb.append(", customCriteria=").append(Arrays.toString(customCriteria));
sb.append(", entity=").append(entity);
sb.append(", csrfToken='").append(csrfToken).append('\'');
sb.append(", requestingEntityName='").append(requestingEntityName).append('\'');
sb.append(", subPackages=").append(subPackages);
sb.append(", validateUnsubmittedProperties=").append(validateUnsubmittedProperties);
sb.append(", sectionCrumbs=").append(Arrays.toString(sectionCrumbs));
sb.append('}');
return sb.toString();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null) return false;
if (!getClass().isAssignableFrom(o.getClass())) return false;
PersistencePackage that = (PersistencePackage) o;
if (ceilingEntityFullyQualifiedClassname != null ? !ceilingEntityFullyQualifiedClassname.equals(that
.ceilingEntityFullyQualifiedClassname) : that.ceilingEntityFullyQualifiedClassname != null)
return false;
if (csrfToken != null ? !csrfToken.equals(that.csrfToken) : that.csrfToken != null) return false;
if (!Arrays.equals(customCriteria, that.customCriteria)) return false;
if (entity != null ? !entity.equals(that.entity) : that.entity != null) return false;
if (fetchTypeFullyQualifiedClassname != null ? !fetchTypeFullyQualifiedClassname.equals(that
.fetchTypeFullyQualifiedClassname) : that.fetchTypeFullyQualifiedClassname != null)
return false;
if (persistencePerspective != null ? !persistencePerspective.equals(that.persistencePerspective) : that
.persistencePerspective != null)
return false;
if (sectionEntityField != null ? !sectionEntityField.equals(that.sectionEntityField) : that
.sectionEntityField != null)
return false;
return true;
}
@Override
public int hashCode() {
int result = ceilingEntityFullyQualifiedClassname != null ? ceilingEntityFullyQualifiedClassname.hashCode() : 0;
result = 31 * result + (sectionEntityField != null ? sectionEntityField.hashCode() : 0);
result = 31 * result + (fetchTypeFullyQualifiedClassname != null ? fetchTypeFullyQualifiedClassname.hashCode
() : 0);
result = 31 * result + (persistencePerspective != null ? persistencePerspective.hashCode() : 0);
result = 31 * result + (customCriteria != null ? Arrays.hashCode(customCriteria) : 0);
result = 31 * result + (entity != null ? entity.hashCode() : 0);
result = 31 * result + (csrfToken != null ? csrfToken.hashCode() : 0);
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy