package com.jakeapp.violet.actions.global; import javax.inject.Inject; import javax.inject.Named; import com.jakeapp.availablelater.AvailableLaterObject; import com.jakeapp.jake.ics.ICService; import com.jakeapp.jake.ics.UserId; import com.jakeapp.jake.ics.exceptions.NetworkException; import com.jakeapp.violet.di.IUserIdFactory; import com.jakeapp.violet.model.User; /** * <code>AvailableLaterObject</code> that creates an <code>Account</code> on an * IM-Provider */ public class CreateAccountAction extends AvailableLaterObject<Void> { private String pw; private UserId user; @Named("global ics") @Inject private ICService ics; @Inject private IUserIdFactory userids; public void setIcs(ICService ics) { this.ics = ics; } public void setUserids(IUserIdFactory userids) { this.userids = userids; } public CreateAccountAction(User user, String pw) { this.user = userids.get(user.getUserId()); this.pw = pw; } @Override public Void calculate() throws NetworkException { ics.getStatusService().createAccount(this.user, this.pw); return null; } }