| 1 16 package org.outerj.daisy.repository.commonimpl; 17 18 import org.outerj.daisy.repository.AvailableVariant; 19 import org.outerj.daisy.repository.RepositoryException; 20 import org.outerj.daisy.repository.commonimpl.variant.CommonVariantManager; 21 import org.outerj.daisy.repository.variant.Branch; 22 import org.outerj.daisy.repository.variant.Language; 23 import org.outerx.daisy.x10.AvailableVariantDocument; 24 25 public class AvailableVariantImpl implements AvailableVariant { 26 private final long branchId; 27 private final long languageId; 28 private final boolean retired; 29 private final long liveVersionId; 30 private final CommonVariantManager variantManager; 31 private final AuthenticatedUser user; 32 33 public AvailableVariantImpl(long branchId, long languageId, boolean retired, long liveVersionId, CommonVariantManager variantManager, AuthenticatedUser user) { 34 this.branchId = branchId; 35 this.languageId = languageId; 36 this.retired = retired; 37 this.liveVersionId = liveVersionId; 38 this.variantManager = variantManager; 39 this.user = user; 40 } 41 42 public Branch getBranch() throws RepositoryException { 43 return variantManager.getBranch(branchId, false, user); 44 } 45 46 public Language getLanguage() throws RepositoryException { 47 return variantManager.getLanguage(languageId, false, user); 48 } 49 50 public long getBranchId() { 51 return branchId; 52 } 53 54 public long getLanguageId() { 55 return languageId; 56 } 57 58 public boolean isRetired() { 59 return retired; 60 } 61 62 public long getLiveVersionId() { 63 return liveVersionId; 64 } 65 66 public AvailableVariantDocument getXml() { 67 try { 68 return getXml(false); 69 } catch (RepositoryException e) { 70 throw new RuntimeException (e); 72 } 73 } 74 75 public AvailableVariantDocument getXml(boolean includeVariantNames) throws RepositoryException { 76 AvailableVariantDocument document = AvailableVariantDocument.Factory.newInstance(); 77 AvailableVariantDocument.AvailableVariant availableVariantXml = document.addNewAvailableVariant(); 78 availableVariantXml.setBranchId(branchId); 79 availableVariantXml.setLanguageId(languageId); 80 if (includeVariantNames) { 81 availableVariantXml.setBranchName(getBranch().getName()); 82 availableVariantXml.setLanguageName(getLanguage().getName()); 83 } 84 availableVariantXml.setRetired(retired); 85 availableVariantXml.setLiveVersionId(liveVersionId); 86 return document; 87 } 88 } 89 | Popular Tags |