server

Clone or download

Fixed folder and combine related issues

Modified Files

--- 'a/src/main/java/com/stream_pi/server/connection/ClientConnection.java'
+++ b/src/main/java/com/stream_pi/server/connection/ClientConnection.java
@@ -10,6 +10,8 @@ import com.stream_pi.action_api.actionpr
import com.stream_pi.action_api.externalplugin.ExternalPlugin;
import com.stream_pi.action_api.externalplugin.NormalAction;
import com.stream_pi.action_api.externalplugin.ToggleAction;
+import com.stream_pi.action_api.otheractions.CombineAction;
+import com.stream_pi.action_api.otheractions.FolderAction;
import com.stream_pi.server.action.ExternalPlugins;
import com.stream_pi.server.client.Client;
import com.stream_pi.server.client.ClientProfile;
@@ -524,7 +526,7 @@ public class ClientConnection extends Th
//action toBeAdded = null;
- boolean createBasicAction = false;
+ boolean isInvalidAction = false;
if(actionType == ActionType.NORMAL || actionType == ActionType.TOGGLE)
{
@@ -535,13 +537,13 @@ public class ClientConnection extends Th
if(originalAction == null)
{
- createBasicAction = true;
+ isInvalidAction = true;
}
else
{
if(originalAction.getVersion().getMajor() != version.getMajor())
{
- createBasicAction = true;
+ isInvalidAction = true;
}
else
{
@@ -596,65 +598,65 @@ public class ClientConnection extends Th
{
exceptionAndAlertHandler.handleMinorException(new MinorException("action", "Unable to clone"));
}
+
+ return;
}
}
}
- else
- {
- createBasicAction = true;
- }
-
-
- if(createBasicAction)
- {
-
- Action action = new Action(ID, actionType);
-
- action.setID(ID);
- action.setProfileID(profileID);
- action.setSocketAddressForClient(socket.getRemoteSocketAddress());
- action.setBgColourHex(bgColorHex);
- action.setCurrentIconState(defaultIconState);
- action.setShowDisplayText(isShowDisplayText);
- action.setDisplayTextFontColourHex(displayFontColor);
- action.setDisplayText(displayText);
- action.setDisplayTextAlignment(displayTextAlignment);
+ Action action = null;
- action.setLocation(location);
-
- action.setParent(root);
-
- action.setDelayBeforeExecuting(delayBeforeRunning);
+ if(isInvalidAction)
+ {
+ String moduleName = r[4];
+ Version version = new Version(r[3]);
- if(actionType == ActionType.NORMAL || actionType == ActionType.TOGGLE)
+ action = new Action();
+ action.setInvalid(true);
+ action.setVersion(version);
+ action.setModuleName(moduleName);
+ }
+ else
+ {
+ if(actionType == ActionType.COMBINE)
{
- String moduleName = r[4];
- Version version = new Version(r[3]);
-
- action.setInvalid(true);
- action.setVersion(version);
- action.setModuleName(moduleName);
+ action = new CombineAction();
}
+ else if(actionType == ActionType.FOLDER)
+ {
+ action = new FolderAction();
+ }
+ }
+ action.setID(ID);
+ action.setProfileID(profileID);
+ action.setSocketAddressForClient(socket.getRemoteSocketAddress());
- action.setClientProperties(clientProperties);
+ action.setBgColourHex(bgColorHex);
+ action.setCurrentIconState(defaultIconState);
- try
- {
- getClient().getProfileByID(profileID).addAction(action);
- }
- catch (CloneNotSupportedException e)
- {
- e.printStackTrace();
- exceptionAndAlertHandler.handleMinorException(new MinorException("action", "Unable to clone"));
- }
+ action.setShowDisplayText(isShowDisplayText);
+ action.setDisplayTextFontColourHex(displayFontColor);
+ action.setDisplayText(displayText);
+ action.setDisplayTextAlignment(displayTextAlignment);
- }
+ action.setLocation(location);
+
+ action.setParent(root);
+ action.setClientProperties(clientProperties);
+ try
+ {
+ getClient().getProfileByID(profileID).addAction(action);
+ }
+ catch (CloneNotSupportedException e)
+ {
+ e.printStackTrace();
+ exceptionAndAlertHandler.handleMinorException(new MinorException("action", "Unable to clone"));
+ }
}
public synchronized void saveActionDetails(String profileID, Action action) throws SevereException
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/ActionDetailsPane.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/ActionDetailsPane.java
@@ -533,8 +533,6 @@ public class ActionDetailsPane extends V
setAction(action);
this.actionBox = actionBox;
- System.out.println(getAction().getProfileID()+"KOBAAA");
-
renderActionProperties();
}
@@ -770,7 +768,7 @@ public class ActionDetailsPane extends V
{
try
{
- combineActionPropertiesPane = new CombineActionPropertiesPane(getActionAsCombineAction(action),
+ combineActionPropertiesPane = new CombineActionPropertiesPane((CombineAction) getAction(),
getClientProfile(),
this
);
@@ -789,47 +787,10 @@ public class ActionDetailsPane extends V
this.action = action;
}
- public FolderAction getActionAsFolderAction(Action action)
- {
- FolderAction folderAction = new FolderAction();
- folderAction.setDisplayText(getAction().getDisplayText());
- folderAction.setName(getAction().getName());
- folderAction.setID(getAction().getID());
- folderAction.setLocation(getAction().getLocation());
- folderAction.setBgColourHex(getAction().getBgColourHex());
- folderAction.setParent(getAction().getParent());
- folderAction.getClientProperties().set(getAction().getClientProperties());
- folderAction.setDisplayTextAlignment(getAction().getDisplayTextAlignment());
- folderAction.setIcons(getAction().getIcons());
- folderAction.setCurrentIconState(getAction().getCurrentIconState());
- folderAction.setDisplayTextFontColourHex(getAction().getDisplayTextFontColourHex());
-
- return folderAction;
- }
-
- public CombineAction getActionAsCombineAction(Action action)
- {
- CombineAction combineAction = new CombineAction();
- combineAction.setDisplayText(getAction().getDisplayText());
- combineAction.setName(getAction().getName());
- combineAction.setID(getAction().getID());
- combineAction.setLocation(getAction().getLocation());
- combineAction.setBgColourHex(getAction().getBgColourHex());
- combineAction.setParent(getAction().getParent());
- combineAction.getClientProperties().set(getAction().getClientProperties());
- combineAction.setDisplayTextAlignment(getAction().getDisplayTextAlignment());
- combineAction.setIcons(getAction().getIcons());
- combineAction.setCurrentIconState(getAction().getCurrentIconState());
- combineAction.setDisplayTextFontColourHex(getAction().getDisplayTextFontColourHex());
-
- return combineAction;
- }
-
@Override
public void onOpenFolderButtonClicked()
{
- FolderAction folderAction = getActionAsFolderAction(action);
- actionBox.getActionGridPaneListener().renderFolder(folderAction);
+ actionBox.getActionGridPaneListener().renderFolder((FolderAction) getAction());
clear();
}
@@ -1019,7 +980,7 @@ public class ActionDetailsPane extends V
}
@Override
- public void saveAction(Action action, boolean runAsync, boolean runOnActionSavedFromServer)
+ public synchronized void saveAction(Action action, boolean runAsync, boolean runOnActionSavedFromServer)
{
String delayBeforeRunning = "0";
if(action.getActionType() != ActionType.FOLDER && action.getActionType() !=ActionType.COMBINE)
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/CombineActionPropertiesPane.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/CombineActionPropertiesPane.java
@@ -92,7 +92,7 @@ public class CombineActionPropertiesPane
public void onSettingsButtonClicked(Action action)
{
- actionDetailsPane.clear();
+ actionDetailsPane.clear(false);
actionDetailsPane.setAction(action);
try {
actionDetailsPane.renderActionProperties();
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/OnDeleteActionTask.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/OnDeleteActionTask.java
@@ -73,6 +73,24 @@ public class OnDeleteActionTask extends
}
}
+ Action a = clientProfile.getActionByID(action.getID());
+ if(a instanceof ExternalPlugin)
+ {
+ try
+ {
+ ((ExternalPlugin) a).onActionDeleted();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ exceptionAndAlertHandler.handleMinorException(
+ new MinorException("failed at onActionDeleted for "+a.getModuleName(),
+ "Detailed Message : "+e.getMessage())
+ );
+ }
+ }
+
+
connection.deleteAction(clientProfile.getID(), action.getID());
clientProfile.removeActionByID(action.getID());
@@ -87,10 +105,11 @@ public class OnDeleteActionTask extends
try {
-
- actionDetailsPane.saveAction(combineActionPropertiesPane.getCombineAction(), true,true);
-
- System.out.println(combineActionPropertiesPane.getCombineAction().getDisplayText()+"@#@#@#@#@#@#");
+
+ System.out.println(combineActionPropertiesPane.getCombineAction().getDisplayText());
+
+ connection.saveActionDetails(clientProfile.getID(), combineActionPropertiesPane.getCombineAction());
+
actionDetailsPane.onActionClicked(
combineActionPropertiesPane.getCombineAction(),
actionBox