killbill-aplcache

Changes

Details

diff --git a/api/src/main/java/org/killbill/billing/broadcast/BroadcastApi.java b/api/src/main/java/org/killbill/billing/broadcast/BroadcastApi.java
new file mode 100644
index 0000000..6fcab7b
--- /dev/null
+++ b/api/src/main/java/org/killbill/billing/broadcast/BroadcastApi.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2014-2015 Groupon, Inc
+ * Copyright 2014-2015 The Billing Project, LLC
+ *
+ * The Billing Project licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at:
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.killbill.billing.broadcast;
+
+import org.joda.time.DateTime;
+
+public interface BroadcastApi {
+    public void broadcast(String serviceName, String type, String event, DateTime createdDate, String createdBy);
+}
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/NodesInfoResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/NodesInfoResource.java
index 96913da..29dd9e3 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/NodesInfoResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/NodesInfoResource.java
@@ -41,8 +41,8 @@ import org.killbill.billing.payment.api.PaymentApi;
 import org.killbill.billing.util.api.AuditUserApi;
 import org.killbill.billing.util.api.CustomFieldUserApi;
 import org.killbill.billing.util.api.TagUserApi;
-import org.killbill.billing.util.info.KillbillInfoApi;
-import org.killbill.billing.util.info.NodeInfo;
+import org.killbill.billing.util.nodes.KillbillNodesApi;
+import org.killbill.billing.util.nodes.NodeInfo;
 import org.killbill.clock.Clock;
 import org.killbill.commons.metrics.TimedResource;
 
@@ -59,7 +59,7 @@ import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
 @Api(value = JaxrsResource.NODES_INFO_PATH, description = "Operations to retrieve nodes info")
 public class NodesInfoResource extends JaxRsResourceBase {
 
-    private final KillbillInfoApi killbillInfoApi;
+    private final KillbillNodesApi killbillInfoApi;
 
     @Inject
     public NodesInfoResource(final JaxrsUriBuilder uriBuilder,
@@ -68,7 +68,7 @@ public class NodesInfoResource extends JaxRsResourceBase {
                              final AuditUserApi auditUserApi,
                              final AccountUserApi accountUserApi,
                              final PaymentApi paymentApi,
-                             final KillbillInfoApi killbillInfoApi,
+                             final KillbillNodesApi killbillInfoApi,
                              final Clock clock,
                              final Context context) {
         super(uriBuilder, tagUserApi, customFieldUserApi, auditUserApi, accountUserApi, paymentApi, clock, context);
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PluginInfoResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PluginInfoResource.java
index 62dd9cf..8c6ce93 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PluginInfoResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PluginInfoResource.java
@@ -48,7 +48,7 @@ import com.wordnik.swagger.annotations.ApiOperation;
 import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
 
 @Path(JaxrsResource.PLUGINS_INFO_PATH)
-@Api(value = JaxrsResource.PLUGINS_INFO_PATH, description = "Operations on plugins (info)")
+@Api(value = JaxrsResource.PLUGINS_INFO_PATH, description = "Operations on plugins")
 public class PluginInfoResource extends JaxRsResourceBase {
 
     private final PluginsInfoApi pluginsInfoApi;
diff --git a/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java b/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java
index a89a560..9b2a102 100644
--- a/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java
+++ b/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java
@@ -75,7 +75,7 @@ import org.killbill.billing.util.glue.ClockModule;
 import org.killbill.billing.util.glue.CustomFieldModule;
 import org.killbill.billing.util.glue.ExportModule;
 import org.killbill.billing.util.glue.GlobalLockerModule;
-import org.killbill.billing.util.glue.InfoModule;
+import org.killbill.billing.util.glue.NodesModule;
 import org.killbill.billing.util.glue.KillBillShiroAopModule;
 import org.killbill.billing.util.glue.KillbillApiAopModule;
 import org.killbill.billing.util.glue.NonEntityDaoModule;
@@ -140,7 +140,7 @@ public class KillbillServerModule extends KillbillPlatformModule {
 
     protected void installKillbillModules() {
         install(new AuditModule(configSource));
-        install(new InfoModule(configSource));
+        install(new NodesModule(configSource));
         install(new BroadcastModule(configSource));
         install(new BeatrixModule(configSource));
         install(new CacheModule(configSource));
diff --git a/profiles/killpay/src/main/java/org/killbill/billing/server/modules/KillpayServerModule.java b/profiles/killpay/src/main/java/org/killbill/billing/server/modules/KillpayServerModule.java
index d2a464b..389b1fb 100644
--- a/profiles/killpay/src/main/java/org/killbill/billing/server/modules/KillpayServerModule.java
+++ b/profiles/killpay/src/main/java/org/killbill/billing/server/modules/KillpayServerModule.java
@@ -57,7 +57,7 @@ import org.killbill.billing.util.glue.CallContextModule;
 import org.killbill.billing.util.glue.CustomFieldModule;
 import org.killbill.billing.util.glue.ExportModule;
 import org.killbill.billing.util.glue.GlobalLockerModule;
-import org.killbill.billing.util.glue.InfoModule;
+import org.killbill.billing.util.glue.NodesModule;
 import org.killbill.billing.util.glue.KillBillShiroAopModule;
 import org.killbill.billing.util.glue.KillbillApiAopModule;
 import org.killbill.billing.util.glue.NonEntityDaoModule;
@@ -74,7 +74,7 @@ public class KillpayServerModule extends KillbillServerModule {
     @Override
     protected void installKillbillModules() {
         install(new AuditModule(configSource));
-        install(new InfoModule(configSource));
+        install(new NodesModule(configSource));
         install(new BroadcastModule(configSource));
         install(new BeatrixModule(configSource));
         install(new CacheModule(configSource));
diff --git a/tenant/src/main/java/org/killbill/billing/tenant/api/TenantCacheInvalidation.java b/tenant/src/main/java/org/killbill/billing/tenant/api/TenantCacheInvalidation.java
index 6b3a2bb..02ac812 100644
--- a/tenant/src/main/java/org/killbill/billing/tenant/api/TenantCacheInvalidation.java
+++ b/tenant/src/main/java/org/killbill/billing/tenant/api/TenantCacheInvalidation.java
@@ -37,7 +37,6 @@ import org.killbill.billing.tenant.dao.TenantBroadcastDao;
 import org.killbill.billing.tenant.dao.TenantBroadcastModelDao;
 import org.killbill.billing.tenant.dao.TenantDao;
 import org.killbill.billing.tenant.dao.TenantKVModelDao;
-import org.killbill.billing.tenant.dao.TenantModelDao;
 import org.killbill.billing.tenant.glue.DefaultTenantModule;
 import org.killbill.billing.util.config.TenantConfig;
 import org.killbill.bus.api.PersistentBus;
diff --git a/util/src/main/java/org/killbill/billing/util/broadcast/DefaultBroadcastApi.java b/util/src/main/java/org/killbill/billing/util/broadcast/DefaultBroadcastApi.java
new file mode 100644
index 0000000..33524f1
--- /dev/null
+++ b/util/src/main/java/org/killbill/billing/util/broadcast/DefaultBroadcastApi.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2014-2015 Groupon, Inc
+ * Copyright 2014-2015 The Billing Project, LLC
+ *
+ * The Billing Project licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at:
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.killbill.billing.util.broadcast;
+
+import javax.inject.Inject;
+
+import org.joda.time.DateTime;
+import org.killbill.billing.broadcast.BroadcastApi;
+import org.killbill.billing.util.broadcast.dao.BroadcastDao;
+import org.killbill.billing.util.broadcast.dao.BroadcastModelDao;
+
+public class DefaultBroadcastApi implements BroadcastApi {
+
+    private final BroadcastDao dao;
+
+    @Inject
+    public DefaultBroadcastApi(final BroadcastDao dao) {
+        this.dao = dao;
+    }
+
+    @Override
+    public void broadcast(final String serviceName, final String type, final String event, final DateTime createdDate, final String createdBy) {
+        final BroadcastModelDao modelDao = new BroadcastModelDao(serviceName, type, event, createdDate, createdBy);
+        dao.create(modelDao);
+    }
+}
diff --git a/util/src/main/java/org/killbill/billing/util/glue/BroadcastModule.java b/util/src/main/java/org/killbill/billing/util/glue/BroadcastModule.java
index 1fe9dee..d409051 100644
--- a/util/src/main/java/org/killbill/billing/util/glue/BroadcastModule.java
+++ b/util/src/main/java/org/killbill/billing/util/glue/BroadcastModule.java
@@ -17,16 +17,11 @@
 
 package org.killbill.billing.util.glue;
 
+import org.killbill.billing.broadcast.BroadcastApi;
 import org.killbill.billing.platform.api.KillbillConfigSource;
+import org.killbill.billing.util.broadcast.DefaultBroadcastApi;
 import org.killbill.billing.util.broadcast.dao.BroadcastDao;
 import org.killbill.billing.util.broadcast.dao.DefaultBroadcastDao;
-import org.killbill.billing.util.info.DefaultKillbillInfoApi;
-import org.killbill.billing.util.info.DefaultKillbillInfoService;
-import org.killbill.billing.util.info.KillbillInfoApi;
-import org.killbill.billing.util.info.KillbillInfoService;
-import org.killbill.billing.util.info.NodeInfoMapper;
-import org.killbill.billing.util.info.dao.DefaultNodeInfoDao;
-import org.killbill.billing.util.info.dao.NodeInfoDao;
 
 public class BroadcastModule extends KillBillModule {
 
@@ -39,7 +34,7 @@ public class BroadcastModule extends KillBillModule {
     }
 
     protected void installUserApi() {
-        //bind(KillbillInfoApi.class).to(DefaultKillbillInfoApi.class).asEagerSingleton();
+        bind(BroadcastApi.class).to(DefaultBroadcastApi.class).asEagerSingleton();
     }
 
 
diff --git a/util/src/main/java/org/killbill/billing/util/nodes/DefaultNodeCommandMetadata.java b/util/src/main/java/org/killbill/billing/util/nodes/DefaultNodeCommandMetadata.java
new file mode 100644
index 0000000..483de02
--- /dev/null
+++ b/util/src/main/java/org/killbill/billing/util/nodes/DefaultNodeCommandMetadata.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2014-2015 Groupon, Inc
+ * Copyright 2014-2015 The Billing Project, LLC
+ *
+ * The Billing Project licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at:
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.killbill.billing.util.nodes;
+
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class DefaultNodeCommandMetadata implements NodeCommandMetadata {
+
+    final List<NodeCommandProperty> properties;
+
+    @JsonCreator
+    public DefaultNodeCommandMetadata(@JsonProperty("properties") final List<NodeCommandProperty> properties) {
+        this.properties = properties;
+    }
+
+    @Override
+    public List<NodeCommandProperty> getProperties() {
+        return properties;
+    }
+}
\ No newline at end of file
diff --git a/util/src/main/java-templates/KillbillVersions.java b/util/src/main/java-templates/KillbillVersions.java
index 69af308..023546c 100644
--- a/util/src/main/java-templates/KillbillVersions.java
+++ b/util/src/main/java-templates/KillbillVersions.java
@@ -1,4 +1,4 @@
-package org.killbill.billing.util.info;
+package org.killbill.billing.util.nodes;
 
 public final class KillbillVersions {
 
diff --git a/util/src/test/java/org/killbill/billing/util/glue/TestUtilModuleWithEmbeddedDB.java b/util/src/test/java/org/killbill/billing/util/glue/TestUtilModuleWithEmbeddedDB.java
index a5d908a..3529062 100644
--- a/util/src/test/java/org/killbill/billing/util/glue/TestUtilModuleWithEmbeddedDB.java
+++ b/util/src/test/java/org/killbill/billing/util/glue/TestUtilModuleWithEmbeddedDB.java
@@ -20,14 +20,8 @@ package org.killbill.billing.util.glue;
 
 import org.killbill.billing.GuicyKillbillTestWithEmbeddedDBModule;
 import org.killbill.billing.api.TestApiListener;
-import org.killbill.billing.osgi.api.PluginInfo;
 import org.killbill.billing.osgi.api.PluginsInfoApi;
 import org.killbill.billing.platform.api.KillbillConfigSource;
-import org.killbill.billing.subscription.api.timeline.SubscriptionBaseTimelineApi;
-import org.killbill.billing.util.info.DefaultKillbillInfoApi;
-import org.killbill.billing.util.info.DefaultKillbillInfoService;
-import org.killbill.billing.util.info.KillbillInfoApi;
-import org.killbill.billing.util.info.KillbillInfoService;
 import org.mockito.Mockito;
 
 public class TestUtilModuleWithEmbeddedDB extends TestUtilModule {
@@ -62,7 +56,7 @@ public class TestUtilModuleWithEmbeddedDB extends TestUtilModule {
         }
     }
 
-    private static class InfoModuleWithPluginInfoApi extends InfoModule {
+    private static class InfoModuleWithPluginInfoApi extends NodesModule {
 
         public InfoModuleWithPluginInfoApi(final KillbillConfigSource configSource) {
             super(configSource);
diff --git a/util/src/test/java/org/killbill/billing/util/UtilTestSuiteWithEmbeddedDB.java b/util/src/test/java/org/killbill/billing/util/UtilTestSuiteWithEmbeddedDB.java
index 082644a..5e15c74 100644
--- a/util/src/test/java/org/killbill/billing/util/UtilTestSuiteWithEmbeddedDB.java
+++ b/util/src/test/java/org/killbill/billing/util/UtilTestSuiteWithEmbeddedDB.java
@@ -32,7 +32,7 @@ import org.killbill.billing.util.customfield.dao.CustomFieldDao;
 import org.killbill.billing.util.dao.NonEntityDao;
 import org.killbill.billing.util.export.dao.DatabaseExportDao;
 import org.killbill.billing.util.glue.TestUtilModuleWithEmbeddedDB;
-import org.killbill.billing.util.info.dao.NodeInfoDao;
+import org.killbill.billing.util.nodes.dao.NodeInfoDao;
 import org.killbill.billing.util.tag.dao.DefaultTagDao;
 import org.killbill.billing.util.tag.dao.TagDefinitionDao;
 import org.killbill.bus.api.PersistentBus;