Set<ConstructionTypeAttribute> attributes = order.getConstructionType()
.getConstructionTypeAttributes();
Set<OrderLine> orderLines = new LinkedHashSet<OrderLine>();
Set<OrderLineAttribute> orderLineAttributes;
OrderLine orderLineMain;
orderLineMain = OrderLine.getInstance(order, 0, null);
orderLineAttributes = new LinkedHashSet<OrderLineAttribute>();
for (ConstructionTypeAttribute attribute : attributes) {
orderLineAttributes.add(new OrderLineAttribute(null, orderLineMain,
null, attribute, null, attribute.getAttributeValue(),
attribute.getDialogOrder(), attribute.getAttributeName()));
}
orderLineMain.setOrderLineAttributes(orderLineAttributes);
orderLines.add(orderLineMain);
orderLineMain.setArticlePath(orderLineMain.getGeneratedArticlePath());
Set<ConstructionTypeArticle> articles = order.getConstructionType()
.getConstructionTypeArticles();
if (articles != null && articles.size() != 0) {
Set<ConstructionTypeArticleAttribute> articleAttributes;
if (articles.size() != 0) {
for (ConstructionTypeArticle article : articles) {
orderLineMain = OrderLine.getInstance(order, article,
article.getNumberOfItems(), article
.getDialogOrder(), null,
article.getOrdNo(), article.getLnNo());
constructionTypeManager
.lazyLoadArticle(
article,
new LazyLoadConstructionTypeArticleEnum[] { LazyLoadConstructionTypeArticleEnum.ATTRIBUTES });
articleAttributes = article.getAttributes();
if (articleAttributes != null
&& articleAttributes.size() != 0) {
orderLineAttributes = new LinkedHashSet<OrderLineAttribute>();
for (ConstructionTypeArticleAttribute articleAttribute : articleAttributes) {
orderLineAttributes.add(new OrderLineAttribute(
null, orderLineMain, articleAttribute,
null, null, articleAttribute
.getAttributeValue(),
articleAttribute.getDialogOrder(),
articleAttribute.getAttributeName()));
}
orderLineMain
.setOrderLineAttributes(orderLineAttributes);
orderLineMain.setArticlePath(orderLineMain
.getGeneratedArticlePath());
}
setOrderLineConstructionRefs(article, orderLineMain, order);
orderLines.add(orderLineMain);
orderLineMain.setArticlePath(orderLineMain
.getGeneratedArticlePath());
}
}
}