Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
*/
public class Constants {

public static final String SUPER_TENANT_SERVICE = "super.tenant.service";
public static final String METADATASERVICE_CONFIG_FILE_NAME = "metadataservice.xml";
public static final String METADATASERVICE_CONFIG_FILE_NAME = "metadataservice.xml";

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package org.apache.stratos.metadataservice.definition;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.xml.bind.annotation.XmlRootElement;

Expand All @@ -20,24 +22,15 @@ public class CartridgeMetaData {

public String version;

public List<PropertyBean> properties;
public String properties;

@Override
public String toString() {

return "applicationName: " + applicationName + ", displayName: " + displayName +
", description: " + description + ", type: " + type + ", provider: " + provider +
", host: " + host + ", Version: " + version + ", properties: " + getProperties();
", host: " + host + ", Version: " + version + ", properties: " + properties;
}

private String getProperties() {

StringBuilder propertyBuilder = new StringBuilder();
if (properties != null) {
for (PropertyBean propertyBean : properties) {
propertyBuilder.append(propertyBean.toString());
}
}
return propertyBuilder.toString();
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.stratos.metadataservice.listener;

/*
*
* Licensed to the Apache Software Foundation (ASF) under one
Expand All @@ -20,6 +18,9 @@
* under the License.
*/

package org.apache.stratos.metadataservice.listener;

import org.apache.commons.configuration.XMLConfiguration;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.messaging.event.Event;
Expand All @@ -29,7 +30,8 @@
import org.apache.stratos.messaging.listener.topology.MemberTerminatedEventListener;
import org.apache.stratos.messaging.message.receiver.topology.TopologyEventReceiver;
import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
import org.apache.stratos.metadataservice.services.MetaDataAdmin;
import org.apache.stratos.metadataservice.registry.DataRegistryFactory;
import org.apache.stratos.metadataservice.util.ConfUtil;

/**
* Cartridge agent runnable.
Expand All @@ -38,7 +40,6 @@ public class TopologyAgent implements Runnable {

private static final Log log = LogFactory.getLog(TopologyAgent.class);

private boolean terminated;

@Override
public void run() {
Expand All @@ -51,10 +52,24 @@ public void run() {

}

protected void registerTopologyEventListeners() {
/**
* Register the topology event listener
*/
private void registerTopologyEventListeners() {
final String defaultRegType = "carbon";

XMLConfiguration conf;
log.info("==================Starting topology event message receiver thread=================");
if (log.isDebugEnabled()) {
log.debug("Starting topology event message receiver thread");
}
conf = ConfUtil.getInstance(null).getConfiguration();

final String registryType =
conf.getString("metadataservice.govenanceregistrytype",
defaultRegType);


TopologyEventReceiver topologyEventReceiver = new TopologyEventReceiver();

topologyEventReceiver.addEventListener(new MemberTerminatedEventListener() {
Expand All @@ -71,7 +86,7 @@ protected void onEvent(Event event) {
log.debug("Terminated event :::::::::::::::::::: " +
memberTerminatedEvent.getServiceName());
}
new MetaDataAdmin().removeCartridgeMetaDataDetails("appA", "php");
DataRegistryFactory.getDataRegistryFactory(registryType).removeCartridgeMetaDataDetails("appA", "php");

} catch (Exception e) {
if (log.isErrorEnabled()) {
Expand All @@ -93,7 +108,8 @@ protected void onEvent(Event event) {
log.debug("Member suspended event received");
}
MemberSuspendedEvent memberSuspendedEvent = (MemberSuspendedEvent) event;
// extensionHandler.onMemberSuspendedEvent(memberSuspendedEvent);
//TODO : Add the funtionalilty for the suspended event

} catch (Exception e) {
if (log.isErrorEnabled()) {
log.error("Error processing member suspended event", e);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,31 @@
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF 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.apache.stratos.metadataservice.listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.messaging.event.Event;
import org.apache.stratos.messaging.event.topology.MemberStartedEvent;
import org.apache.stratos.messaging.event.topology.MemberSuspendedEvent;
import org.apache.stratos.messaging.event.topology.MemberTerminatedEvent;
import org.apache.stratos.messaging.listener.topology.MemberStartedEventListener;
import org.apache.stratos.messaging.listener.topology.MemberSuspendedEventListener;
import org.apache.stratos.messaging.listener.topology.MemberTerminatedEventListener;
import org.apache.stratos.messaging.message.receiver.topology.TopologyEventReceiver;
import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
import org.apache.stratos.metadataservice.services.MetaDataAdmin;

public class TopologyListener implements ServletContextListener {

Expand All @@ -23,6 +34,10 @@ public class TopologyListener implements ServletContextListener {
private TopologyAgent topologyThread = null;
private Thread thread = null;

/**
* Initialization of the context
* @param arg0 ServletContextEvent
*/
@Override
public void contextInitialized(ServletContextEvent arg0) {
log.info("Topology literner started....");
Expand All @@ -39,88 +54,16 @@ public void contextInitialized(ServletContextEvent arg0) {

}

/**
* Destroy the context
* @param arg0 ServletContextEvent
*/
@Override
public void contextDestroyed(ServletContextEvent arg0) {
public void contextDestroyed(ServletContextEvent arg0)
{
thread.stop();
}

protected void registerTopologyEventListeners() {
if (log.isDebugEnabled()) {
log.debug("Starting topology event message receiver thread");
}
TopologyEventReceiver topologyEventReceiver = new TopologyEventReceiver();

topologyEventReceiver.addEventListener(new MemberTerminatedEventListener() {
@Override
protected void onEvent(Event event) {
try {
TopologyManager.acquireReadLock();
if (log.isDebugEnabled()) {
log.debug("Member terminated event received");
}
MemberTerminatedEvent memberTerminatedEvent = (MemberTerminatedEvent) event;
if(log.isDebugEnabled()){
log.info("Terminated event :::::::::::::::::::: " +
memberTerminatedEvent.getServiceName());
}
new MetaDataAdmin().removeCartridgeMetaDataDetails("appA", "php");

// extensionHandler.onMemberTerminatedEvent(memberTerminatedEvent);
} catch (Exception e) {
if (log.isErrorEnabled()) {
log.error("Error processing member terminated event", e);
}
} finally {
TopologyManager.releaseReadLock();
}
}
});

topologyEventReceiver.addEventListener(new MemberSuspendedEventListener() {
@Override
protected void onEvent(Event event) {
try {
TopologyManager.acquireReadLock();
if (log.isDebugEnabled()) {
log.debug("Member suspended event received");
}
MemberSuspendedEvent memberSuspendedEvent = (MemberSuspendedEvent) event;
// extensionHandler.onMemberSuspendedEvent(memberSuspendedEvent);
} catch (Exception e) {
if (log.isErrorEnabled()) {
log.error("Error processing member suspended event", e);
}
} finally {
TopologyManager.releaseReadLock();
}
}
});

topologyEventReceiver.addEventListener(new MemberStartedEventListener() {
@Override
protected void onEvent(Event event) {
try {
TopologyManager.acquireReadLock();
if (log.isDebugEnabled()) {
log.debug("Member started event received");
}
MemberStartedEvent memberStartedEvent = (MemberStartedEvent) event;
// extensionHandler.onMemberStartedEvent(memberStartedEvent);
} catch (Exception e) {
if (log.isErrorEnabled()) {
log.error("Error processing member started event", e);
}
} finally {
TopologyManager.releaseReadLock();
}
}
});

Thread thread = new Thread(topologyEventReceiver);
thread.start();
if (log.isDebugEnabled()) {
log.info("Cartridge Agent topology receiver thread started");
}
}

}
Loading