/*
* Copyright 2002-2007 the original author or authors.
*
* 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.
*/
package org.internna.iwebmvc.parsers;
import org.internna.iwebmvc.dao.DAO;
import org.internna.iwebmvc.model.Link;
/**
* Parses @{@link Link} entities.
*
* @author Jose Noheda
* @since 2.0
*/
public class LinkParser extends AbstractEntityParser<Link> {
public LinkParser(DAO dao) {
super(Link.class, dao);
}
@Override
public Link parse(Link link) {
if ((link != null) && (link.getId() != null)) {
Link old = getDao().find(Link.class, link.getId());
old.setUrl(link.getUrl());
old.setRel(link.getRel());
if (link.getReadableText() != null) {
for (int index = 0; index < old.getReadableText().getData().size();index++)
old.getReadableText().getData().get(index).setTranslation(link.getReadableText().getData().get(index).getTranslation());
} else if (old.getReadableText() != null)
old.setReadableText(null);
if (link.getTooltipText() != null) {
if (old.getTooltipText() == null)
old.setTooltipText(link.getTooltipText());
else {
for (int index = 0; index < old.getTooltipText().getData().size();index++)
old.getTooltipText().getData().get(index).setTranslation(link.getTooltipText().getData().get(index).getTranslation());
}
} else old.setTooltipText(null);
return old;
}
return link;
}
}