001// --------------------------------------------------------------------------------
002// Copyright 2002-2024 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.track.server;
018
019import com.echothree.control.user.track.common.TrackRemote;
020import com.echothree.control.user.track.common.form.*;
021import com.echothree.control.user.track.server.command.*;
022import com.echothree.model.data.user.common.pk.UserVisitPK;
023import com.echothree.util.common.command.CommandResult;
024import javax.ejb.Stateless;
025
026@Stateless
027public class TrackBean
028        extends TrackFormsImpl
029        implements TrackRemote, TrackLocal {
030    
031    // -------------------------------------------------------------------------
032    //   Testing
033    // -------------------------------------------------------------------------
034    
035    @Override
036    public String ping() {
037        return "TrackBean is alive!";
038    }
039    
040    // --------------------------------------------------------------------------------
041    //   Tracks
042    // --------------------------------------------------------------------------------
043    
044    @Override
045    public CommandResult createTrack(UserVisitPK userVisitPK, CreateTrackForm form) {
046        return new CreateTrackCommand(userVisitPK, form).run();
047    }
048    
049    @Override
050    public CommandResult getTrackChoices(UserVisitPK userVisitPK, GetTrackChoicesForm form) {
051        return new GetTrackChoicesCommand(userVisitPK, form).run();
052    }
053    
054    @Override
055    public CommandResult getTrack(UserVisitPK userVisitPK, GetTrackForm form) {
056        return new GetTrackCommand(userVisitPK, form).run();
057    }
058    
059    @Override
060    public CommandResult getTracks(UserVisitPK userVisitPK, GetTracksForm form) {
061        return new GetTracksCommand(userVisitPK, form).run();
062    }
063    
064    @Override
065    public CommandResult setDefaultTrack(UserVisitPK userVisitPK, SetDefaultTrackForm form) {
066        return new SetDefaultTrackCommand(userVisitPK, form).run();
067    }
068    
069    @Override
070    public CommandResult getTrackStatusChoices(UserVisitPK userVisitPK, GetTrackStatusChoicesForm form) {
071        return new GetTrackStatusChoicesCommand(userVisitPK, form).run();
072    }
073    
074    @Override
075    public CommandResult setTrackStatus(UserVisitPK userVisitPK, SetTrackStatusForm form) {
076        return new SetTrackStatusCommand(userVisitPK, form).run();
077    }
078    
079    @Override
080    public CommandResult editTrack(UserVisitPK userVisitPK, EditTrackForm form) {
081        return new EditTrackCommand(userVisitPK, form).run();
082    }
083    
084    @Override
085    public CommandResult deleteTrack(UserVisitPK userVisitPK, DeleteTrackForm form) {
086        return new DeleteTrackCommand(userVisitPK, form).run();
087    }
088    
089    // --------------------------------------------------------------------------------
090    //   Track Descriptions
091    // --------------------------------------------------------------------------------
092    
093    @Override
094    public CommandResult createTrackDescription(UserVisitPK userVisitPK, CreateTrackDescriptionForm form) {
095        return new CreateTrackDescriptionCommand(userVisitPK, form).run();
096    }
097    
098    @Override
099    public CommandResult getTrackDescription(UserVisitPK userVisitPK, GetTrackDescriptionForm form) {
100        return new GetTrackDescriptionCommand(userVisitPK, form).run();
101    }
102    
103    @Override
104    public CommandResult getTrackDescriptions(UserVisitPK userVisitPK, GetTrackDescriptionsForm form) {
105        return new GetTrackDescriptionsCommand(userVisitPK, form).run();
106    }
107    
108    @Override
109    public CommandResult editTrackDescription(UserVisitPK userVisitPK, EditTrackDescriptionForm form) {
110        return new EditTrackDescriptionCommand(userVisitPK, form).run();
111    }
112    
113    @Override
114    public CommandResult deleteTrackDescription(UserVisitPK userVisitPK, DeleteTrackDescriptionForm form) {
115        return new DeleteTrackDescriptionCommand(userVisitPK, form).run();
116    }
117    
118    // --------------------------------------------------------------------------------
119    //   User Visit Tracks
120    // --------------------------------------------------------------------------------
121    
122    @Override
123    public CommandResult createUserVisitTrack(UserVisitPK userVisitPK, CreateUserVisitTrackForm form) {
124        return new CreateUserVisitTrackCommand(userVisitPK, form).run();
125    }
126    
127}