Skip to content

Commit

Permalink
Core changes for fully and better support R/W Rest API
Browse files Browse the repository at this point in the history
 - Core-452: Add uuid to every element of domain
 - Core-453: Make containers manageable with a uniform interface
 - Core-454: Add constructor for Logic classes, in order to create them from related pojo.
 - Core-456: Move usefull static methods inside injectable API class
 - Added annotations for correct representation of pojos in XML or JSON
  • Loading branch information
bestmazzo authored and gpulido committed Jun 30, 2014
1 parent 63de62a commit 8ad084f
Show file tree
Hide file tree
Showing 33 changed files with 1,140 additions and 204 deletions.
Expand Up @@ -6,9 +6,14 @@

import com.freedomotic.app.AppConfig;
import com.freedomotic.environment.EnvironmentLogic;
import com.freedomotic.environment.EnvironmentPersistence;
import com.freedomotic.objects.EnvObjectLogic;
import com.freedomotic.objects.EnvObjectPersistence;
import com.freedomotic.plugins.ClientStorage;
import com.freedomotic.plugins.filesystem.PluginsManager;
import com.freedomotic.reactions.CommandPersistence;
import com.freedomotic.reactions.ReactionPersistence;
import com.freedomotic.reactions.TriggerPersistence;
import com.freedomotic.security.Auth;
import com.freedomotic.util.I18n.I18n;
import java.awt.image.BufferedImage;
Expand Down Expand Up @@ -176,4 +181,10 @@ public interface API {
* @return
*/
BufferedImage getResource(String resourceIdentifier);

EnvironmentPersistence environments();
TriggerPersistence triggers();
EnvObjectPersistence objects();
CommandPersistence commands();
ReactionPersistence reactions();
}
Expand Up @@ -12,6 +12,9 @@
import com.freedomotic.objects.EnvObjectPersistence;
import com.freedomotic.plugins.ClientStorage;
import com.freedomotic.plugins.filesystem.PluginsManager;
import com.freedomotic.reactions.CommandPersistence;
import com.freedomotic.reactions.ReactionPersistence;
import com.freedomotic.reactions.TriggerPersistence;
import com.freedomotic.security.Auth;
import com.freedomotic.util.I18n.I18n;
import com.google.inject.Inject;
Expand All @@ -33,13 +36,16 @@
public class APIStandardImpl
implements API {

private final EnvironmentPersistence environment;
private final EnvObjectPersistence object;
private final EnvironmentPersistence environments;
private final EnvObjectPersistence objects;
private final ClientStorage clientStorage;
private final AppConfig config;
private final Auth auth;
private final I18n i18n;
private final PluginsManager plugManager;
private TriggerPersistence triggers;
private CommandPersistence commands;
private ReactionPersistence reactions;

/**
*
Expand All @@ -50,6 +56,8 @@ public class APIStandardImpl
* @param auth
* @param i18n
* @param plugManager
* @param triggerPersistence
* @param commands
*/
@Inject
public APIStandardImpl(
Expand All @@ -59,14 +67,20 @@ public APIStandardImpl(
AppConfig config,
Auth auth,
I18n i18n,
PluginsManager plugManager) {
this.environment = environment;
this.object = object;
PluginsManager plugManager,
TriggerPersistence triggerPersistence,
CommandPersistence commands,
ReactionPersistence reactions) {
this.environments = environment;
this.objects = object;
this.clientStorage = clientStorage;
this.config = config;
this.auth = auth;
this.i18n = i18n;
this.plugManager = plugManager;
this.triggers = triggerPersistence;
this.commands = commands;
this.reactions = reactions;
System.out.println("auth in apiimpl is " + this.auth);
}

Expand All @@ -87,7 +101,7 @@ public AppConfig getConfig() {
*/
@Override
public EnvObjectLogic addObject(EnvObjectLogic obj, boolean MAKE_UNIQUE) {
return object.add(obj, MAKE_UNIQUE);
return objects.add(obj, MAKE_UNIQUE);
}

/**
Expand All @@ -96,7 +110,8 @@ public EnvObjectLogic addObject(EnvObjectLogic obj, boolean MAKE_UNIQUE) {
*/
@Override
public Collection<EnvObjectLogic> getObjectList() {
return /*Collections.unmodifiableList(*/ object.getObjectList(); /*);*/
return /*Collections.unmodifiableList(*/ objects.getObjectList(); /*);*/

}

/**
Expand All @@ -106,7 +121,7 @@ public Collection<EnvObjectLogic> getObjectList() {
*/
@Override
public EnvObjectLogic getObjectByName(String name) {
return object.getObjectByName(name);
return objects.getObjectByName(name);
}

/**
Expand All @@ -116,7 +131,7 @@ public EnvObjectLogic getObjectByName(String name) {
*/
@Override
public EnvObjectLogic getObjectByUUID(String uuid) {
return object.getObjectByUUID(uuid);
return objects.getObjectByUUID(uuid);
}

/**
Expand All @@ -127,7 +142,7 @@ public EnvObjectLogic getObjectByUUID(String uuid) {
*/
@Override
public Collection<EnvObjectLogic> getObjectByAddress(String protocol, String address) {
return object.getObjectByAddress(protocol, address);
return objects.getObjectByAddress(protocol, address);
}

/**
Expand All @@ -137,7 +152,7 @@ public Collection<EnvObjectLogic> getObjectByAddress(String protocol, String add
*/
@Override
public Collection<EnvObjectLogic> getObjectByProtocol(String protocol) {
return object.getObjectByProtocol(protocol);
return objects.getObjectByProtocol(protocol);
}

/**
Expand All @@ -147,7 +162,7 @@ public Collection<EnvObjectLogic> getObjectByProtocol(String protocol) {
*/
@Override
public Collection<EnvObjectLogic> getObjectByEnvironment(String uuid) {
return object.getObjectByEnvironment(uuid);
return objects.getObjectByEnvironment(uuid);
}

/**
Expand All @@ -156,7 +171,7 @@ public Collection<EnvObjectLogic> getObjectByEnvironment(String uuid) {
*/
@Override
public void removeObject(EnvObjectLogic input) {
object.remove(input);
objects.remove(input);
}

/**
Expand All @@ -167,7 +182,7 @@ public void removeObject(EnvObjectLogic input) {
*/
@Override
public EnvironmentLogic addEnvironment(EnvironmentLogic obj, boolean MAKE_UNIQUE) {
return environment.add(obj, MAKE_UNIQUE);
return environments.add(obj, MAKE_UNIQUE);
}

/**
Expand All @@ -176,7 +191,7 @@ public EnvironmentLogic addEnvironment(EnvironmentLogic obj, boolean MAKE_UNIQUE
*/
@Override
public List<EnvironmentLogic> getEnvironments() {
return environment.getEnvironments();
return environments.getEnvironments();
}

/**
Expand All @@ -186,7 +201,7 @@ public List<EnvironmentLogic> getEnvironments() {
*/
@Override
public EnvironmentLogic getEnvByUUID(String UUID) {
return environment.getEnvByUUID(UUID);
return environments.getEnvByUUID(UUID);
}

/**
Expand All @@ -195,7 +210,7 @@ public EnvironmentLogic getEnvByUUID(String UUID) {
*/
@Override
public void removeEnvironment(EnvironmentLogic input) {
environment.remove(input);
environments.remove(input);
}

/**
Expand All @@ -207,7 +222,7 @@ public void removeEnvironment(EnvironmentLogic input) {
public Collection<Client> getClients(String filter) {
return clientStorage.getClients(filter);
}

/**
*
* @return
Expand All @@ -229,13 +244,13 @@ public BufferedImage getResource(String resourceIdentifier) {
public ClientStorage getClientStorage() {
return clientStorage;
}

/**
*
* @return
*/
@Override
public Auth getAuth(){
public Auth getAuth() {
return auth;
}

Expand Down Expand Up @@ -264,6 +279,33 @@ public PluginsManager getPluginManager() {
*/
@Override
public Collection<EnvObjectLogic> getObjectByTag(String tag) {
return object.getObjectByTags(tag);
return objects.getObjectByTags(tag);
}

@Override
public EnvironmentPersistence environments() {
return environments;
}

@Override
public TriggerPersistence triggers() {
return triggers;
}

@Override
public EnvObjectPersistence objects() {
return objects;
}

@Override
public CommandPersistence commands() {
return commands;
}

@Override
public ReactionPersistence reactions() {
return reactions;
}


}
Expand Up @@ -32,26 +32,33 @@
import java.io.IOException;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
*
* @author nicoletti
*/
@XmlRootElement
public class Plugin
implements Client {
// private boolean isConnected = false;

/**
*
*/

@XmlElement
protected volatile boolean isRunning;
@XmlElement
private String pluginName;
@XmlElement
private String type = "Plugin";

/**
*
*/
@XmlElement
public Config configuration;

/**
Expand All @@ -64,41 +71,50 @@ public class Plugin
/**
*
*/
@XmlElement
protected String description;

/**
*
*/
@XmlElement
protected String version;

/**
*
*/
@XmlElement
protected String requiredVersion;

/**
*
*/
@XmlElement
protected String category;

/**
*
*/
@XmlElement
protected String shortName;

/**
*
*/
@XmlElement
protected String listenOn;

/**
*
*/
@XmlElement
protected String sendOn;
@XmlElement
private File path;
final static int SAME_VERSION = 0;
final static int FIRST_IS_OLDER = -1;
final static int LAST_IS_OLDER = 1;

@Inject
private API api;
private BusService busService;
Expand Down Expand Up @@ -145,6 +161,7 @@ public File getFile() {
*
* @return
*/
@XmlTransient
public API getApi() {
return api;
}
Expand Down

0 comments on commit 8ad084f

Please sign in to comment.