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.index.server;
018
019import com.echothree.control.user.index.common.IndexRemote;
020import com.echothree.control.user.index.common.form.*;
021import com.echothree.control.user.index.common.result.*;
022import com.echothree.control.user.index.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 IndexBean
031        extends IndexFormsImpl
032        implements IndexRemote, IndexLocal {
033    
034    // -------------------------------------------------------------------------
035    //   Testing
036    // -------------------------------------------------------------------------
037    
038    @Override
039    public String ping() {
040        return "IndexBean is alive!";
041    }
042    
043    // --------------------------------------------------------------------------------
044    //   Index Types
045    // --------------------------------------------------------------------------------
046    
047    @Override
048    public CommandResult<VoidResult> createIndexType(UserVisitPK userVisitPK, CreateIndexTypeForm form) {
049        return CDI.current().select(CreateIndexTypeCommand.class).get().run(userVisitPK, form);
050    }
051    
052    @Override
053    public CommandResult<GetIndexTypeChoicesResult> getIndexTypeChoices(UserVisitPK userVisitPK, GetIndexTypeChoicesForm form) {
054        return CDI.current().select(GetIndexTypeChoicesCommand.class).get().run(userVisitPK, form);
055    }
056    
057    @Override
058    public CommandResult<GetIndexTypeResult> getIndexType(UserVisitPK userVisitPK, GetIndexTypeForm form) {
059        return CDI.current().select(GetIndexTypeCommand.class).get().run(userVisitPK, form);
060    }
061    
062    @Override
063    public CommandResult<GetIndexTypesResult> getIndexTypes(UserVisitPK userVisitPK, GetIndexTypesForm form) {
064        return CDI.current().select(GetIndexTypesCommand.class).get().run(userVisitPK, form);
065    }
066    
067    @Override
068    public CommandResult<VoidResult> setDefaultIndexType(UserVisitPK userVisitPK, SetDefaultIndexTypeForm form) {
069        return CDI.current().select(SetDefaultIndexTypeCommand.class).get().run(userVisitPK, form);
070    }
071    
072    @Override
073    public CommandResult<EditIndexTypeResult> editIndexType(UserVisitPK userVisitPK, EditIndexTypeForm form) {
074        return CDI.current().select(EditIndexTypeCommand.class).get().run(userVisitPK, form);
075    }
076    
077    @Override
078    public CommandResult<VoidResult> deleteIndexType(UserVisitPK userVisitPK, DeleteIndexTypeForm form) {
079        return CDI.current().select(DeleteIndexTypeCommand.class).get().run(userVisitPK, form);
080    }
081    
082    // --------------------------------------------------------------------------------
083    //   Index Type Descriptions
084    // --------------------------------------------------------------------------------
085    
086    @Override
087    public CommandResult<VoidResult> createIndexTypeDescription(UserVisitPK userVisitPK, CreateIndexTypeDescriptionForm form) {
088        return CDI.current().select(CreateIndexTypeDescriptionCommand.class).get().run(userVisitPK, form);
089    }
090    
091    @Override
092    public CommandResult<GetIndexTypeDescriptionResult> getIndexTypeDescription(UserVisitPK userVisitPK, GetIndexTypeDescriptionForm form) {
093        return CDI.current().select(GetIndexTypeDescriptionCommand.class).get().run(userVisitPK, form);
094    }
095    
096    @Override
097    public CommandResult<GetIndexTypeDescriptionsResult> getIndexTypeDescriptions(UserVisitPK userVisitPK, GetIndexTypeDescriptionsForm form) {
098        return CDI.current().select(GetIndexTypeDescriptionsCommand.class).get().run(userVisitPK, form);
099    }
100    
101    @Override
102    public CommandResult<EditIndexTypeDescriptionResult> editIndexTypeDescription(UserVisitPK userVisitPK, EditIndexTypeDescriptionForm form) {
103        return CDI.current().select(EditIndexTypeDescriptionCommand.class).get().run(userVisitPK, form);
104    }
105    
106    @Override
107    public CommandResult<VoidResult> deleteIndexTypeDescription(UserVisitPK userVisitPK, DeleteIndexTypeDescriptionForm form) {
108        return CDI.current().select(DeleteIndexTypeDescriptionCommand.class).get().run(userVisitPK, form);
109    }
110    
111    // --------------------------------------------------------------------------------
112    //   Index Fields
113    // --------------------------------------------------------------------------------
114    
115    @Override
116    public CommandResult<VoidResult> createIndexField(UserVisitPK userVisitPK, CreateIndexFieldForm form) {
117        return CDI.current().select(CreateIndexFieldCommand.class).get().run(userVisitPK, form);
118    }
119    
120    @Override
121    public CommandResult<GetIndexFieldChoicesResult> getIndexFieldChoices(UserVisitPK userVisitPK, GetIndexFieldChoicesForm form) {
122        return CDI.current().select(GetIndexFieldChoicesCommand.class).get().run(userVisitPK, form);
123    }
124    
125    @Override
126    public CommandResult<GetIndexFieldResult> getIndexField(UserVisitPK userVisitPK, GetIndexFieldForm form) {
127        return CDI.current().select(GetIndexFieldCommand.class).get().run(userVisitPK, form);
128    }
129    
130    @Override
131    public CommandResult<GetIndexFieldsResult> getIndexFields(UserVisitPK userVisitPK, GetIndexFieldsForm form) {
132        return CDI.current().select(GetIndexFieldsCommand.class).get().run(userVisitPK, form);
133    }
134    
135    @Override
136    public CommandResult<VoidResult> setDefaultIndexField(UserVisitPK userVisitPK, SetDefaultIndexFieldForm form) {
137        return CDI.current().select(SetDefaultIndexFieldCommand.class).get().run(userVisitPK, form);
138    }
139    
140    @Override
141    public CommandResult<EditIndexFieldResult> editIndexField(UserVisitPK userVisitPK, EditIndexFieldForm form) {
142        return CDI.current().select(EditIndexFieldCommand.class).get().run(userVisitPK, form);
143    }
144    
145    @Override
146    public CommandResult<VoidResult> deleteIndexField(UserVisitPK userVisitPK, DeleteIndexFieldForm form) {
147        return CDI.current().select(DeleteIndexFieldCommand.class).get().run(userVisitPK, form);
148    }
149    
150    // --------------------------------------------------------------------------------
151    //   Index Field Descriptions
152    // --------------------------------------------------------------------------------
153    
154    @Override
155    public CommandResult<VoidResult> createIndexFieldDescription(UserVisitPK userVisitPK, CreateIndexFieldDescriptionForm form) {
156        return CDI.current().select(CreateIndexFieldDescriptionCommand.class).get().run(userVisitPK, form);
157    }
158    
159    @Override
160    public CommandResult<GetIndexFieldDescriptionResult> getIndexFieldDescription(UserVisitPK userVisitPK, GetIndexFieldDescriptionForm form) {
161        return CDI.current().select(GetIndexFieldDescriptionCommand.class).get().run(userVisitPK, form);
162    }
163    
164    @Override
165    public CommandResult<GetIndexFieldDescriptionsResult> getIndexFieldDescriptions(UserVisitPK userVisitPK, GetIndexFieldDescriptionsForm form) {
166        return CDI.current().select(GetIndexFieldDescriptionsCommand.class).get().run(userVisitPK, form);
167    }
168    
169    @Override
170    public CommandResult<EditIndexFieldDescriptionResult> editIndexFieldDescription(UserVisitPK userVisitPK, EditIndexFieldDescriptionForm form) {
171        return CDI.current().select(EditIndexFieldDescriptionCommand.class).get().run(userVisitPK, form);
172    }
173    
174    @Override
175    public CommandResult<VoidResult> deleteIndexFieldDescription(UserVisitPK userVisitPK, DeleteIndexFieldDescriptionForm form) {
176        return CDI.current().select(DeleteIndexFieldDescriptionCommand.class).get().run(userVisitPK, form);
177    }
178    
179    // --------------------------------------------------------------------------------
180    //   Indexes
181    // --------------------------------------------------------------------------------
182    
183    @Override
184    public CommandResult<VoidResult> createIndex(UserVisitPK userVisitPK, CreateIndexForm form) {
185        return CDI.current().select(CreateIndexCommand.class).get().run(userVisitPK, form);
186    }
187    
188    @Override
189    public CommandResult<GetIndexChoicesResult> getIndexChoices(UserVisitPK userVisitPK, GetIndexChoicesForm form) {
190        return CDI.current().select(GetIndexChoicesCommand.class).get().run(userVisitPK, form);
191    }
192    
193    @Override
194    public CommandResult<GetIndexResult> getIndex(UserVisitPK userVisitPK, GetIndexForm form) {
195        return CDI.current().select(GetIndexCommand.class).get().run(userVisitPK, form);
196    }
197    
198    @Override
199    public CommandResult<GetIndexesResult> getIndexes(UserVisitPK userVisitPK, GetIndexesForm form) {
200        return CDI.current().select(GetIndexesCommand.class).get().run(userVisitPK, form);
201    }
202    
203    @Override
204    public CommandResult<VoidResult> setDefaultIndex(UserVisitPK userVisitPK, SetDefaultIndexForm form) {
205        return CDI.current().select(SetDefaultIndexCommand.class).get().run(userVisitPK, form);
206    }
207    
208    @Override
209    public CommandResult<EditIndexResult> editIndex(UserVisitPK userVisitPK, EditIndexForm form) {
210        return CDI.current().select(EditIndexCommand.class).get().run(userVisitPK, form);
211    }
212    
213    @Override
214    public CommandResult<VoidResult> deleteIndex(UserVisitPK userVisitPK, DeleteIndexForm form) {
215        return CDI.current().select(DeleteIndexCommand.class).get().run(userVisitPK, form);
216    }
217    
218    // --------------------------------------------------------------------------------
219    //   Index Descriptions
220    // --------------------------------------------------------------------------------
221    
222    @Override
223    public CommandResult<VoidResult> createIndexDescription(UserVisitPK userVisitPK, CreateIndexDescriptionForm form) {
224        return CDI.current().select(CreateIndexDescriptionCommand.class).get().run(userVisitPK, form);
225    }
226    
227    @Override
228    public CommandResult<GetIndexDescriptionResult> getIndexDescription(UserVisitPK userVisitPK, GetIndexDescriptionForm form) {
229        return CDI.current().select(GetIndexDescriptionCommand.class).get().run(userVisitPK, form);
230    }
231    
232    @Override
233    public CommandResult<GetIndexDescriptionsResult> getIndexDescriptions(UserVisitPK userVisitPK, GetIndexDescriptionsForm form) {
234        return CDI.current().select(GetIndexDescriptionsCommand.class).get().run(userVisitPK, form);
235    }
236    
237    @Override
238    public CommandResult<EditIndexDescriptionResult> editIndexDescription(UserVisitPK userVisitPK, EditIndexDescriptionForm form) {
239        return CDI.current().select(EditIndexDescriptionCommand.class).get().run(userVisitPK, form);
240    }
241    
242    @Override
243    public CommandResult<VoidResult> deleteIndexDescription(UserVisitPK userVisitPK, DeleteIndexDescriptionForm form) {
244        return CDI.current().select(DeleteIndexDescriptionCommand.class).get().run(userVisitPK, form);
245    }
246    
247    // -------------------------------------------------------------------------
248    //   Utilities
249    // -------------------------------------------------------------------------
250    
251    @Override
252    public CommandResult<UpdateIndexesResult> updateIndexes(UserVisitPK userVisitPK, UpdateIndexesForm form) {
253        return CDI.current().select(UpdateIndexesCommand.class).get().run(userVisitPK, form);
254    }
255    
256    @Override
257    public CommandResult<VoidResult> forceReindex(UserVisitPK userVisitPK, ForceReindexForm form) {
258        return CDI.current().select(ForceReindexCommand.class).get().run(userVisitPK, form);
259    }
260    
261}