diff --git a/Lambdas/Lists/ListReposition/src/ListRepositionActor.java b/Lambdas/Lists/ListReposition/src/ListRepositionActor.java index 180e9a0..a1d7517 100644 --- a/Lambdas/Lists/ListReposition/src/ListRepositionActor.java +++ b/Lambdas/Lists/ListReposition/src/ListRepositionActor.java @@ -15,8 +15,8 @@ public class ListRepositionActor implements CallHandler { this.cognitoID = cognitoID; } - final private String GET_PRIOR_POSITON = "SELECT uiPosition FROM ListSharee WHERE userID = ? AND listID = ?;"; - final private String SET_NEW_POSITON = "UPDATE ListSharee SET uiPosition = ? WHERE userID = ? AND listID = ?;"; + final private String GET_PRIOR_POSITION = "SELECT uiPosition FROM ListSharee WHERE userID = ? AND listID = ?;"; + final private String SET_NEW_POSITION = "UPDATE ListSharee SET uiPosition = ? WHERE userID = ? AND listID = ?;"; final private String DECREMENT_HIGHER_POSITIONS = "UPDATE ListSharee SET uiPosition = uiPosition - 1 WHERE uiPosition > ? AND userID = ?;"; final private String INCREMENT_GEQ_POSITIONS = "UPDATE ListSharee SET uiPosition = uiPosition + 1 WHERE uiPosition >= ? AND userID = ?;"; @@ -25,7 +25,7 @@ public class ListRepositionActor implements CallHandler { Integer listID = (Integer) bodyMap.get("listID"); Integer newPosition = (Integer) bodyMap.get("newPosition"); - PreparedStatement getPriorPosition = connection.prepareStatement(GET_PRIOR_POSITON); + PreparedStatement getPriorPosition = connection.prepareStatement(GET_PRIOR_POSITION); getPriorPosition.setString(1, cognitoID); getPriorPosition.setInt(2, listID); ResultSet priorPositionRS = getPriorPosition.executeQuery(); @@ -34,19 +34,29 @@ public class ListRepositionActor implements CallHandler { } Integer priorPosition = priorPositionRS.getInt("uiPosition"); + PreparedStatement openNewPosition = connection.prepareStatement(INCREMENT_GEQ_POSITIONS); + + if (newPosition.equals(priorPosition)) { + return null; + } + if (newPosition < priorPosition) { + openNewPosition.setInt(1, newPosition); + } else { + openNewPosition.setInt(1, newPosition + 1); + } + openNewPosition.setString(2, cognitoID); + System.out.println(openNewPosition); + openNewPosition.executeUpdate(); + PreparedStatement fillPriorPosition = connection.prepareStatement(DECREMENT_HIGHER_POSITIONS); fillPriorPosition.setInt(1, priorPosition); fillPriorPosition.setString(2, cognitoID); System.out.println(fillPriorPosition); fillPriorPosition.executeUpdate(); - PreparedStatement openNewPosition = connection.prepareStatement(INCREMENT_GEQ_POSITIONS); - openNewPosition.setInt(1, priorPosition); - openNewPosition.setString(2, cognitoID); - System.out.println(openNewPosition); - openNewPosition.executeUpdate(); - PreparedStatement setNewPosition = connection.prepareStatement(SET_NEW_POSITON); + + PreparedStatement setNewPosition = connection.prepareStatement(SET_NEW_POSITION); setNewPosition.setInt(1, newPosition); setNewPosition.setString(2, cognitoID); setNewPosition.setInt(3, listID); diff --git a/Lambdas/Lists/ListShare/src/ListSharer.java b/Lambdas/Lists/ListShare/src/ListSharer.java index c8b67cd..a80d0d8 100644 --- a/Lambdas/Lists/ListShare/src/ListSharer.java +++ b/Lambdas/Lists/ListShare/src/ListSharer.java @@ -65,6 +65,7 @@ public class ListSharer implements CallHandler { PreparedStatement uiPositionCheck = connection.prepareStatement(UI_POSITION_CHECK); uiPositionCheck.setString(1, shareWithSub); + System.out.println(uiPositionCheck); ResultSet uiPositionCheckRS = uiPositionCheck.executeQuery(); int nextPosition = 1; if (uiPositionCheckRS.next()) { @@ -78,6 +79,7 @@ public class ListSharer implements CallHandler { shareList.setInt(3, permissionLevel); shareList.setInt(4, nextPosition); shareList.setInt(5, permissionLevel); + System.out.println(shareList); shareList.executeUpdate(); connection.commit(); return null; diff --git a/Listify/app/src/main/java/com/example/listify/MainActivity.java b/Listify/app/src/main/java/com/example/listify/MainActivity.java index 55b3da0..b4864c8 100644 --- a/Listify/app/src/main/java/com/example/listify/MainActivity.java +++ b/Listify/app/src/main/java/com/example/listify/MainActivity.java @@ -17,6 +17,7 @@ import androidx.navigation.ui.AppBarConfiguration; import androidx.navigation.ui.NavigationUI; import com.amplifyframework.auth.AuthException; import com.example.listify.data.List; +import com.example.listify.data.ListReposition; import com.example.listify.data.SearchHistory; import com.example.listify.ui.LoginPage; import com.google.android.material.navigation.NavigationView; @@ -108,6 +109,7 @@ public class MainActivity extends AppCompatActivity implements CreateListDialogF requestor.getObject("N/A", SearchHistory.class, historyReceiver, historyReceiver); try { System.out.println(historyReceiver.await()); + requestor.putObject(new ListReposition(291, 1)); } catch (Exception e) { e.printStackTrace(); }