outdated Java agent code removed
authorVictor Kirhenshtein <victor@netxms.org>
Thu, 6 Oct 2016 13:48:41 +0000 (16:48 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Thu, 6 Oct 2016 13:48:41 +0000 (16:48 +0300)
16 files changed:
src/java/netxms-agent/pom.xml [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/Engine.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/ItemParameter.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/ItemParameterProvider.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/ListParameter.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/ListProvider.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/Parameter.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/ParameterType.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/SampleExternalSubAgent.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/Standalone.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/internal/MessageConsumer.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/internal/RCC.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/internal/parameters/AgentVersion.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/transport/Connector.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/transport/PipeConnector.java [deleted file]
src/java/netxms-agent/src/main/java/org/netxms/agent/transport/SocketConnector.java [deleted file]

diff --git a/src/java/netxms-agent/pom.xml b/src/java/netxms-agent/pom.xml
deleted file mode 100644 (file)
index 78b42a6..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-       <parent>
-               <groupId>org.netxms</groupId>
-               <artifactId>netxms</artifactId>
-               <version>1.0-SNAPSHOT</version>
-       </parent>
-
-       <modelVersion>4.0.0</modelVersion>
-       <groupId>org.netxms</groupId>
-       <artifactId>netxms-agent</artifactId>
-       <packaging>jar</packaging>
-       <version>${parent.version}</version>
-       <name>NetXMS Java Agent</name>
-       <url>http://www.netxms.org</url>
-       
-       <build>
-               <plugins>
-                       <plugin>
-                       <groupId>org.apache.maven.plugins</groupId>
-                       <artifactId>maven-compiler-plugin</artifactId>
-                       <configuration>
-                               <source>1.6</source>
-                               <target>1.6</target>
-                       </configuration>
-                       </plugin>
-               </plugins>
-       </build>
-       
-       <dependencies>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>slf4j-api</artifactId>
-                       <version>1.6.1</version>
-               </dependency>
-               <dependency>
-                       <groupId>ch.qos.logback</groupId>
-                       <artifactId>logback-classic</artifactId>
-                       <version>0.9.28</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.netxms</groupId>
-                       <artifactId>netxms-base</artifactId>
-                       <version>${version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>junit</groupId>
-                       <artifactId>junit</artifactId>
-                       <version>3.8.1</version>
-                       <scope>test</scope>
-               </dependency>
-       </dependencies>
-
-       <reporting>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-javadoc-plugin</artifactId>
-                       </plugin>
-               </plugins>
-       </reporting>
-
-       <properties>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-       </properties>
-
-</project>
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/Engine.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/Engine.java
deleted file mode 100644 (file)
index e8463fe..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent;
-
-import org.netxms.agent.internal.MessageConsumer;
-import org.netxms.agent.internal.RCC;
-import org.netxms.agent.transport.Connector;
-import org.netxms.base.NXCPCodes;
-import org.netxms.base.NXCPMessage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-public final class Engine implements MessageConsumer {
-
-    private final Logger log = LoggerFactory.getLogger(Engine.class);
-
-    private class ArgumentParser {
-        private String request;
-        private String parameterName;
-        private String argument;
-
-        private ArgumentParser(final String request) {
-            this.request = request;
-        }
-
-        public String getParameterName() {
-            return parameterName;
-        }
-
-        public String getArgument() {
-            return argument;
-        }
-
-        public ArgumentParser invoke() {
-            final int leftBracket = request.indexOf('(');
-            if (leftBracket != -1) {
-                parameterName = request.substring(0, leftBracket).toLowerCase();
-                final int rightBracket = request.indexOf(')');
-                if (rightBracket != -1) {
-                    argument = request.substring(leftBracket, rightBracket);
-                } else {
-                    argument = request.substring(leftBracket);
-                }
-            } else {
-                parameterName = request.toLowerCase();
-                argument = "";
-            }
-            return this;
-        }
-    }
-
-    private final Connector connector;
-    private final Set<ItemParameterProvider> parameterProviders = new HashSet<ItemParameterProvider>(0);
-    private final Set<ListProvider> listProviders = new HashSet<ListProvider>(0);
-    private Map<String, Parameter> parameterMap = new HashMap<String, Parameter>(0);
-    private Map<String, Parameter> listMap = new HashMap<String, Parameter>(0);
-
-    public Engine(final Connector connector) {
-        this.connector = connector;
-    }
-
-    void start() {
-        connector.setMessageConsumer(this);
-        connector.start();
-    }
-
-    void stop() {
-        connector.stop();
-    }
-
-    void registerParameterProvider(final ItemParameterProvider provider) {
-        for (final Parameter parameter : provider.getItemParameters()) {
-            parameterMap.put(parameter.getName().toLowerCase(), parameter);
-        }
-        parameterProviders.add(provider);
-    }
-
-    void registerListParameterProvider(final ListProvider provider) {
-        for (final Parameter parameter : provider.getListParameters()) {
-            listMap.put(parameter.getName().toLowerCase(), parameter);
-        }
-        listProviders.add(provider);
-    }
-
-    @Override
-    public void processMessage(final NXCPMessage message) {
-        final int messageCode = message.getMessageCode();
-        log.debug("Message received: {}", messageCode);
-        final NXCPMessage response = new NXCPMessage(NXCPCodes.CMD_REQUEST_COMPLETED, message.getMessageId());
-        //noinspection CatchGenericClass
-        try {
-            internalProcessMessage(message, response);
-        } catch (Exception e) {
-            log.error("Command processing produced exception", e);
-            response.setVariableInt32(NXCPCodes.VID_RCC, RCC.INTERNAL_ERROR);
-        }
-        connector.sendMessage(response);
-    }
-
-    private void internalProcessMessage(final NXCPMessage message, final NXCPMessage response) {
-        switch (message.getMessageCode()) {
-            case NXCPCodes.CMD_KEEPALIVE:
-                response.setVariableInt32(NXCPCodes.VID_RCC, RCC.SUCCESS);
-                break;
-            case NXCPCodes.CMD_GET_PARAMETER_LIST:
-                processGetParameterList(response);
-                break;
-            case NXCPCodes.CMD_GET_PARAMETER: {
-                final String request = message.getVariableAsString(NXCPCodes.VID_PARAMETER);
-                processGetParameter(response, request);
-                break;
-            }
-            case NXCPCodes.CMD_GET_LIST: {
-                final String request = message.getVariableAsString(NXCPCodes.VID_PARAMETER);
-                processGetList(response, request);
-                break;
-            }
-            case NXCPCodes.CMD_GET_TABLE:
-                // unsupported
-            default:
-                response.setVariableInt32(NXCPCodes.VID_RCC, RCC.UNKNOWN_COMMAND);
-                break;
-        }
-    }
-
-    private void processGetParameterList(final NXCPMessage response) {
-        response.setVariableInt32(NXCPCodes.VID_RCC, RCC.SUCCESS);
-        fillParameterListMessage(response);
-        connector.sendMessage(response);
-    }
-
-    private void fillParameterListMessage(final NXCPMessage response) {
-        final List<Parameter> parameters = new ArrayList<Parameter>(0);
-        for (final ItemParameterProvider parameterProvider : parameterProviders) {
-            parameters.addAll(parameterProvider.getItemParameters());
-        }
-
-        response.setVariableInt32(NXCPCodes.VID_NUM_PARAMETERS, parameters.size());
-        long variableId = NXCPCodes.VID_PARAM_LIST_BASE;
-        for (final Parameter parameter : parameters) {
-            response.setVariable(variableId++, parameter.getName());
-            response.setVariable(variableId++, parameter.getDescription());
-            response.setVariableInt16(variableId++, parameter.getType().getValue());
-        }
-    }
-
-    private void processGetParameter(final NXCPMessage response, final String request) {
-        final ArgumentParser argumentParser = new ArgumentParser(request).invoke();
-        final String parameterName = argumentParser.getParameterName();
-        final String argument = argumentParser.getArgument();
-
-        if (parameterMap.containsKey(parameterName)) {
-            final Parameter parameter = parameterMap.get(parameterName);
-            final String value = parameter.getValue(argument);
-            if (value != null) {
-                response.setVariableInt32(NXCPCodes.VID_RCC, RCC.SUCCESS);
-                response.setVariable(NXCPCodes.VID_VALUE, value);
-            } else {
-                response.setVariableInt32(NXCPCodes.VID_RCC, RCC.INTERNAL_ERROR);
-            }
-        } else {
-            response.setVariableInt32(NXCPCodes.VID_RCC, RCC.UNKNOWN_PARAMETER);
-        }
-    }
-
-    private void processGetList(final NXCPMessage response, final String request) {
-        final ArgumentParser argumentParser = new ArgumentParser(request).invoke();
-        final String parameterName = argumentParser.getParameterName();
-        final String argument = argumentParser.getArgument();
-
-        if (listMap.containsKey(parameterName)) {
-            final Parameter parameter = listMap.get(parameterName);
-            final String[] value = parameter.getListValue(argument);
-            if (value != null) {
-                response.setVariableInt32(NXCPCodes.VID_RCC, RCC.SUCCESS);
-                response.setVariableInt32(NXCPCodes.VID_NUM_STRINGS, value.length);
-                for (int i = 0, valueLength = value.length; i < valueLength; i++) {
-                    response.setVariable(NXCPCodes.VID_ENUM_VALUE_BASE + (long) i, value[i]);
-                }
-            } else {
-                response.setVariableInt32(NXCPCodes.VID_RCC, RCC.INTERNAL_ERROR);
-            }
-        } else {
-            response.setVariableInt32(NXCPCodes.VID_RCC, RCC.UNKNOWN_PARAMETER);
-        }
-    }
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/ItemParameter.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/ItemParameter.java
deleted file mode 100644 (file)
index 23a8cc0..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent;
-
-public abstract class ItemParameter extends Parameter {
-
-    /**
-     * @param name        Parameter name WITHOUT brackets (for parameters with arguments)
-     * @param description Parameter description
-     * @param type        Return type
-     */
-    protected ItemParameter(final String name, final String description, final ParameterType type) {
-        super(name, description, type);
-    }
-
-    @Override
-    public String[] getListValue(final String argument) {
-        return null;
-    }
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/ItemParameterProvider.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/ItemParameterProvider.java
deleted file mode 100644 (file)
index f173bc2..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent;
-
-import java.util.List;
-
-public interface ItemParameterProvider {
-
-    List<Parameter> getItemParameters();
-
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/ListParameter.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/ListParameter.java
deleted file mode 100644 (file)
index ae5339d..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent;
-
-public abstract class ListParameter extends Parameter {
-
-    /**
-     * @param name        Parameter name WITHOUT brackets (for parameters with arguments)
-     * @param description Parameter description
-     * @param type        Return type
-     */
-    protected ListParameter(final String name, final String description, final ParameterType type) {
-        super(name, description, type);
-    }
-
-    @Override
-    public String getValue(final String argument) {
-        return null;
-    }
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/ListProvider.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/ListProvider.java
deleted file mode 100644 (file)
index 90b58d4..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent;
-
-import java.util.List;
-
-public interface ListProvider {
-
-    List<Parameter> getListParameters();
-
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/Parameter.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/Parameter.java
deleted file mode 100644 (file)
index b2a3b59..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent;
-
-/**
- * Agent's parameter
- */
-public abstract class Parameter {
-
-    private String name;
-    private String description;
-    private ParameterType type;
-
-    /**
-     * @param name        Parameter name WITHOUT brackets (for parameters with arguments)
-     * @param description Parameter description
-     * @param type        Return type
-     */
-    protected Parameter(final String name, final String description, final ParameterType type) {
-        this.name = name;
-        this.description = description;
-        this.type = type;
-    }
-
-    /**
-     * @return the name
-     */
-    public String getName() {
-        return name;
-    }
-
-    /**
-     * @return the description
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /**
-     * @return the type
-     */
-    public ParameterType getType() {
-        return type;
-    }
-
-    /**
-     * Value provider for parameter
-     *
-     * @param argument Argument provided by user. Can be empty string for parameter without arguments
-     * @return String value or null in case of error
-     */
-    public abstract String getValue(final String argument);
-
-    /**
-     * Value provider for list argument
-     *
-     * @param argument Argument provided by user. Can be empty string for parameter without arguments
-     * @return List of String values or null in case of error
-     */
-    public abstract String[] getListValue(final String argument);
-
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/ParameterType.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/ParameterType.java
deleted file mode 100644 (file)
index 3c5e472..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent;
-
-public enum ParameterType {
-
-    INT(0),
-    UINT(1),
-    INT64(2),
-    UINT64(3),
-    STRING(4),
-    FLOAT(5),
-    NULL(6);
-
-    private int value;
-
-    ParameterType(final int value) {
-        this.value = value;
-    }
-
-    public int getValue() {
-        return value;
-    }
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/SampleExternalSubAgent.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/SampleExternalSubAgent.java
deleted file mode 100644 (file)
index 819bbbb..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent;
-
-import org.netxms.agent.transport.Connector;
-import org.netxms.agent.transport.PipeConnector;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-public class SampleExternalSubAgent implements ItemParameterProvider, ListProvider {
-    public static void main(final String[] args) throws IOException {
-        new SampleExternalSubAgent().start();
-    }
-
-    private void start() throws IOException {
-        final Connector connector = new PipeConnector("java");
-        final Engine engine = new Engine(connector);
-        engine.registerParameterProvider(this);
-        engine.registerListParameterProvider(this);
-        engine.start();
-
-        System.out.println("Started, press <Enter> to stop");
-
-        //noinspection ResultOfMethodCallIgnored
-        System.in.read();
-
-        System.out.println("Stopping");
-
-        engine.stop();
-    }
-
-    @Override
-    public List<Parameter> getListParameters() {
-        return new ArrayList<Parameter>(0);
-    }
-
-    @Override
-    public List<Parameter> getItemParameters() {
-        final List<Parameter> parameters = new ArrayList<Parameter>(3);
-        parameters.add(new ItemParameter("Java.Parameter1", "Description 1", ParameterType.INT) {
-            @Override
-            public String getValue(final String argument) {
-                return "123";
-            }
-        });
-        parameters.add(new ItemParameter("Java.Parameter2", "Description 2", ParameterType.STRING) {
-            @Override
-            public String getValue(final String argument) {
-                return "some string";
-            }
-        });
-        parameters.add(new ListParameter("Java.List", "Sample List", ParameterType.STRING) {
-            @Override
-            public String[] getListValue(final String argument) {
-                return new String[]{"line1", "line2", "line3"};
-            }
-        });
-        return parameters;
-    }
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/Standalone.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/Standalone.java
deleted file mode 100644 (file)
index 68239bb..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent;
-
-import org.netxms.agent.internal.parameters.AgentVersion;
-import org.netxms.agent.transport.Connector;
-import org.netxms.agent.transport.SocketConnector;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-public final class Standalone implements ItemParameterProvider {
-
-    private final Logger log = LoggerFactory.getLogger(Standalone.class);
-    private static final int PORT = 4700;
-
-    public static void main(final String[] args) {
-        new Standalone().start(args);
-    }
-
-    private void start(final String[] args) {
-        final Connector connector = new SocketConnector(PORT);
-        final Engine engine = new Engine(connector);
-
-        engine.registerParameterProvider(this);
-
-        engine.start();
-
-        System.out.println("Started, press <Enter> to stop");
-
-        try {
-            //noinspection ResultOfMethodCallIgnored
-            System.in.read();
-        } catch (IOException e) {
-            // ignore
-        }
-
-        System.out.println("Stopping");
-
-        engine.stop();
-    }
-
-    @Override
-    public List<Parameter> getItemParameters() {
-        final List<Parameter> parameters = new ArrayList<Parameter>(3);
-        parameters.add(new AgentVersion());
-        return parameters;
-    }
-
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/internal/MessageConsumer.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/internal/MessageConsumer.java
deleted file mode 100644 (file)
index 299dd86..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent.internal;
-
-import org.netxms.base.NXCPMessage;
-
-public interface MessageConsumer {
-
-    void processMessage(NXCPMessage message);
-
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/internal/RCC.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/internal/RCC.java
deleted file mode 100644 (file)
index 9148564..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent.internal;
-
-/**
- * Request completion codes for agent
- */
-public class RCC
-{
-       public static final int SUCCESS               = 0;
-       public static final int UNKNOWN_COMMAND       = 400;
-       public static final int AUTH_REQUIRED         = 401;
-       public static final int ACCESS_DENIED         = 403;
-       public static final int UNKNOWN_PARAMETER     = 404;
-       public static final int REQUEST_TIMEOUT       = 408;
-       public static final int AUTH_FAILED           = 440;
-       public static final int ALREADY_AUTHENTICATED = 441;
-       public static final int AUTH_NOT_REQUIRED     = 442;
-       public static final int INTERNAL_ERROR        = 500;
-       public static final int NOT_IMPLEMENTED       = 501;
-       public static final int OUT_OF_RESOURCES      = 503;
-       public static final int NOT_CONNECTED         = 900;
-       public static final int CONNECTION_BROKEN     = 901;
-       public static final int BAD_RESPONSE          = 902;
-       public static final int IO_FAILURE            = 903;
-       public static final int RESOURCE_BUSY         = 904;
-       public static final int EXEC_FAILED           = 905;
-       public static final int ENCRYPTION_REQUIRED   = 906;
-       public static final int NO_CIPHERS            = 907;
-       public static final int INVALID_PUBLIC_KEY    = 908;
-       public static final int INVALID_SESSION_KEY   = 909;
-       public static final int CONNECT_FAILED        = 910;
-       public static final int MALFORMED_COMMAND     = 911;
-       public static final int SOCKET_ERROR          = 912;
-       public static final int BAD_ARGUMENTS         = 913;
-       public static final int SUBAGENT_LOAD_FAILED  = 914;
-       public static final int FILE_OPEN_ERROR       = 915;
-       public static final int FILE_STAT_FAILED      = 916;
-       public static final int MEM_ALLOC_FAILED      = 917;
-       public static final int FILE_DELETE_FAILED    = 918;
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/internal/parameters/AgentVersion.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/internal/parameters/AgentVersion.java
deleted file mode 100644 (file)
index 49bcc1f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.netxms.agent.internal.parameters;
-
-import org.netxms.agent.ItemParameter;
-import org.netxms.agent.ParameterType;
-
-public class AgentVersion extends ItemParameter {
-
-    public AgentVersion() {
-        super("Agent.Version", "Agent Version", ParameterType.STRING);
-    }
-
-    @Override
-    public String getValue(final String argument) {
-        return "1.1.10";
-    }
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/transport/Connector.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/transport/Connector.java
deleted file mode 100644 (file)
index b488723..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent.transport;
-
-import org.netxms.agent.internal.MessageConsumer;
-import org.netxms.base.NXCPMessage;
-
-public interface Connector {
-
-    void setMessageConsumer(MessageConsumer consumer);
-
-    boolean sendMessage(NXCPMessage message);
-
-    void start();
-
-    void stop();
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/transport/PipeConnector.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/transport/PipeConnector.java
deleted file mode 100644 (file)
index 826ed20..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent.transport;
-
-import org.netxms.agent.internal.MessageConsumer;
-import org.netxms.base.NXCPMessage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-
-public class PipeConnector implements Connector {
-
-    private final Logger log = LoggerFactory.getLogger(PipeConnector.class);
-
-    private volatile boolean shutdown;
-    private Thread workerThread;
-    private Worker worker;
-    private MessageConsumer messageConsumer;
-
-    private String pipeName;
-
-
-    private class Worker implements Runnable {
-
-        private RandomAccessFile pipe;
-        private static final int MESSAGE_BUFFER_SIZE = 8192;
-
-        @Override
-        public void run() {
-            while (!shutdown) {
-                if (pipe == null) {
-                    connect();
-                }
-
-                if (pipe != null) {
-                    try {
-                        if (pipe.length() > 0L) {
-                            final byte[] bytes = new byte[MESSAGE_BUFFER_SIZE];
-                            final int bytesRead = pipe.read(bytes);
-                            log.debug("Got {} bytes from pipe", bytesRead);
-                            if (bytesRead > 0) {
-                                final NXCPMessage message = new NXCPMessage(bytes);
-                                messageConsumer.processMessage(message);
-                            }
-                        } else {
-                            sleep(100L);
-                        }
-                    } catch (IOException e) {
-                        log.info("Cannot read from pipe");
-                        pipe = null;
-                    }
-                }
-            }
-
-            if (pipe != null) {
-                try {
-                    pipe.close();
-                } catch (IOException e) {
-                    log.error("Cannot close pipe");
-                }
-            }
-        }
-
-        private void sleep(final long time) {
-            try {
-                Thread.sleep(time);
-            } catch (InterruptedException e) {
-                // ignore
-            }
-        }
-
-        private void connect() {
-            try {
-                //noinspection IOResourceOpenedButNotSafelyClosed
-                pipe = new RandomAccessFile(pipeName, "rw");
-                log.debug("Pipe {} connected", pipeName);
-            } catch (FileNotFoundException e) {
-                pipe = null;
-                log.info("Cannot open pipe {}, retrying", pipeName);
-                sleep(1000L);
-            }
-        }
-
-        public boolean sendMessage(final NXCPMessage message) {
-            boolean ret = false;
-
-            if (pipe != null) {
-                try {
-                    final byte[] data = message.createNXCPMessage();
-                    pipe.write(data);
-                    ret = true;
-                } catch (IOException e) {
-                    ret = false;
-                    try {
-                        pipe.close();
-                    } catch (IOException e1) {
-                        log.error("Cannot close pipe");
-                    }
-                    pipe = null;
-                }
-            }
-
-            return ret;
-        }
-    }
-
-    public PipeConnector(final String name) {
-        pipeName = "\\\\\\\\.\\\\pipe\\\\nxagentd.subagent." + name;
-    }
-
-    @Override
-    public void setMessageConsumer(final MessageConsumer consumer) {
-        messageConsumer = consumer;
-    }
-
-    @Override
-    public boolean sendMessage(final NXCPMessage message) {
-        log.debug("Sending message {}, id={}", message.getMessageCode(), message.getMessageId());
-        return worker.sendMessage(message);
-    }
-
-    @Override
-    public void start() {
-        worker = new Worker();
-        workerThread = new Thread(worker);
-        workerThread.start();
-    }
-
-    @Override
-    public void stop() {
-        shutdown = true;
-        try {
-            workerThread.join();
-        } catch (InterruptedException e) {
-            // ignore
-        }
-    }
-}
diff --git a/src/java/netxms-agent/src/main/java/org/netxms/agent/transport/SocketConnector.java b/src/java/netxms-agent/src/main/java/org/netxms/agent/transport/SocketConnector.java
deleted file mode 100644 (file)
index e555c97..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2012 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.agent.transport;
-
-import org.netxms.agent.internal.MessageConsumer;
-import org.netxms.base.NXCPMessage;
-
-public class SocketConnector implements Connector {
-
-    public SocketConnector(final int port) {
-    }
-
-    @Override
-    public void setMessageConsumer(final MessageConsumer consumer) {
-    }
-
-    @Override
-    public boolean sendMessage(final NXCPMessage message) {
-        return false;
-    }
-
-    @Override
-    public void start() {
-    }
-
-    @Override
-    public void stop() {
-    }
-}