/* =============================================================================== * * Part of the InfoGlue Content Management Platform (www.infoglue.org) * * =============================================================================== * * Copyright (C) * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 2, as published by the * Free Software Foundation. See the file LICENSE.html for more information. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple * Place, Suite 330 / Boston, MA 02111-1307 / USA. * * =============================================================================== */ package org.infoglue.cms.entities.management; import org.infoglue.cms.entities.kernel.BaseEntityVO; import org.infoglue.cms.entities.management.impl.simple.RepositoryImpl; import org.infoglue.cms.util.ConstraintExceptionBuffer; import org.infoglue.cms.util.validators.ValidatorFactory; public class RepositoryVO implements BaseEntityVO { private Integer repositoryId; private String name; private String description; private String dnsName; private Boolean isDeleted = new Boolean(false); /** * @see org.infoglue.cms.entities.kernel.BaseEntityVO#getId() */ public Integer getId() { return getRepositoryId(); } public String toString() { return getName(); } public java.lang.Integer getRepositoryId() { return this.repositoryId; } public void setRepositoryId(java.lang.Integer repositoryId) { this.repositoryId = repositoryId; } public java.lang.String getName() { return this.name; } public void setName(java.lang.String name) { this.name = name; } public java.lang.String getDescription() { return this.description; } public void setDescription(java.lang.String description) { this.description = description; } public java.lang.String getDnsName() { return this.dnsName; } public void setDnsName(java.lang.String dnsName) { if(dnsName == null || dnsName.length() == 0) this.dnsName = "undefined"; else this.dnsName = dnsName; } public Boolean getIsDeleted() { return this.isDeleted; } public void setIsDeleted(Boolean isDeleted) { this.isDeleted = isDeleted; } /** * @see org.infoglue.cms.entities.kernel.BaseEntityVO#validate() */ public ConstraintExceptionBuffer validate() { ConstraintExceptionBuffer ceb = new ConstraintExceptionBuffer(); ValidatorFactory.createStringValidator("Repository.name", true, 2, 50, true, RepositoryImpl.class, this.getId(), null).validate(this.name, ceb); ValidatorFactory.createStringValidator("Repository.description", true, 1, 100).validate(description, ceb); ValidatorFactory.createStringValidator("Repository.dnsName", false, 0, 2048).validate(dnsName, ceb); return ceb; } public String getValueFromDNSNameByKey(String keyword) { String value = ""; int startIndex = dnsName.indexOf(keyword); if(startIndex != -1) { int endIndex = dnsName.indexOf(",", startIndex); String part = null; if(endIndex > -1) part = dnsName.substring(startIndex, endIndex); else part = dnsName.substring(startIndex); String[] partArr = part.split("="); part = (partArr.length > 1)?partArr[1]:""; //part = part.split("=")[1]; value = part; } return value; } public String getWorkingBaseUrl() { return getValueFromDNSNameByKey("working="); } public String getPreviewBaseUrl() { return getValueFromDNSNameByKey("preview="); } public String getLiveBaseUrl() { return getValueFromDNSNameByKey("live="); } public String getExtraUrls() { String extraUrls = ""; String[] strings = dnsName.split(","); for(int i=0; i<strings.length; i++) { String string = strings[i]; if(string.indexOf("=") == -1) { if(!extraUrls.equals("")) extraUrls = extraUrls + ","; extraUrls = extraUrls + string; } } return extraUrls; } public String getExtraUrlsFormatted() { return getExtraUrls().replaceAll(",", "\n"); } public String getWorkingPath() { return getValueFromDNSNameByKey("workingPath="); } public String getPath() { return getValueFromDNSNameByKey("path="); } }