Android Open Source - ironcontrol-for-android Metadata Builder Activity






From Project

Back to project page ironcontrol-for-android.

License

The source code is released under:

Apache License

If you think the Android project ironcontrol-for-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * #%L/*from  w w w  .  j av a  2  s.c  o  m*/
 * =====================================================
 *   _____                _     ____  _   _       _   _
 *  |_   _|_ __ _   _ ___| |_  / __ \| | | | ___ | | | |
 *    | | | '__| | | / __| __|/ / _` | |_| |/ __|| |_| |
 *    | | | |  | |_| \__ \ |_| | (_| |  _  |\__ \|  _  |
 *    |_| |_|   \__,_|___/\__|\ \__,_|_| |_||___/|_| |_|
 *                             \____/
 * 
 * =====================================================
 * 
 * Hochschule Hannover
 * (University of Applied Sciences and Arts, Hannover)
 * Faculty IV, Dept. of Computer Science
 * Ricklinger Stadtweg 118, 30459 Hannover, Germany
 * 
 * Email: trust@f4-i.fh-hannover.de
 * Website: http://trust.f4.hs-hannover.de/
 * 
 * This file is part of ironcontrol for android, version 1.0.1, implemented by the Trust@HsH research group at the Hochschule Hannover.
 * %%
 * Copyright (C) 2013 Trust@HsH
 * %%
 * Licensed 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.
 * #L%
 */
package de.hshannover.f4.trust.ironcontrol.view;

import java.util.ArrayList;

import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.text.InputType;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import de.hshannover.f4.trust.ironcontrol.R;
import de.hshannover.f4.trust.ironcontrol.database.DBContentProvider;
import de.hshannover.f4.trust.ironcontrol.database.entities.MetaAttributes;
import de.hshannover.f4.trust.ironcontrol.database.entities.VendorMetadata;
import de.hshannover.f4.trust.ironcontrol.logger.Level;
import de.hshannover.f4.trust.ironcontrol.logger.Logger;
import de.hshannover.f4.trust.ironcontrol.logger.LoggerFactory;
import de.hshannover.f4.trust.ironcontrol.view.util.MetaDataEditText;

public class MetadataBuilderActivity extends Activity {

  private static final Logger logger = LoggerFactory.getLogger(MetadataBuilderActivity.class);

  private LinearLayout linearLayoutForMetadataValueFields;
  private TextView tvRemoveValueField, tvAddValueField;
  private ArrayList<EditText> listMetadataEditText = new ArrayList<EditText>();
  private EditText metadataName;
  private RadioGroup rgType;
  private String itemId;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_metadata_builder);

    readResources();

    // Start Activity with data
    Bundle bundle = getIntent().getExtras();
    if(bundle != null && bundle.getString("listItemId") != null){
      itemId = bundle.getString("listItemId");
      fillActivityViews(itemId);
    }
  }

  private void readResources() {
    // Metadata
    linearLayoutForMetadataValueFields = (LinearLayout)findViewById(R.id.linearLayoutForMetadataValueFields);
    tvAddValueField = (TextView)findViewById(R.id.addElementValueFields);
    tvRemoveValueField = (TextView)findViewById(R.id.removeElementValueFields);
    metadataName = (EditText)findViewById(R.id.editTextMetaDataName);
    rgType = (RadioGroup)findViewById(R.id.radioGroupType);

    addTextViewListenner();
  }

  private void addTextViewListenner() {
    tvAddValueField.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        String hint = getResources().getString(R.string.field_name);
        listMetadataEditText.add(new MetaDataEditText(getBaseContext(), hint, InputType.TYPE_CLASS_TEXT, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
        linearLayoutForMetadataValueFields.addView(listMetadataEditText.get(listMetadataEditText.size()-1));
        System.out.println("add");
      }
    });

    tvRemoveValueField.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        if(listMetadataEditText.size() > 0){
          linearLayoutForMetadataValueFields.removeView(listMetadataEditText.get(listMetadataEditText.size()-1));
          listMetadataEditText.remove(listMetadataEditText.get(listMetadataEditText.size()-1));
          System.out.println("remove");
        }
      }
    });
  }

  public void saveMetadata(View view){
    if(itemId == null){
      // save
      ContentValues metaValues = new ContentValues();

      metaValues.put(VendorMetadata.COLUMN_NAME, metadataName.getText().toString());
      metaValues.put(VendorMetadata.COLUMN_PREFIX, "TODOPREFIX");
      metaValues.put(VendorMetadata.COLUMN_URI, "TODOURI");

      switch (rgType.getCheckedRadioButtonId()) {
      case R.id.rbSingleValue : metaValues.put(VendorMetadata.COLUMN_CARDINALITY, "singleValue");
      break;
      case R.id.rbMultiValue : metaValues.put(VendorMetadata.COLUMN_CARDINALITY, "multiValue");
      break;
      }

      Uri metaId = getContentResolver().insert(DBContentProvider.VENDOR_METADATA_URI, metaValues);
      String id = metaId.getLastPathSegment();

      for(EditText et: listMetadataEditText){
        ContentValues metaAttributValues = new ContentValues();
        metaAttributValues.put(MetaAttributes.COLUMN_NAME, et.getText().toString());
        getContentResolver().insert(Uri.parse(DBContentProvider.VENDOR_METADATA_URI + "/" + id + "/" + DBContentProvider.VENDOR_META_ATTRIBUTES), metaAttributValues);
      }

      Toast.makeText(getBaseContext(), "Metadata: " + metadataName.getText() + " " + getResources().getString(R.string.is_saved), Toast.LENGTH_SHORT).show();
    }else {
      // update
      ContentValues metaValues = new ContentValues();

      metaValues.put(VendorMetadata.COLUMN_NAME, metadataName.getText().toString());
      metaValues.put(VendorMetadata.COLUMN_PREFIX, "TODOPREFIX");
      metaValues.put(VendorMetadata.COLUMN_URI, "TODOURI");

      switch (rgType.getCheckedRadioButtonId()) {
      case R.id.rbSingleValue : metaValues.put(VendorMetadata.COLUMN_CARDINALITY, "singleValue");
      break;
      case R.id.rbMultiValue : metaValues.put(VendorMetadata.COLUMN_CARDINALITY, "multiValue");
      break;
      }

      getContentResolver().update(Uri.parse(DBContentProvider.VENDOR_METADATA_URI + "/" + itemId), metaValues, null, null);

      for(EditText et: listMetadataEditText){
        ContentValues metaAttributValues = new ContentValues();
        metaAttributValues.put(MetaAttributes.COLUMN_NAME, et.getText().toString());
        try{
          getContentResolver().update(Uri.parse(DBContentProvider.VENDOR_METADATA_URI + "/" + itemId + "/" + DBContentProvider.VENDOR_META_ATTRIBUTES + "/" + et.getTag().toString()), metaAttributValues, null, null);
        }catch (IllegalArgumentException e) {
          // For new attributes
          logger.log(Level.DEBUG, "New attribute, try insert", e);
          getContentResolver().insert(Uri.parse(DBContentProvider.VENDOR_METADATA_URI + "/" + itemId + "/" + DBContentProvider.VENDOR_META_ATTRIBUTES), metaAttributValues);
        }
      }

      Toast.makeText(getBaseContext(), "Metadata: " + metadataName.getText() + " " + getResources().getString(R.string.was_update), Toast.LENGTH_SHORT).show();

    }

    finish();
  }

  private void fillActivityViews(String itemId){

    Uri publish_uri = Uri.parse(DBContentProvider.VENDOR_METADATA_URI + "/" + itemId);

    Cursor cursor = getContentResolver().query(
        publish_uri,
        null, null, null, null);

    cursor.moveToNext();

    metadataName.setText(cursor.getString(cursor.getColumnIndex(VendorMetadata.COLUMN_NAME)));
    cursor.close();


    publish_uri = Uri.parse(DBContentProvider.VENDOR_METADATA_URI + "/" + itemId + "/" + DBContentProvider.VENDOR_META_ATTRIBUTES);

    cursor = getContentResolver().query(
        publish_uri,
        null, null, null, null);

    while(cursor.moveToNext()){
      String hint = getResources().getString(R.string.field_name);
      String name = cursor.getString(cursor.getColumnIndex(MetaAttributes.COLUMN_NAME));
      MetaDataEditText etName = new MetaDataEditText(getBaseContext(), hint, InputType.TYPE_CLASS_TEXT, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
      etName.setText(name);
      etName.setTag(cursor.getString(cursor.getColumnIndex(MetaAttributes.COLUMN_ID)));
      listMetadataEditText.add(etName);
      linearLayoutForMetadataValueFields.addView(listMetadataEditText.get(listMetadataEditText.size()-1));
    }

    cursor.close();
  }
}




Java Source Code List

de.hshannover.f4.trust.ironcontrol.asynctask.ConnectionTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.PDP.java
de.hshannover.f4.trust.ironcontrol.asynctask.PublishTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.PublishTestTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.PurgePublisherTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.SearchTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.SubscriptionTask.java
de.hshannover.f4.trust.ironcontrol.database.DBContentProvider.java
de.hshannover.f4.trust.ironcontrol.database.DatabaseHelper.java
de.hshannover.f4.trust.ironcontrol.database.entities.AbstractEntity.java
de.hshannover.f4.trust.ironcontrol.database.entities.Attributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.Connections.java
de.hshannover.f4.trust.ironcontrol.database.entities.IdentifierAttributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.Identifier.java
de.hshannover.f4.trust.ironcontrol.database.entities.MetaAttributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.Requests.java
de.hshannover.f4.trust.ironcontrol.database.entities.Responses.java
de.hshannover.f4.trust.ironcontrol.database.entities.ResultItems.java
de.hshannover.f4.trust.ironcontrol.database.entities.ResultMetaAttributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.ResultMetadata.java
de.hshannover.f4.trust.ironcontrol.database.entities.VendorMetadata.java
de.hshannover.f4.trust.ironcontrol.exceptions.IronControlUncaughtExceptionHandler.java
de.hshannover.f4.trust.ironcontrol.logger.Level.java
de.hshannover.f4.trust.ironcontrol.logger.LogData.java
de.hshannover.f4.trust.ironcontrol.logger.LogReceiver.java
de.hshannover.f4.trust.ironcontrol.logger.LoggerFactory.java
de.hshannover.f4.trust.ironcontrol.logger.Logger.java
de.hshannover.f4.trust.ironcontrol.logger.appander.Appender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogCatAppender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogFileAppender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogListAppender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogToastAppender.java
de.hshannover.f4.trust.ironcontrol.logic.Connection.java
de.hshannover.f4.trust.ironcontrol.logic.KeystoreManager.java
de.hshannover.f4.trust.ironcontrol.logic.RequestsController.java
de.hshannover.f4.trust.ironcontrol.logic.ResultNotificationManager.java
de.hshannover.f4.trust.ironcontrol.logic.StoredResponses.java
de.hshannover.f4.trust.ironcontrol.logic.SubscriptionPoller.java
de.hshannover.f4.trust.ironcontrol.logic.data.BuildIdetifiers.java
de.hshannover.f4.trust.ironcontrol.logic.data.Operation.java
de.hshannover.f4.trust.ironcontrol.logic.data.PollReceiver.java
de.hshannover.f4.trust.ironcontrol.logic.data.PollSender.java
de.hshannover.f4.trust.ironcontrol.logic.data.PublishRequestData.java
de.hshannover.f4.trust.ironcontrol.logic.data.RequestData.java
de.hshannover.f4.trust.ironcontrol.logic.data.SearchRequestData.java
de.hshannover.f4.trust.ironcontrol.logic.data.SubscribeRequestData.java
de.hshannover.f4.trust.ironcontrol.view.AdvancedRequestFragment.java
de.hshannover.f4.trust.ironcontrol.view.ConnectionFragmentActivity.java
de.hshannover.f4.trust.ironcontrol.view.MainActivity.java
de.hshannover.f4.trust.ironcontrol.view.MetadataBuilderActivity.java
de.hshannover.f4.trust.ironcontrol.view.PublishActivity.java
de.hshannover.f4.trust.ironcontrol.view.SearchButtonFragment.java
de.hshannover.f4.trust.ironcontrol.view.SearchFragmentActivity.java
de.hshannover.f4.trust.ironcontrol.view.SettingsActivity.java
de.hshannover.f4.trust.ironcontrol.view.SimpleRequestFragment.java
de.hshannover.f4.trust.ironcontrol.view.SubscribeButtonFragment.java
de.hshannover.f4.trust.ironcontrol.view.SubscribeFragmentActivity.java
de.hshannover.f4.trust.ironcontrol.view.TabFragment.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceDialogEvent.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceListDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceListEvent.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoicePublishDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceRemoveDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceSearchDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceSubscribeDialog.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListHierarchyActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListOverviewActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResponsesActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResultItemsActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResultMetaActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResultMetaAttributesActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListSavedConnectionsActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListSavedPublishsActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListVendorMetadataActivity.java
de.hshannover.f4.trust.ironcontrol.view.logger.LoggerListActivity.java
de.hshannover.f4.trust.ironcontrol.view.logger.LoggerListArrayAdapter.java
de.hshannover.f4.trust.ironcontrol.view.logger.LoggerPopUp.java
de.hshannover.f4.trust.ironcontrol.view.util.MetaDataEditText.java
de.hshannover.f4.trust.ironcontrol.view.util.MetaDataLinearLayout.java
de.hshannover.f4.trust.ironcontrol.view.util.MetadataValueFieldsBuilder.java
de.hshannover.f4.trust.ironcontrol.view.util.Node.java
de.hshannover.f4.trust.ironcontrol.view.util.PopUpEvent.java
de.hshannover.f4.trust.ironcontrol.view.util.PopUp.java
de.hshannover.f4.trust.ironcontrol.view.util.PromptSpinnerAdapter.java
de.hshannover.f4.trust.ironcontrol.view.util.RequiredSpinnerAdapter.java
de.hshannover.f4.trust.ironcontrol.view.util.SavePopUp.java
de.hshannover.f4.trust.ironcontrol.view.util.Util.java
de.hshannover.f4.trust.ironcontrol.view.util.ValidSpinnerAdapter.java