001// -------------------------------------------------------------------------------- 002// Copyright 2002-2026 Echo Three, LLC 003// 004// Licensed under the Apache License, Version 2.0 (the "License"); 005// you may not use this file except in compliance with the License. 006// You may obtain a copy of the License at 007// 008// http://www.apache.org/licenses/LICENSE-2.0 009// 010// Unless required by applicable law or agreed to in writing, software 011// distributed under the License is distributed on an "AS IS" BASIS, 012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013// See the License for the specific language governing permissions and 014// limitations under the License. 015// -------------------------------------------------------------------------------- 016 017package com.echothree.control.user.letter.server; 018 019import com.echothree.control.user.letter.common.LetterRemote; 020import com.echothree.control.user.letter.common.form.*; 021import com.echothree.control.user.letter.common.result.*; 022import com.echothree.control.user.letter.server.command.*; 023import com.echothree.model.data.user.common.pk.UserVisitPK; 024import com.echothree.util.common.command.CommandResult; 025import com.echothree.util.common.command.VoidResult; 026import javax.ejb.Stateless; 027import javax.enterprise.inject.spi.CDI; 028 029@Stateless 030public class LetterBean 031 extends LetterFormsImpl 032 implements LetterRemote, LetterLocal { 033 034 // ------------------------------------------------------------------------- 035 // Testing 036 // ------------------------------------------------------------------------- 037 038 @Override 039 public String ping() { 040 return "LetterBean is alive!"; 041 } 042 043 // -------------------------------------------------------------------------------- 044 // Letter Sources 045 // -------------------------------------------------------------------------------- 046 047 @Override 048 public CommandResult<VoidResult> createLetterSource(UserVisitPK userVisitPK, CreateLetterSourceForm form) { 049 return CDI.current().select(CreateLetterSourceCommand.class).get().run(userVisitPK, form); 050 } 051 052 @Override 053 public CommandResult<GetLetterSourceChoicesResult> getLetterSourceChoices(UserVisitPK userVisitPK, GetLetterSourceChoicesForm form) { 054 return CDI.current().select(GetLetterSourceChoicesCommand.class).get().run(userVisitPK, form); 055 } 056 057 @Override 058 public CommandResult<GetLetterSourceResult> getLetterSource(UserVisitPK userVisitPK, GetLetterSourceForm form) { 059 return CDI.current().select(GetLetterSourceCommand.class).get().run(userVisitPK, form); 060 } 061 062 @Override 063 public CommandResult<GetLetterSourcesResult> getLetterSources(UserVisitPK userVisitPK, GetLetterSourcesForm form) { 064 return CDI.current().select(GetLetterSourcesCommand.class).get().run(userVisitPK, form); 065 } 066 067 @Override 068 public CommandResult<VoidResult> setDefaultLetterSource(UserVisitPK userVisitPK, SetDefaultLetterSourceForm form) { 069 return CDI.current().select(SetDefaultLetterSourceCommand.class).get().run(userVisitPK, form); 070 } 071 072 @Override 073 public CommandResult<EditLetterSourceResult> editLetterSource(UserVisitPK userVisitPK, EditLetterSourceForm form) { 074 return CDI.current().select(EditLetterSourceCommand.class).get().run(userVisitPK, form); 075 } 076 077 @Override 078 public CommandResult<VoidResult> deleteLetterSource(UserVisitPK userVisitPK, DeleteLetterSourceForm form) { 079 return CDI.current().select(DeleteLetterSourceCommand.class).get().run(userVisitPK, form); 080 } 081 082 // -------------------------------------------------------------------------------- 083 // Letter Source Descriptions 084 // -------------------------------------------------------------------------------- 085 086 @Override 087 public CommandResult<VoidResult> createLetterSourceDescription(UserVisitPK userVisitPK, CreateLetterSourceDescriptionForm form) { 088 return CDI.current().select(CreateLetterSourceDescriptionCommand.class).get().run(userVisitPK, form); 089 } 090 091 @Override 092 public CommandResult<GetLetterSourceDescriptionsResult> getLetterSourceDescriptions(UserVisitPK userVisitPK, GetLetterSourceDescriptionsForm form) { 093 return CDI.current().select(GetLetterSourceDescriptionsCommand.class).get().run(userVisitPK, form); 094 } 095 096 @Override 097 public CommandResult<EditLetterSourceDescriptionResult> editLetterSourceDescription(UserVisitPK userVisitPK, EditLetterSourceDescriptionForm form) { 098 return CDI.current().select(EditLetterSourceDescriptionCommand.class).get().run(userVisitPK, form); 099 } 100 101 @Override 102 public CommandResult<VoidResult> deleteLetterSourceDescription(UserVisitPK userVisitPK, DeleteLetterSourceDescriptionForm form) { 103 return CDI.current().select(DeleteLetterSourceDescriptionCommand.class).get().run(userVisitPK, form); 104 } 105 106 // -------------------------------------------------------------------------------- 107 // Letters 108 // -------------------------------------------------------------------------------- 109 110 @Override 111 public CommandResult<VoidResult> createLetter(UserVisitPK userVisitPK, CreateLetterForm form) { 112 return CDI.current().select(CreateLetterCommand.class).get().run(userVisitPK, form); 113 } 114 115 @Override 116 public CommandResult<GetLetterChoicesResult> getLetterChoices(UserVisitPK userVisitPK, GetLetterChoicesForm form) { 117 return CDI.current().select(GetLetterChoicesCommand.class).get().run(userVisitPK, form); 118 } 119 120 @Override 121 public CommandResult<GetLetterResult> getLetter(UserVisitPK userVisitPK, GetLetterForm form) { 122 return CDI.current().select(GetLetterCommand.class).get().run(userVisitPK, form); 123 } 124 125 @Override 126 public CommandResult<GetLettersResult> getLetters(UserVisitPK userVisitPK, GetLettersForm form) { 127 return CDI.current().select(GetLettersCommand.class).get().run(userVisitPK, form); 128 } 129 130 @Override 131 public CommandResult<VoidResult> setDefaultLetter(UserVisitPK userVisitPK, SetDefaultLetterForm form) { 132 return CDI.current().select(SetDefaultLetterCommand.class).get().run(userVisitPK, form); 133 } 134 135 @Override 136 public CommandResult<EditLetterResult> editLetter(UserVisitPK userVisitPK, EditLetterForm form) { 137 return CDI.current().select(EditLetterCommand.class).get().run(userVisitPK, form); 138 } 139 140 @Override 141 public CommandResult<VoidResult> deleteLetter(UserVisitPK userVisitPK, DeleteLetterForm form) { 142 return CDI.current().select(DeleteLetterCommand.class).get().run(userVisitPK, form); 143 } 144 145 // -------------------------------------------------------------------------------- 146 // Letter Descriptions 147 // -------------------------------------------------------------------------------- 148 149 @Override 150 public CommandResult<VoidResult> createLetterDescription(UserVisitPK userVisitPK, CreateLetterDescriptionForm form) { 151 return CDI.current().select(CreateLetterDescriptionCommand.class).get().run(userVisitPK, form); 152 } 153 154 @Override 155 public CommandResult<GetLetterDescriptionsResult> getLetterDescriptions(UserVisitPK userVisitPK, GetLetterDescriptionsForm form) { 156 return CDI.current().select(GetLetterDescriptionsCommand.class).get().run(userVisitPK, form); 157 } 158 159 @Override 160 public CommandResult<EditLetterDescriptionResult> editLetterDescription(UserVisitPK userVisitPK, EditLetterDescriptionForm form) { 161 return CDI.current().select(EditLetterDescriptionCommand.class).get().run(userVisitPK, form); 162 } 163 164 @Override 165 public CommandResult<VoidResult> deleteLetterDescription(UserVisitPK userVisitPK, DeleteLetterDescriptionForm form) { 166 return CDI.current().select(DeleteLetterDescriptionCommand.class).get().run(userVisitPK, form); 167 } 168 169 // -------------------------------------------------------------------------------- 170 // Letter Contact Mechanism Purposes 171 // -------------------------------------------------------------------------------- 172 173 @Override 174 public CommandResult<VoidResult> createLetterContactMechanismPurpose(UserVisitPK userVisitPK, CreateLetterContactMechanismPurposeForm form) { 175 return CDI.current().select(CreateLetterContactMechanismPurposeCommand.class).get().run(userVisitPK, form); 176 } 177 178 @Override 179 public CommandResult<GetLetterContactMechanismPurposesResult> getLetterContactMechanismPurposes(UserVisitPK userVisitPK, GetLetterContactMechanismPurposesForm form) { 180 return CDI.current().select(GetLetterContactMechanismPurposesCommand.class).get().run(userVisitPK, form); 181 } 182 183 @Override 184 public CommandResult<EditLetterContactMechanismPurposeResult> editLetterContactMechanismPurpose(UserVisitPK userVisitPK, EditLetterContactMechanismPurposeForm form) { 185 return CDI.current().select(EditLetterContactMechanismPurposeCommand.class).get().run(userVisitPK, form); 186 } 187 188 @Override 189 public CommandResult<VoidResult> deleteLetterContactMechanismPurpose(UserVisitPK userVisitPK, DeleteLetterContactMechanismPurposeForm form) { 190 return CDI.current().select(DeleteLetterContactMechanismPurposeCommand.class).get().run(userVisitPK, form); 191 } 192 193 // -------------------------------------------------------------------------------- 194 // Queued Letters 195 // -------------------------------------------------------------------------------- 196 197 @Override 198 public CommandResult<GetQueuedLetterResult> getQueuedLetter(UserVisitPK userVisitPK, GetQueuedLetterForm form) { 199 return CDI.current().select(GetQueuedLetterCommand.class).get().run(userVisitPK, form); 200 } 201 202 @Override 203 public CommandResult<GetQueuedLettersResult> getQueuedLetters(UserVisitPK userVisitPK, GetQueuedLettersForm form) { 204 return CDI.current().select(GetQueuedLettersCommand.class).get().run(userVisitPK, form); 205 } 206 207 @Override 208 public CommandResult<VoidResult> deleteQueuedLetter(UserVisitPK userVisitPK, DeleteQueuedLetterForm form) { 209 return CDI.current().select(DeleteQueuedLetterCommand.class).get().run(userVisitPK, form); 210 } 211 212}